Ver Mensaje Individual
  #7 (permalink)  
Antiguo 08/05/2017, 20:22
jhonnyalexander_91
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema al convertir un Select a php

Cita:
Iniciado por KATHYU Ver Mensaje
Yo lo que te puedo aconsejar es que no unas código HTML con PHP, separalos.

Código PHTML:
Ver original
  1. <select class="form-control" style="height: 40px;" name="contrato" id="contrato" >
  2.   <!-- Estas Variables vienen de tu selecte maestro -->
  3.   <option value="<?php echo $contrato; ?>"><?php echo $contrato; ?></option>
  4.   <?php
  5.     $contrato = $mysqli->query("SELECT id,nombre FROM tipo_contrato ORDER BY nombre");
  6.     while ($row = $contrato->fetch_array(MYSQLI_ASSOC)) {
  7.   ?>
  8.     <option value="<?php echo $row['id']; ?>"><?php echo $row['nombre']; ?></option>
  9.   <?php
  10.     }
  11.   ?>
  12. </select>

Incluso en el código anterior podemos meter los $row['id']; en variables $id = row['id']; y seria bastante bueno.

Y claro que habilites los errores, veas el código HTML generado y hagas var_dump()
Metiendo un poco la cucharada y sin dar solución al error, quiero añadir una sugerencia que quizá permita mejorar la legibilidad del código. Por supuesto, estoy de acuerdo en no mezclar HTML con PHP, sin embargo, en el caso de que el programador desee hacerlo, sugiero usar [URL="https://secure.php.net/manual/en/control-structures.alternative-syntax.php"]la sintaxis alternativa para estructuras[/URL]:

Código PHP:
Ver original
  1. <select class="form-control" style="height: 40px;" name="contrato" id="contrato"
  2.     <!-- Estas Variables vienen de tu selecte maestro -->
  3.     <option value="<?= $contrato ?>"><?= $contrato ?></option>
  4.     <?php $contrato = $mysqli->query("SELECT id,nombre FROM tipo_contrato ORDER BY nombre") ?>
  5.     <?php while (list ($id, $nombre) = $contrato->fetch_array(MYSQLI_ASSOC)) : ?>
  6.         <option value="<?= $id ?>"><?= $nombre ?></option>
  7.     <?php endwhile; ?>
  8. </select>

Con respecto al problema concreto, me gustaría entender el contexto, ya que es muy extraño que use una agrupación de opciones en un desplegable que no parece estar muy "categorizado" y que además tiene una opción por fuera de "las categorías", casi parecería que no tiene mucho que ver con el desplegable.