Foros del Web » Programando para Internet » PHP »

Ayuda Con Formulario

Estas en el tema de Ayuda Con Formulario en el foro de PHP en Foros del Web. Hola tengo una duda, quiero realizar una consulta en php y mysql y el resultado de la consulta alamacenarlo dentro de un combo box que ...
  #1 (permalink)  
Antiguo 05/05/2005, 03:29
 
Fecha de Ingreso: abril-2005
Mensajes: 93
Antigüedad: 12 años, 7 meses
Puntos: 0
Ayuda Con Formulario

Hola tengo una duda, quiero realizar una consulta en php y mysql y el resultado de la consulta alamacenarlo dentro de un combo box que tengo en un formulario me podrian ayudar.

Esta es lo consulta que hago:
$d=mysql_connect("localhost","root");
mysql_select_db("Xarxes", $d);

$a = mysql_query("SELECT e.CIF FROM expositors e WHERE e.CIF=$cif ", $d);
y quiero que el resultado salga en un combobox.

Este es todo el archivo php que tengo quiero que dentro del select cif salgan el resultado de esta consulta.


CODIGO ASSIGNAR.PHP:
<html>
<head><title>assignar stand</title></head>
<body>
<form method="GET">

<h1><center><b>Assignar stand a un expositor</b></center></h1>

<table border="0" cellpadding="3" cellspacing="0">
<tr valign="top">
<td> <b>CIF expositor:</b> </td>
<td><select name="cif" MULTIPLE>
<OPTION VALUE=>
</td>
</tr>

<tr valign="top">
<td> <b>NOM:</b> </td>
<td><input name="nom" type="text" size=10></td>
</tr>

<tr valign="top">
<td> <b>DIRECCIO:</b> </td>
<td><input name="direccio" type="text" size=30></td>
</tr>

<tr valign="top">
<td> <b>PROVINCIA:</b> </td>
<td><input name="provincia" type="text" size=10></td>
</tr>

<tr valign="top">
<td> <b>CODIPOSTAL:</b> </td>
<td><input name="cp" type="text" size=10></td>
</tr>



<tr valign="top">

<td> &nbsp; </td>
<td>
<input type="submit" value="ACCEPTAR" name=ENVIAR></textarea>
<input type="submit" value="CANCEL-LAR" name=cancel></textarea>
</td>
</tr>

<?php

if($ENVIAR){


$d=mysql_connect("localhost","root");
mysql_select_db("Xarxes", $d);

$a = mysql_query("SELECT e.CIF FROM expositors e WHERE e.CIF=$cif ", $d);
if($row=mysql_fetch_array($a)){
$n=mysql_query("SELECT s.NPAB FROM stands s WHERE s.CIF=0", $d);
$sql = mysql_query("UPDATE stands SET OCUPAT=1, CIF='$cif' WHERE NPAB= '$n[0]'",$d);
echo "Gracias!! Hemos recibido sus datos";
}

else{

$sql=mysql_query("INSERT INTO expositors(CIF,NOM,DIRECCIO,PROVINCIA,CODIPOSTAL)V ALUES('$cif','$nom','$direccio','$provincia','$cp' )",$d);
$b=mysql_query("SELECT s.IDENTIFICADOR,s.SUPERFICIE,s.NPAB FROM stands s WHERE s.OCUPAT=0", $d);
$row1=mysql_fetch_array($b);
$m=mysql_query("SELECT s.NPAB FROM stands s WHERE s.CIF=0", $d);
$sql = mysql_query("UPDATE stands SET OCUPAT=1 where NPAB='$m[0]' ",$d);
echo "Gracias, hemos recibido sus datos";
}
}

?>

</table>
</form>

<CENTER><A HREF="inicio.html">TORNAR A INICI</A></CENTER>

</body>
</html>

Gracias!!!
  #2 (permalink)  
Antiguo 05/05/2005, 09:33
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Debes generar tu "código HTML" a partir de los datos que obtienes de tu consulta SQL ..

Si te fijas en la sintax HTML de un "combo" no es más que

<select name="nombre">
<option name="valor">opcion1</option>
<option name="valor">opcion2</option>
</select>

Así que tienes que conseguri reproducir ese con tus resultados que obtienes de tu BD .. así "generas" (no "cargar" sino generar .. ) ese HTML.
Código PHP:
$d=mysql_connect("localhost","root");
mysql_select_db("Xarxes"$d);

echo 
"<select name=\"nose\">";
$a mysql_query("SELECT e.CIF FROM expositors e WHERE e.CIF=$cif "$d);
while (
$row=mysql_fetch_array($a)){
    echo 
"<option name=\"".$row['???']."">".$row['???']."</option>";
}
echo "
</select>"; 
Pero .. tendrás que ajustar tu consulta SQL .. y donde dice ??? usar el nombre del campo que quieres que pase como valor al seleccionarlo y al otro ??? el nombre del campo de tu tabla que tenga que ser "visualizado" en tu combo. Por qué .. teóricamente .. esto:
$a = mysql_query("SELECT e.CIF FROM expositors e WHERE e.CIF=$cif ", $d);

devuelve un sólo registro? .. y si devuelve más de uno .. todo lo que entrega es igual (sólo obtienes el mismo campo que "filtras" en el WHERE).

Un saludo,
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 11:49.