It does not respect values of my Database

0

I have a problem this is a part of my form to edit, in my code I use select to make a catalog but when editing any field and save it takes the first option of the select. How do I respect the data of the select that had previously been entered and save respect those fields?

    <h2> Administración de equipos registrados</h2> 
    <div class="well well-small">
    <hr class="soft"/>
    <h4>Edición de equipos</h4>
    <div class="row-fluid">

    <?php
    extract($_GET);
    require("connect_db.php");

    $sql="SELECT * FROM equipos WHERE ID=$ID";
//la variable  $mysqli viene de connect_db que lo traigo con el require("connect_db.php");
    $ressql=mysqli_query($mysqli,$sql);
    while ($row=mysqli_fetch_row ($ressql)){
            $ID=$row[0];
            $etiqueta_equipo=$row[1];
            $departamento=$row[2];
            $id_estatus=$row[3];
            $id_tipo_equipo=$row[4];
            $id_estado_equipo=$row[5];
            $observaciones=$row[6];
            $marca=$row[7];
            $modelo=$row[8];
            $caracteristicas=$row[9];
            $ip_equipo=$row[10];
            $identificador=$row[11];
        }



    ?>



    <form action="ejecutaactualizar_equipos.php" method="post">
            Id<br><input type="text" name="ID" value= "<?php echo $ID?>" readonly="readonly"><br>
            Etiqueta del equipo<br> <input type="text" name="etiqueta_equipo" value="<?php echo $etiqueta_equipo?>"><br>
            Departamento<br> <input type="text" name="departamento" value="<?php echo $departamento?>"><br>
            Estatus<br> <select   name="id_estatus" value="<?php echo $id_estatus?>">
            <option value="Entregado">Entregado</option> 
             <option value="Pendiente">Pendiente</option>
              <option value="Resguardo">Resguardo</option>
               <option value="Baja">Baja</option>
                </select>
                 <br>
            Tipo del Equipo<br> <select  name="id_tipo_equipo" value="<?php echo $id_tipo_equipo?>">
             <option value="CPU">CPU</option> 
              <option value="Monitor">Monitor</option>
               <option value="Impresora">Impresora</option>
                <option value="Scanner">Scanner</option>
                 <option value="Reulador">Regulador</option>
                  <option value="Teclado">Teclado</option>
                   <option value="Mouse">Mouse</option>
                    </select>
                      <br>
            Estado del Equipo<br> <select  name="id_estado_equipo" value="<?php echo $id_estado_equipo?>">
             <option value="Bueno">Bueno</option> 
              <option value="Regular">Regular</option>
               <option value="Malo">Malo</option>
                </select>
                 <br>
            Observaciones<br> <input type="text" name="observaciones" value="<?php echo $observaciones?>"><br>
            Marca<br> <input type="text" name="marca" value="<?php echo $marca?>"><br>
            Modelo<br> <input type="text" name="modelo" value="<?php echo $modelo?>"><br>
            Caracteristicas<br> <input type="text" name="caracteristicas" value="<?php echo $caracteristicas?>"><br>
            IP del Equipo<br> <input type="text" name="ip_equipo" value="<?php echo $ip_equipo?>"><br>
            identificador<br> 

                    <?php
               require("connect_db.php");

              $query = "SELECT DISTINCT id_usuarios, identificador FROM usuarios";
              $res = $mysqli->query($query);
              $option = '';
                 while ($row = $res->fetch_assoc())
                 {

                      $option.="<option value=\"$row[identificador]\">$row[identificador] </option>";   
                 }
           ?>

               <select name="identificador">
                  <?php echo $option; ?>
                    </select>







            <br>
            <br>
            <input type="submit" value="Guardar" class="btn btn-success btn-primary">
        </form>
    
asked by Carlos 17.04.2017 в 17:41
source

1 answer

1

You are incorrectly defining the "default" value of the select. This is your code:

<select name="id_estatus" value="<?php echo $id_estatus?>">

The select tag does not have a value property (see link ).

To pre-select the value, it is convenient to iterate each of the options and compare it with the saved value. My suggestion for your first select :

<?php $options = ['Entregado', 'Pendiente', 'Resguardo', 'Baja']; ?>

<select name="id_estatus">
    <?php foreach ($options as $option): ?>
         <?php $selected = ($option == $id_estatus) ? 'selected' : '' ?>
         <option value="<?= $option ?>" <?= $selected ?>><?= $option ?></option>
    <?php endforeach; ?>
</select>
    
answered by 17.04.2017 / 18:20
source