www.webdeveloper.com
Results 1 to 4 of 4

Thread: rewrite These functions into Codeigniter MVC

  1. #1
    Join Date
    Sep 2013
    Posts
    19

    rewrite These functions into Codeigniter MVC

    I have this working code that is written in plain php (Meaning no framework). I would like to implement it to codeigniter, but I don't have any idea.

    The purpose of this code is: When a user selects a category from dropdown, it show extra fields at the bottom. EX If a user selects Real-estate the following fields appears; capacity (input text), rooms(select), furnished(select, yes/no).

    Ok, the main point is instead of using Show/Hide which requires a bench of html I just get all that from database.

    This is my functions.php

    PHP Code:
     function get_form_names($id) {

        
    $database = new Database();

        
    $database->query("SELECT * FROM field WHERE id_cat = :id");

        
    $database->bind(':id',$id);

        
    $database->execute();

        
    $rows $database->resultset();

        return 
    $rows;

      }


      function 
    get_form_value($id) {

       
    $database = new Database();

       
    $database->query("SELECT * FROM value WHERE energy = :id ");

       
    $database->bind(':id',$id);

       
    $database->execute();

       
    $rows $database->resultset();

      return 
    $rows;

     }


     function 
    display_form($array) {

      foreach(
    $array as $key=>$valuee) {
        
    $form_value get_form_value(htmlentities($valuee['select'],ENT_QUOTES));
        
    $id htmlentities($valuee['id'], ENT_QUOTES);
        
    $form_name "form".$id;
        if( !empty(
    $_SESSION[$form_name]) ) {
            
    $value =htmlentities($_SESSION[$form_name], ENT_QUOTES'utf-8');
            
    $value stripslashes($value);
        }else {
            
    $value " ";
        }
        echo
    " <tr>
             <td width=\"200\" valign=\"top\" height=\"30\"  >
             <div style=\"padding-top: 3px;text-align:right; \">"
    ;
        echo 
    "<span\"> ".htmlentities($valuee['disp_name'],ENT_QUOTES'utf-8')." :</span>";
        echo
    "</div>
             </td>
             <td width=\"540\" valign=\"top\" height=\"30\">
             <div style=\"padding-left: 10px;\">"
    ;
        if(
    htmlentities($valuee['type'], ENT_QUOTES) == 'txt') {
            echo
    "
            <input type=\"text\" name=\""
    .$form_name."\"";
            if( !empty(
    $value) && $value != " " ) {
                echo 
    "value=\"".$value."\">&nbsp;".htmlentities($valuee['unit'], ENT_QUOTES,  
            
    'utf-8')."";
            }else {
            echo 
    " value=\"\">&nbsp;".htmlentities($valuee['unit'], ENT_QUOTES'utf-
            8'
    )."&nbsp;&nbsp;";
            }
        }elseif(
    htmlentities($valuee['type'], ENT_QUOTES) == 'sel') {
            echo
    "
            <select name=\" "
    .$form_name."\">";
            if(
    is_array($form_value)) {
                foreach(
    $form_value as $v=>$vv) {
                    if(empty(
    $confirm)) {
                        
    $value htmlentities($vv['select'], ENT_QUOTES'utf-8');
                    }else {
                        
    $value htmlentities($_SESSION[$form_name]);
                    }
                    echo 
    "<option value=\"".$value."\" >".$value."</option>";
                }
            }
            echo
    "</select>
                "
    ;
        }
        echo 
    "
                </div>
                </td>
                </tr>"
    ;

     }

    foreach($array as $key=>$valuee) {
    $form_value = get_form_value(htmlentities($valuee['select'],ENT_QUOTES));
    $id = htmlentities($valuee['id'], ENT_QUOTES);
    $form_name = "form".$id;
    if( !empty($_SESSION[$form_name]) ) {
    $value =htmlentities($_SESSION[$form_name], ENT_QUOTES, 'utf-8');
    $value = stripslashes($value);
    }else {
    $value = " ";
    }
    echo" <tr>
    <td width=\"200\" valign=\"top\" height=\"30\" >
    <div style=\"padding-top: 3px;text-align:right; \">";
    echo "<span\"> ".htmlentities($valuee['disp_name'],ENT_QUOTES, 'utf-8')." :</span>";
    echo"</div>
    </td>
    <td width=\"540\" valign=\"top\" height=\"30\">
    <div style=\"padding-left: 10px;\">";
    if(htmlentities($valuee['type'], ENT_QUOTES) == 'txt') {
    echo"
    <input type=\"text\" name=\"".$form_name."\"";
    if( !empty($value) && $value != " " ) {
    echo "value=\"".$value."\">&nbsp;".htmlentities($valuee['unit'], ENT_QUOTES,
    'utf-8')."";
    }else {
    echo " value=\"\">&nbsp;".htmlentities($valuee['unit'], ENT_QUOTES, 'utf-
    8')."&nbsp;&nbsp;";
    }
    }elseif(htmlentities($valuee['type'], ENT_QUOTES) == 'sel') {
    echo"
    <select name=\" ".$form_name."\">";
    if(is_array($form_value)) {
    foreach($form_value as $v=>$vv) {
    if(empty($confirm)) {
    $value = htmlentities($vv['select'], ENT_QUOTES, 'utf-8');
    }else {
    $value = htmlentities($_SESSION[$form_name]);
    }
    echo "<option value=\"".$value."\" >".$value."</option>";
    }
    }
    echo"</select>
    ";
    }
    echo "
    </div>
    </td>
    </tr>";

    }
    }

    And this is the insert.php page


    PHP Code:
    if( isset($_POST['cat']) )
    {
    $cat = (int) $_POST['cat'];
    }   
    elseif( !empty(
    $_SESSION['cat']) )
    {
    $cat = (int) $_SESSION['cat'];
    }else
    $cat 0;



            <
    select name="cat" onChange="javascript:this.form.action='insert.php';  
            this.form.submit()"
    >

            <
    option value="" >Choose a category</option>
            <
    option value="1" >Real-estate</option>
            <
    option value="1" >Auto</option>

            </
    select>


           
    $field get_form_names($cat);
       if(
    is_array($field))
       {
           
    display_form($field);
       } 
    As you see, I used javascript inside the select to refresh the page. Would this be similar in Codeigniter?

  2. #2
    Join Date
    Sep 2013
    Posts
    19
    I have this working code that is written in plain php (Meaning no framework). I would like to implement it to codeigniter, but I don't have any idea.

    The purpose of this code is: When a user selects a category from dropdown, it show extra fields at the bottom. EX If a user selects Real-estate the following fields appears; capacity (input text), rooms(select), furnished(select, yes/no).

    Ok, the main point is instead of using Show/Hide which requires a bench of html I just get all that from database.

    This is my functions.php

    PHP Code:
     function get_form_names($id) {

        
    $database = new Database();

        
    $database->query("SELECT * FROM field WHERE id_cat = :id");

        
    $database->bind(':id',$id);

        
    $database->execute();

        
    $rows $database->resultset();

        return 
    $rows;

      }


      function 
    get_form_value($id) {

       
    $database = new Database();

       
    $database->query("SELECT * FROM value WHERE energy = :id ");

       
    $database->bind(':id',$id);

       
    $database->execute();

       
    $rows $database->resultset();

      return 
    $rows;

     }


     function 
    display_form($array) {

      foreach(
    $array as $key=>$valuee) {
        
    $form_value get_form_value(htmlentities($valuee['select'],ENT_QUOTES));
        
    $id htmlentities($valuee['id'], ENT_QUOTES);
        
    $form_name "form".$id;
        if( !empty(
    $_SESSION[$form_name]) ) {
            
    $value =htmlentities($_SESSION[$form_name], ENT_QUOTES'utf-8');
            
    $value stripslashes($value);
        }else {
            
    $value " ";
        }
        echo
    " <tr>
             <td width=\"200\" valign=\"top\" height=\"30\"  >
             <div style=\"padding-top: 3px;text-align:right; \">"
    ;
        echo 
    "<span\"> ".htmlentities($valuee['disp_name'],ENT_QUOTES'utf-8')." :</span>";
        echo
    "</div>
             </td>
             <td width=\"540\" valign=\"top\" height=\"30\">
             <div style=\"padding-left: 10px;\">"
    ;
        if(
    htmlentities($valuee['type'], ENT_QUOTES) == 'txt') {
            echo
    "
            <input type=\"text\" name=\""
    .$form_name."\"";
            if( !empty(
    $value) && $value != " " ) {
                echo 
    "value=\"".$value."\">*".htmlentities($valuee['unit'], ENT_QUOTES,  
            
    'utf-8')."";
            }else {
            echo 
    " value=\"\">*".htmlentities($valuee['unit'], ENT_QUOTES'utf-
            8'
    )."**";
            }
        }elseif(
    htmlentities($valuee['type'], ENT_QUOTES) == 'sel') {
            echo
    "
            <select name=\" "
    .$form_name."\">";
            if(
    is_array($form_value)) {
                foreach(
    $form_value as $v=>$vv) {
                    if(empty(
    $confirm)) {
                        
    $value htmlentities($vv['select'], ENT_QUOTES'utf-8');
                    }else {
                        
    $value htmlentities($_SESSION[$form_name]);
                    }
                    echo 
    "<option value=\"".$value."\" >".$value."</option>";
                }
            }
            echo
    "</select>
                "
    ;
        }
        echo 
    "
                </div>
                </td>
                </tr>"
    ;

     }

    PHP Code:
    foreach($array as $key=>$valuee) {
        
    $form_value get_form_value(htmlentities($valuee['select'],ENT_QUOTES));
        
    $id htmlentities($valuee['id'], ENT_QUOTES);
        
    $form_name "form".$id;
        if( !empty(
    $_SESSION[$form_name]) ) {
            
    $value =htmlentities($_SESSION[$form_name], ENT_QUOTES'utf-8');
            
    $value stripslashes($value);
        }else {
            
    $value " ";
        }
        echo
    " <tr>
             <td width=\"200\" valign=\"top\" height=\"30\"  >
             <div style=\"padding-top: 3px;text-align:right; \">"
    ;
        echo 
    "<span\"> ".htmlentities($valuee['disp_name'],ENT_QUOTES'utf-8')." :</span>";
        echo
    "</div>
             </td>
             <td width=\"540\" valign=\"top\" height=\"30\">
             <div style=\"padding-left: 10px;\">"
    ;
        if(
    htmlentities($valuee['type'], ENT_QUOTES) == 'txt') {
            echo
    "
            <input type=\"text\" name=\""
    .$form_name."\"";
            if( !empty(
    $value) && $value != " " ) {
                echo 
    "value=\"".$value."\">*".htmlentities($valuee['unit'], ENT_QUOTES,  
            
    'utf-8')."";
            }else {
            echo 
    " value=\"\">*".htmlentities($valuee['unit'], ENT_QUOTES'utf-
            8'
    )."**";
            }
        }elseif(
    htmlentities($valuee['type'], ENT_QUOTES) == 'sel') {
            echo
    "
            <select name=\" "
    .$form_name."\">";
            if(
    is_array($form_value)) {
                foreach(
    $form_value as $v=>$vv) {
                    if(empty(
    $confirm)) {
                        
    $value htmlentities($vv['select'], ENT_QUOTES'utf-8');
                    }else {
                        
    $value htmlentities($_SESSION[$form_name]);
                    }
                    echo 
    "<option value=\"".$value."\" >".$value."</option>";
                }
            }
            echo
    "</select>
                "
    ;
        }
        echo 
    "
                </div>
                </td>
                </tr>"
    ;

     }

    This is the same code as above, misspasted it.

    And this is the insert.php page


    PHP Code:
    if( isset($_POST['cat']) )
    {
    $cat = (int) $_POST['cat'];
    }   
    elseif( !empty(
    $_SESSION['cat']) )
    {
    $cat = (int) $_SESSION['cat'];
    }else
    $cat 0;



            <
    select name="cat" onChange="javascript:this.form.action='insert.php';  
            this.form.submit()"
    >

            <
    option value="" >Choose a category</option>
            <
    option value="1" >Real-estate</option>
            <
    option value="1" >Auto</option>

            </
    select>


           
    $field get_form_names($cat);
       if(
    is_array($field))
       {
           
    display_form($field);
       } 
    As you see, I used javascript inside the select to refresh the page. Would this be similar in Codeigniter?
    Last edited by NogDog; 03-14-2014 at 03:34 PM. Reason: changed quote tags to php tags

  3. #3
    Join Date
    Aug 2004
    Location
    Ankh-Morpork
    Posts
    22,335
    Well, it's all about separating things into models, views, and controllers. (Duh! )

    So those functions that call stuff from the DB are probably going to end up being methods within a model.

    Your controller would then have methods for different actions related to that page: display the form, process a submit request, whatever else applies. Those actions could potentially also be things your JavaScript might call as AJAX requests, in case that enters into the picture here -- in which case the views associated with those AJAX requests might just output JSON text instead of HTML.

    Does that help at all?
    "Well done....Consciousness to sarcasm in five seconds!" ~ Terry Pratchett, Night Watch

    How to Ask Questions the Smart Way (not affiliated with this site, but well worth reading)

    My Blog
    cwrBlog: simple, no-database PHP blogging framework

  4. #4
    Join Date
    Mar 2014
    Posts
    4
    Example:
    PHP Code:
    function getFormNames($id)
    {
        
    $this->load->database();
        
    $query $this->db->query('SELECT * FROM `field` WHERE `id_cat` = '.$id);
        return 
    $query->result_array();


Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center

"

"

X vBulletin 4.2.2 Debug Information

  • Page Generation 0.14895 seconds
  • Memory Usage 2,981KB
  • Queries Executed 13 (?)
More Information
Template Usage (33):
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_global_above_footer
  • (1)ad_global_below_navbar
  • (1)ad_global_header1
  • (1)ad_global_header2
  • (1)ad_navbar_below
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)ad_thread_first_post_content
  • (1)ad_thread_last_post_content
  • (6)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)headinclude_bottom
  • (4)memberaction_dropdown
  • (1)navbar
  • (4)navbar_link
  • (1)navbar_moderation
  • (1)navbar_noticebit
  • (1)navbar_tabs
  • (2)option
  • (4)postbit
  • (4)postbit_onlinestatus
  • (4)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available (6):
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files (26):
  • ./showthread.php
  • ./global.php
  • ./includes/class_bootstrap.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/functions_navigation.php
  • ./includes/class_friendly_url.php
  • ./includes/class_hook.php
  • ./includes/class_bootstrap_framework.php
  • ./vb/vb.php
  • ./vb/phrase.php
  • ./includes/functions_facebook.php
  • ./includes/functions_calendar.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_notice.php
  • ./packages/vbattach/attach.php
  • ./vb/types.php
  • ./vb/cache.php
  • ./vb/cache/db.php
  • ./vb/cache/observer/db.php
  • ./vb/cache/observer.php 

Hooks Called (70):
  • init_startup
  • friendlyurl_resolve_class
  • init_startup_session_setup_start
  • database_pre_fetch_array
  • database_post_fetch_array
  • init_startup_session_setup_complete
  • global_bootstrap_init_start
  • global_bootstrap_init_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • load_show_variables
  • load_forum_show_variables
  • global_state_check
  • global_bootstrap_complete
  • global_start
  • style_fetch
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • strip_bbcode
  • friendlyurl_clean_fragment
  • friendlyurl_geturl
  • forumjump
  • cache_templates
  • cache_templates_process
  • template_register_var
  • template_render_output
  • fetch_template_start
  • fetch_template_complete
  • parse_templates
  • fetch_musername
  • notices_check_start
  • notices_noticebit
  • process_templates_complete
  • friendlyurl_redirect_canonical
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • memberaction_dropdown
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • build_navigation_data
  • build_navigation_array
  • check_navigation_permission
  • process_navigation_links_start
  • process_navigation_links_complete
  • set_navigation_menu_element
  • build_navigation_menudata
  • build_navigation_listdata
  • build_navigation_list
  • set_navigation_tab_main
  • set_navigation_tab_fallback
  • navigation_tab_complete
  • fb_like_button
  • showthread_complete
  • page_templates