• Lunes 23 de Diciembre de 2024, 12:06

Autor Tema:  combos en heredoc  (Leído 1176 veces)

valma_kelly

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
combos en heredoc
« en: Jueves 26 de Marzo de 2009, 20:19 »
0
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

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: combos en heredoc
« Respuesta #1 en: Jueves 26 de Marzo de 2009, 20:56 »
0
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
  1. $result=mysql_query("SELECT nombre FROM $sql_tabla_e") or die(mysql_error());
  2.  
  3. if ($row = mysql_fetch_array($result)){ #<--- Aqui mandas llamar el primer registro
  4.     do {
  5.         $a1=$row;
  6.      } while ($row = mysql_fetch_array($result)); #<--- Pasando el If ya estaria el cursor en el segundo registro
  7. }
  8.  

Código: PHP
  1. <td width="192"> <td width="192"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">
  2. <select name="sesquema" class="selet">
  3. <option VALUE="" selected="selected"></option>
  4. <option value='<?php echo $a1[nombre]; ?>'><?php echo $a1[nombre]; ?></option>
  5. </select></td>
  6. </tr>
  7.  

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
  1. <td width="192"> <td width="192"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">
  2. <select name="sesquema" class="selet">
  3. <option VALUE="" selected="selected"></option>
  4.  <?php
  5.  
  6. $result=mysql_query("SELECT nombre FROM $sql_tabla_e") or die(mysql_error());
  7.  
  8. while ($row = mysql_fetch_array($result)){
  9.          echo "<option value='".$row ['nombre']."'>".$row ['nombre']."</option>";
  10.  }
  11.  
  12. } ?>
  13.  
  14. </select></td>
  15.  

Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

valma_kelly

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: combos en heredoc
« Respuesta #2 en: Jueves 26 de Marzo de 2009, 21:48 »
0
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
  1. $result=mysql_query("SELECT nombre FROM $sql_tabla_e") or die(mysql_error());
  2. if ($row = mysql_fetch_array($result)){
  3. do {
  4. $a1=$row;
  5. }
  6. while ($row = mysql_fetch_array($result));
  7. }
  8. if ($_GET['accion']=="nivel"){
  9. cabeceraHTML();
  10. $id_mod_nivel= $_GET['id_ven'];
  11. $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");
  12. while($resultados = mysql_fetch_array($vende_consulta)) {
  13.  
  14. echo <<< HTML
  15. <tr bgcolor="#B1D5E5">
  16.       <td width="185">
  17.         <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Fecha de Ingreso: </font></div>
  18.       </td>
  19.       <td width="192"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#000000">$resultados[fechaI]</font>
  20.         </font></b></td>
  21.     </tr>
  22.  
  23.     <tr bgcolor="#B1D5E5">
  24. <td width="185">
  25. <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Esquema de comision: </font></div>
  26. </td>
  27. <td width="192"> <td width="192"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">
  28. <select name="sesquema" class="selet">
  29. <option VALUE="" selected="selected"></option>
  30. <option value=$results[nombre]>$a1[nombre]</option>
  31.   </select></td>
  32. </tr> </font></b></td>  </tr>
  33.   </table>
  34. </form>
  35. while ($row = mysql_fetch_array($result))
  36. HTML;
  37. }
  38. mysql_free_result($vende_consulta);
  39. }
  40. }
  41.  

si creo que el error esta en el ciclo del arreglo que leva los registros de la consulta.