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
    19,332
    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?
    "Please give us a simple answer, so that we don't have to think, because if we think, we might find answers that don't fit the way we want the world to be."
    ~ Terry Pratchett in Nation

    eBookworm.us

  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



Recent Articles