0

I made 3 files (detail.php, edit.php and editdata.php)

detail.php shows the list of data from MySQL using select * from table where id='$id and it's working. But it's not working for my <select>. It still shows me the default value.

This is my db connection

<?php 
      include 'config.php';
      $id=$_GET['id'];
      $sqlTampil="select * from data_korban Where kasus_id=$id"; 
      $qryTampil=mysql_query($sqlTampil); 
      $dataTampil=mysql_fetch_array($qryTampil); 
      $data=mysql_fetch_array($qryTampil);
     ?>

Code for another form (It works)

<input type="DATE" name="tanggal" size="20" value="<?php echo $dataTampil['tanggal']; ?>">
<input type="text" name="namakorban" size="40" value="<?php echo $dataTampil['namakorban']; ?>">

The code for select form (not working) (default value = Kota Mataram and the Selected value is Lombok Tengah)

<select name="kabupaten" id="kabupaten" value="<?php echo $dataTampil['kabupaten']; ?>">
<option value="Kota Mataram">Kota Mataram</option>
<option value="Lombok Barat">Lombok Barat</option>
<option value="Lombok Tengah">Lombok Tengah</option>
<option value="Lombok Timur">Lombok Timur</option>
<option value="Lombok Utara">Lombok Utara</option>
<option value="Sumbawa Besar">Sumbawa Besar</option>
<option value="Sumbawa Barat">Sumbawa Barat</option>
<option value="Kota Bima">Kota Bima</option>
<option value="Dompu">Dompu</option>
</select>

I'm a bit confuse on how to set values in select form.

Logan Wayne
  • 6,001
  • 16
  • 31
  • 49
  • doesn't have value tag. It will get its value depending on the option selected. – Logan Wayne Mar 31 '14 at 00:04
  • Please see [Why shouldn't I use mysql_* functions in PHP?](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php) – Phil Mar 31 '14 at 00:15

1 Answers1

1

You need to remove the value attribute from your <select> element and use the selected attribute in the appropriate <option> element, for example...

<option value="Kota Mataram"
        <?= $dataTampil['kabupaten'] == 'Kota Mataram' ? 'selected' : '' ?>
>Kota Mataram</option>

You could streamline this using an array and foreach loop, eg

<select name="kabupaten" id="kabupaten">
    <?php foreach (['Kota Mataram', 'Lombok Barat', 'Lombok Tengah' ... ] as $value) :
    $selected = $dataTampil['kabupaten'] == $value ? ' selected' : '';
    $value = htmlspecialchars($value);
    ?>
    <option value="<?= $value ?>"<?= $selected ?>>
        <?= $value ?>
    </option>
    <?php endforeach ?>
</select>
Phil
  • 157,677
  • 23
  • 242
  • 245