Foros del Web » Programando para Internet » PHP »

problemas con este codigo???

Estas en el tema de problemas con este codigo??? en el foro de PHP en Foros del Web. hola amigos de fdw. tengo este select: $result_opcion= mysql_query("select num_tabla,codigo,opcion from $tabla_de_tablas"); y mis selects son algo como esto: <select name="chkUtec"> <?php $result_opcion= mysql_query("select num_tabla,codigo,opcion ...
  #1 (permalink)  
Antiguo 16/05/2006, 09:08
 
Fecha de Ingreso: abril-2006
Mensajes: 140
Antigüedad: 11 años, 8 meses
Puntos: 0
problemas con este codigo???

hola amigos de fdw.

tengo este select:

$result_opcion= mysql_query("select num_tabla,codigo,opcion from $tabla_de_tablas");

y mis selects son algo como esto:

<select name="chkUtec">
<?php

$result_opcion= mysql_query("select num_tabla,codigo,opcion from $tabla_de_tablas where num_tabla='9' and codigo != '0'");
$fila1 = 0;
$num_filas = mysql_numrows($result_opcion);
while($fila1 < $num_filas)
{
$fila = mysql_fetch_array ($result_opcion);
echo "<option value=\"".$fila['codigo']."\"";

////////////////////////////////////////////////esto es del elegido por el usuario/////////////////////////////
if($resultados[unidad] == $fila["codigo"]) { echo "selected"; }
echo ">".$fila['codigo']." ".$fila['opcion']."</option>";
$fila1++;
}

?>
</select>

y he intentado hacer que la consulta me pueda servir para varios selects,pero solamente me muestra el resultado obtenido el primer select que aparece en pantalla.
existe otro modo de poder utilizar una misma consulta para varios selects diferentes?

gracias:P
  #2 (permalink)  
Antiguo 16/05/2006, 09:18
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 11 años, 11 meses
Puntos: 0
Probaste llamando campos diferentes? para cada select
__________________
Carlos Herrera
Web Developer
www.carlos.com.ve
Para descargar archivos propios a su Teléfono Mobil? www.carlosfocus.com
  #3 (permalink)  
Antiguo 16/05/2006, 09:24
 
Fecha de Ingreso: abril-2006
Mensajes: 268
Antigüedad: 11 años, 7 meses
Puntos: 2
Es que una vez que el apuntador que indica el próximo registro de la consulta llega al final, hay que volverlo a colocar al principio para poder volver a recorrer la consulta. Esto lo podrías hacer con la función mysql_data_seek(). Por otro lado, si las opciones del select son exactamente iguales, podrías ir guardando el código html de las opciones en una variable y luego imprimir el contenido de esa variable las veces que quieras para no recorrer varias veces la consulta.
Saludos.
  #4 (permalink)  
Antiguo 16/05/2006, 09:28
Avatar de Azrael666  
Fecha de Ingreso: noviembre-2004
Mensajes: 652
Antigüedad: 13 años, 1 mes
Puntos: 1
haz la consulta aparte y vete guardando los datos y luego se los metes al select:

<?php

$result_opcion= mysql_query("select num_tabla,codigo,opcion from $tabla_de_tablas where num_tabla='9' and codigo != '0'");
$fila1 = 0;
$num_filas = mysql_numrows($result_opcion);
while($fila1 < $num_filas)
{
$fila = mysql_fetch_array ($result_opcion);
$contenido.= "<option value=\"".$fila['codigo']."\"";
if($resultados[unidad] == $fila["codigo"]) { $contenido.= "selected"; }
$contenido.=">".$fila['codigo']." ".$fila['opcion']."</option>";
$fila1++;
}

?>

cuando sales todos los options estan en $contenido, y luego haces:

<select name="chkUtec1"><? echo $contenido; ?></select>

<select name="chkUtec2"><? echo $contenido; ?></select>.
.
.
. //para todos los select que quieras

pruebalo a ver si te vale, pero yo tengo una duda... por que quieres tener varios select con los mismos datos??... igual es que te he entendido yo mal... en ese caso perdona si no es lo que tu preguntabas, intentaré buscar otra cosa en ese caso
__________________
ALOZORRO v5.0 (ahora en .es)
  #5 (permalink)  
Antiguo 16/05/2006, 09:40
 
Fecha de Ingreso: abril-2006
Mensajes: 140
Antigüedad: 11 años, 8 meses
Puntos: 0
hyola amigos
de antemano gracias por responder,pero en el formulario se ocupa el mismo select sql,por que dentro de esa tabla,hay diferentes cosas que quiero mostrar diferenciados por un codigo:P,en pocas palabras de la misma tabla muestro varios tipos de datos.

eso,grax nuevamente
  #6 (permalink)  
Antiguo 16/05/2006, 09:47
 
Fecha de Ingreso: abril-2006
Mensajes: 140
Antigüedad: 11 años, 8 meses
Puntos: 0
Cita:
Iniciado por carlosfocus
Probaste llamando campos diferentes? para cada select
sip,en mi solcuion original hago un select para cada lista,pero la consulta es a la misma tabla,pero solo se diferencia en el codigo.
lo que deseo,es poder usar el mismo "select * from $mitabla" para acceder solo una vez a la bd y no tener que hacer tantas consultas,cosa de minimizar los tiempos de repsuesta.
gracias.
  #7 (permalink)  
Antiguo 16/05/2006, 09:54
 
Fecha de Ingreso: abril-2006
Mensajes: 268
Antigüedad: 11 años, 7 meses
Puntos: 2
Las soluciones que te hemos dado sierven para tu caso. Tendrias que ir recorriendo la consulta e ir guardando en variables distintas las opciones de tus selects. Luego tendrías que imprimir esos datos dentro de las etiquetas <select> correspondientes, como te lo indicó Azrael666.
Saludos.

Código PHP:
<?php

$result_opcion
mysql_query("select num_tabla,codigo,opcion from $tabla_de_tablas where num_tabla='9' and codigo != '0'");

while(
$fila mysql_fetch_array($result_opcion))
{
$contenido1.= "<option value=\"".$fila['codigo']."\""
if(
$resultados[unidad] == $fila["codigo"]) { $contenido1.= "selected"; } 
$contenido1.=">".$fila['codigo']." ".$fila['opcion']."</option>"

$contenido2.= "<option value=\"".$fila['otro_campo']."\""
//Y asi con para todos los select que necesites

}
?>
...
<select name="chkUtec1"><? echo $contenido1?></select>

<select name="chkUtec2"><? echo $contenido2?></select>.
Saludos.
  #8 (permalink)  
Antiguo 16/05/2006, 09:58
Avatar de Azrael666  
Fecha de Ingreso: noviembre-2004
Mensajes: 652
Antigüedad: 13 años, 1 mes
Puntos: 1
la verda que queda mucho vas vistoso, llamativo y facil de leer con lo del codigo php, tengo que acordarme de meterlo siempre con las etiquetas code jeje.
__________________
ALOZORRO v5.0 (ahora en .es)
  #9 (permalink)  
Antiguo 16/05/2006, 11:41
 
Fecha de Ingreso: abril-2006
Mensajes: 140
Antigüedad: 11 años, 8 meses
Puntos: 0
provare las soluciones dadas.
muchas gracias a todos por los aportes :)
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 07:41.