Question

I have a simple task , and i'm using a MVC methods and CI framework for this task. I have made a view to input data to database, and it's work, and i make a 2 anchors, those are an [Update] and [Delete], the function delete is working, but the update isn't working. After user click anchor [Update], it will linked to another view(update_view), and i want to show the content which i've clicked in the (update_view). and i think it use a set_value to set a second parameter, to show a value in my update_view. This is my code in a view(update_view)

  <!-- update_view.php -->
     <!DOCTYPE html>
     <html>
        <head>
            <title></title>
        </head>
        <body>
            <h2>Update</h2>
            <?php echo form_open('site/update'); ?>
                <p>
                    <label>Judul : </label>
                    <input type="text" name="judul" id="judul" value="<?php echo set_value('judul','??')?>"/>
                </p>
                <p>
                    <label>Konten : </label>
                    <input type="text" name="konten" id="konten" size="100px" value="<?php echo set_value('konten','??')?>"/>
                </p>
                <p><input type="submit" value="Ubah" /></p>
            <?php echo form_close(); ?>
        </body>
     </html>

What should i put in input tag in value attributes, i want to show a value in input fields (judul, konten) from page before where i clicked the anchors. I still can't show a image for a view before click, because i'm still don't have 10 rep to share images. so i'will show the coding where the view(options_view) i've clicked the anchors. This below is the code in a view(options_view) :

  <!-- options_view.php -->
     <!DOCTYPE html>
     <html>
        <head>
            <title></title>
        </head>
        <body>
            <h2>Create</h2>
            <?php echo form_open('site/create'); ?>
                <p>
                    <label>Judul : </label>
                    <input type="text" name="judul" id="judul" />
                </p>
                <p>
                    <label>Konten : </label>
                    <input type="text" name="konten" id="konten" size="100px"/>
                </p>
                <p><input type="submit" value="Simpan" /></p>
            <?php echo form_close(); ?>
            <hr/>
            <h2>Read</h2>
            <?php if(isset($records)): foreach($records as $baris) : ?>
                <h3><?php echo $baris->judul ?></h3>
                <div><?php echo $baris->konten ?></div>
                <?php echo anchor("site/view_update/$baris->id","[Update]"); ?>
                <?php echo anchor("site/delete/$baris->id","[Delete]"); ?>
            <?php endforeach; ?>
            <?php else : ?>
                <h3>Tidak ada data.</h3>
            <?php endif; ?>
        </body>
     </html>

i'm still doubt, whether i should add code in my controller or my view(set_value). So anyone can help me to solve this problem. Thank's for help

Was it helpful?

Solution

set_value is codeigniter form_helper function. That helps u to print previous input value when form_validation fails.

In your case if u want to show your data u need to pass data to the view in controller.

E.G:

Controller:

$data["me"] = $this->model->getData($id);
$this->load->view("update_view",$data);

View:

<input type="text" name="judul" id="judul" value="<?php echo $me->judul;?>"/>
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top