Foros del Web » Programando para Internet » PHP »

problema al publicar datos de consulta en campo select

Estas en el tema de problema al publicar datos de consulta en campo select en el foro de PHP en Foros del Web. ola, tengo este script Código: <?php //conecta a la base de datos $mysql_id = mysql_connect('miserver', 'user', '*****'); mysql_select_db('everestltda', $mysql_id); $sql="SELECT * FROM vehiculo order by ...
  #1 (permalink)  
Antiguo 30/12/2008, 18:44
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 22 años, 10 meses
Puntos: 20
problema al publicar datos de consulta en campo select

ola, tengo este script

Código:
<?php 
//conecta a la base de datos
$mysql_id = mysql_connect('miserver', 'user', '*****');
mysql_select_db('everestltda', $mysql_id);

$sql="SELECT * FROM vehiculo order by placa";
$ejecuta = mysql_query($sql) or die (mysql_error());

$sql2="SELECT * FROM contratante order by Empresa";
$ejecuta2 = mysql_query($sql2) or die (mysql_error());
?>
<body>
<form id="form1" name="form1" method="get" action="pdf.php">
  <label>
  <div align="center">A continuacion por favor ingrese la placa del vehiculo para el cual desea generar un extracto de contrato<br /> 
    Nota: ingrese la placa de la siguiente manera XXX 000 <br />
    placa
<?php 
while ($row = mysql_fetch_assoc($ejecuta)){
      $row2 = mysql_fetch_assoc($ejecuta2);

?>    

<table>
<tr>
	<td>Placa Vehiculo</td>
	<td><SELECT name="placa">
<?php
$placa=$row['placa'];
$placa1=$row['placa'];
$empresa=$row2['Empresa'];
$empresa2=$row2['Empresa'];
?>
	    <OPTION VALUE="<?php echo $placa1; ?>"><?php echo $placa;?> </option>
</tr>
<tr>
	<td>Contratante</td>
	<td><SELECT name="empresa">
	    <OPTION VALUE="<?php echo $empresa1; ?>"><?php echo $empresa;?> </option>
</tr>
<tr>
	<td colspan="2"><label>
    <input type="submit" name="Submit" value="Enviar" />
    </label></td>
	
</tr>



<?php
}
?>
</form>
</body>
</html>

Lo que pasa es que cuando lo corro el me saca tantos campos de tipo selct como datos existan en la bd y la idea es que me los meta todos en un mismo campo, por ejemplo todas las placas en un solo campo que se llame placa y todas las empresas en uno que se llame empresa

si quieren ver como me esta funcinando el enlace es http://www.everestltda.com/extract/busca_placa.php
__________________
Say no more.......
  #2 (permalink)  
Antiguo 30/12/2008, 19:31
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: problema al publicar datos de consulta en campo select

Pues lo que tienes que hacer es cambiar el while para que se ejecute dentro del <select> para que ahi se impriman las opciones:
Código php:
Ver original
  1. <select name="foo">
  2. <?php while( $row = mysql_fetch_array($result)) { ?>
  3. <option value="<?php echo $row[0]; ?>"><?php echo $row[1]; ?></option>
  4. <?php } ?>
  5. </option>

Saludos.
  #3 (permalink)  
Antiguo 30/12/2008, 19:39
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 22 años, 10 meses
Puntos: 20
Respuesta: problema al publicar datos de consulta en campo select

lo puse asi
Código:
<OPTION VALUE="<?php echo $row['placa']; ?>"><?php echo $row['placa'];?> </option>
</tr>
<tr>
	<td>Contratante</td>
	<td><SELECT name="empresa">
	    <OPTION VALUE="<?php echo $row2['Empresa']; ?>"><?php echo $row2['empresa'];?> </option>
</tr>
<tr>
y no me imprime nada
__________________
Say no more.......
  #4 (permalink)  
Antiguo 30/12/2008, 20:02
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: problema al publicar datos de consulta en campo select

Código PHP:
    <td><SELECT name="empresa">
        <OPTION VALUE="<?php echo $row2['Empresa']; ?>"><?php echo $row2['empresa'];?></option>
Y el while($row = leer_de_la_base_de_datos) donde quedo?
Tambien falta el cierre del select y del td
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 30/12/2008, 20:03
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 22 años, 10 meses
Puntos: 20
Respuesta: problema al publicar datos de consulta en campo select

ya lo cuadre lo tengo asi
Código:
<td><SELECT name="empresa">
<?php 
$sql2="SELECT * FROM contratante order by Empresa";
$ejecuta2 = mysql_query($sql2) or die (mysql_error());
while ($row2 = mysql_fetch_assoc($ejecuta2)){

?>
	    <OPTION VALUE="<?php echo $row2['Empresa']; ?>"><?php echo $row2['Empresa'];?> </option>
</tr>
<tr>
<?php
}
?>
pero solo me trae un resultado de los que hay en la bd
__________________
Say no more.......
  #6 (permalink)  
Antiguo 30/12/2008, 20:22
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: problema al publicar datos de consulta en campo select

Código PHP:
<?php
while ($row2 mysql_fetch_assoc($ejecuta2)) {
    echo 
"<option value=\"{$row2['Empresa']}\">{$row2['Empresa']}</option>\n";
?>
      </select>
      </td>
</tr>
__________________
- León, Guanajuato
- GV-Foto
  #7 (permalink)  
Antiguo 31/12/2008, 09:11
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 22 años, 10 meses
Puntos: 20
Respuesta: problema al publicar datos de consulta en campo select

mm no asi tampoco me lo trajo, este lo tengo asi
Código:
	<td><SELECT name="empresa">
<?php 
$sql2="SELECT * FROM contratante order by Empresa";
$ejecuta2 = mysql_query($sql2) or die (mysql_error());
while ($row2 = mysql_fetch_assoc($ejecuta2)){

?>
	    <OPTION VALUE="<?php echo $row2['Empresa']; ?>"><?php echo $row2['Empresa'];?> </option>
</tr>
<tr>
<?php
}
?>
y solo me trae un resultado de la BD

y en el mismo script tengo este otro
Código:
<td><SELECT name="placa">
<?php
$sql="SELECT * FROM vehiculo order by placa";
$ejecuta = mysql_query($sql) or die (mysql_error());
while ($row = mysql_fetch_assoc($ejecuta)){

  

?>
<OPTION VALUE="<?php echo $row['placa']; ?>"><?php echo $row['placa'];?> </option>
<?php
}
?>
y este si me trae toos los resultados que le pasara al primero?
__________________
Say no more.......
  #8 (permalink)  
Antiguo 31/12/2008, 10:25
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: problema al publicar datos de consulta en campo select

Pues tu problema es que estas malformando el HTML, si te fijas adentro del while estas cerrando el </option> y el </tr>, eso causa que tu select te quede mas o menos asi:
Código html:
Ver original
  1. <select name="empresa">
  2. <option value="foo">bar</option>
  3. </tr>
  4. <option value="foo2">baz</option>
  5. </tr>
  6. <option value="foo3">bazz</option>
  7. </tr>

Al cerrar el </tr> estas rompiendo con la estructura del HTML.

Saludos.
  #9 (permalink)  
Antiguo 31/12/2008, 10:46
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 22 años, 10 meses
Puntos: 20
Respuesta: problema al publicar datos de consulta en campo select

perfecto precisamente eso era lo que tenia mal ya quedo funcionando bien, por si alguien lo necesita quedo asi
Código PHP:
<td><SELECT name="empresa">
<?php 
$sql2
="SELECT * FROM contratante order by Empresa";
$ejecuta2 mysql_query($sql2) or die (mysql_error());
while (
$row2 mysql_fetch_assoc($ejecuta2)){

?>
        <OPTION VALUE="<?php echo $row2['Empresa']; ?>"><?php echo $row2['Empresa'];?> 
<?php
}
?>
</option>
</tr>
__________________
Say no more.......
  #10 (permalink)  
Antiguo 31/12/2008, 10:59
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: problema al publicar datos de consulta en campo select

Ese </option> al final también va a romper con la estructura.

Si no sabes de HTML, te recomiendo leas un libro básico, deja a un lado lo de PHP, PHP solo es para imprimir HTML, y si imprimes el HTML de forma incorrecta te vas a encontrar con muchos errores.

La sintaxis correcta de un select es:
Código html:
Ver original
  1. <select name="empresa">
  2.     <option value="foo">bar</option>
  3.     <option value="foo2">baz</option>
  4.     <option value="foo3">bazz</option>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:09.