Programación Web y Scripting > PHP
combos en heredoc
(1/1)
valma_kelly:
Estoy tratando de mostrar dos combos con informacion de la bases de datos, como mi codigo es heredoc estuve investigando la manera de hacerlo y enontre algo pero no me muestra todos los datos, solo el ultimo no se cual es mi error haber si pueden ayudarme.
$result=mysql_query("SELECT nombre FROM $sql_tabla_e") or die(mysql_error());
if ($row = mysql_fetch_array($result)){
do {
$a1=$row;
}
while ($row = mysql_fetch_array($result));
}
...
y lo mando a llamar:
<td width="192"> <td width="192"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">
<select name="sesquema" class="selet">
<option VALUE="" selected="selected"></option>
<option value=$a1[nombre]>$a1[nombre]</option>
</select></td>
</tr>
F_Tanori:
Bueno tu codigo esta muy incompleto. y no muy bien ejemplificado, priemero no se ve donde implementas heredoc
tampoco se ve que utilices las etiquetas php, para imprimir los datos, y estas cometiendo 2 errores basicos
--- Código: PHP ---$result=mysql_query("SELECT nombre FROM $sql_tabla_e") or die(mysql_error()); if ($row = mysql_fetch_array($result)){ #<--- Aqui mandas llamar el primer registro do { $a1=$row; } while ($row = mysql_fetch_array($result)); #<--- Pasando el If ya estaria el cursor en el segundo registro}
--- Código: PHP ---<td width="192"> <td width="192"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><select name="sesquema" class="selet"><option VALUE="" selected="selected"></option><option value='<?php echo $a1[nombre]; ?>'><?php echo $a1[nombre]; ?></option></select></td></tr>
Dentro del ciclo estas sobreescribiendo la variable a1 por eso solo te deja el ultimo dato
debes de imprimirlas todas o concatenar
Prueba de esta manera
--- Código: PHP ---<td width="192"> <td width="192"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><select name="sesquema" class="selet"><option VALUE="" selected="selected"></option> <?php $result=mysql_query("SELECT nombre FROM $sql_tabla_e") or die(mysql_error()); while ($row = mysql_fetch_array($result)){ echo "<option value='".$row ['nombre']."'>".$row ['nombre']."</option>"; } } ?> </select></td>
Saludos
valma_kelly:
no habia puesto la parte del heredoc porque es un poco amplio el codigo, lo he intentado de la forma que me dices pero como es heredoc pues no evalua las intrucciones de php para el combo en la parte del select, te ejemplifico un combo, aqui ya est la parte del heredoc
--- Código: PHP ---$result=mysql_query("SELECT nombre FROM $sql_tabla_e") or die(mysql_error());if ($row = mysql_fetch_array($result)){ do { $a1=$row; } while ($row = mysql_fetch_array($result)); }if ($_GET['accion']=="nivel"){cabeceraHTML();$id_mod_nivel= $_GET['id_ven'];$vende_consulta = mysql_query("SELECT ID_VEN,nombre,DATE_FORMAT(fe_nac, '%d/%m/%Y') As fechaN,DATE_FORMAT(fe_ing, '%d/%m/%Y') As fechaI,esquema,clave,supervisor FROM $sql_tabla_v WHERE id_ven=$id_mod_nivel") or die("No se pudo realizar la consulta a la Base de datos");while($resultados = mysql_fetch_array($vende_consulta)) { echo <<< HTML<tr bgcolor="#B1D5E5"> <td width="185"> <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Fecha de Ingreso: </font></div> </td> <td width="192"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#000000">$resultados[fechaI]</font> </font></b></td> </tr> <tr bgcolor="#B1D5E5"><td width="185"><div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Esquema de comision: </font></div></td><td width="192"> <td width="192"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1"> <select name="sesquema" class="selet"><option VALUE="" selected="selected"></option><option value=$results[nombre]>$a1[nombre]</option> </select></td></tr> </font></b></td> </tr> </table></form>while ($row = mysql_fetch_array($result))HTML;}mysql_free_result($vende_consulta);mysql_close();}}
si creo que el error esta en el ciclo del arreglo que leva los registros de la consulta.
Navegación
Ir a la versión completa