Foros del Web » Programando para Internet » PHP »

form con dos selects que leen valores de tablas

Estas en el tema de form con dos selects que leen valores de tablas en el foro de PHP en Foros del Web. Tengo un formulario con dos selects que cogen los valores de una tabla en la que en un campo tengo los dias y en otro ...
  #1 (permalink)  
Antiguo 21/07/2009, 02:27
Avatar de JOSANCIN  
Fecha de Ingreso: septiembre-2008
Ubicación: huesca
Mensajes: 298
Antigüedad: 15 años, 7 meses
Puntos: 0
form con dos selects que leen valores de tablas

Tengo un formulario con dos selects que cogen los valores de una tabla en la que en un campo tengo los dias y en otro campo tengo los meses, lo hago porque quiero que los dias y meses se muestren como desplegables
Por alguna razon no me funcionan los dos selects solo uno aunque si los pruebo individualmente si que funcionan
¿Me podríais decir donde esta el error y como arreglarlo? // gracias y que vaya bien
Mi codigo es:

echo "<form>";
include ("funcionesMySql.php");
$conexion=conectar("medidorg_kbank");
$resultado=consultar("Select * from tiempo order by dia");
echo "<select name='dia' id='dia'>";
while($fila=ObtenerFilaArray ($resultado)){
echo "<option value='".$fila["dia"]."'> " .$fila["dia"]. "</option>";
}
echo "</select>";
echo "<select name='mes' id='mes'>";
while($fila=ObtenerFilaArray ($resultado)){
echo "<option value='".$fila["mes"]."'> " .$fila["mes"]. "</option>";
}
echo "</select>";
desconectar($conexion);
echo "<input type=submit value=PROCESAR>";
echo "</form>";
  #2 (permalink)  
Antiguo 21/07/2009, 02:40
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: form con dos selects que leen valores de tablas

Porque el puntero del array llego al final en el primero codigo. Necesitas volver a empezar el puntero al principio del array, despues del primer while. Lee sobre reset()
  #3 (permalink)  
Antiguo 21/07/2009, 03:41
Avatar de JOSANCIN  
Fecha de Ingreso: septiembre-2008
Ubicación: huesca
Mensajes: 298
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: form con dos selects que leen valores de tablas

gracias por tu respuesta,
he mirado tu link y otros pero no llego a entenderlo. No entiendo porque cuando acaba el primes while no pasa al siguiente.
No se como indicar en mi caso en concreto,
pongo el codigo.
¿Serías tan amable de ponerme la funcion reset en mi codigo? me gustaria llegar a entenderlo bien para otras ocasiones
Gracias y que vaya bien
<?php

echo "<form>";

include ("funcionesMySql.php");
$conexion=conectar("medidorg_kbank");
$resultado=consultar("Select * from tiempo order by dia");
//solo funciona un select, preguntado forosdelweb 21/07
echo "<select name='dia' id='dia'>";
while($fila=mysql_fetch_array ($resultado)){
echo "<option value='".$fila["dia"]."'> " .$fila["dia"]. "</option>";
}
echo "</select>";


echo "<select name='mes' id='mes'>";
while($fila=mysql_fetch_array($resultado)){
echo "<option value='".$fila["mes"]."'> " .$fila["mes"]. "</option>";
}
echo "</select>";
desconectar($conexion);

echo "<input type=submit value=PROCESAR>";
echo "</form>";
?>
  #4 (permalink)  
Antiguo 21/07/2009, 08:45
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: form con dos selects que leen valores de tablas

En el primer mensaje pensaba que tenias un array porque dice

ObtenerFilaArray()

Pero en el segundo mensaje veo que es

mysql_fetch_array()

En vez de usar reset(), vas a usar mysql_data_seek(). Seria el mismo concepto que reset(), mover al puntero de la ultima linea de la base de datos a la que quieras escoger, en este caso sería la primera y lo hacemos de esta forma

Código PHP:
<?php 

echo "<form>"

include (
"funcionesMySql.php"); 
$conexion=conectar("medidorg_kbank"); 
$resultado=consultar("Select * from tiempo order by dia"); 
echo 
"<select name='dia' id='dia'>"
while(
$fila=mysql_fetch_array ($resultado)){ 
  echo 
"<option value='".$fila["dia"]."'> " .$fila["dia"]. "</option>"

echo 
"</select>"

//Esta es la linea añadida
mysql_data_seek($resultado0);

echo 
"<select name='mes' id='mes'>"
while(
$fila=mysql_fetch_array($resultado)){ 
  echo 
"<option value='".$fila["mes"]."'> " .$fila["mes"]. "</option>"

echo 
"</select>"
desconectar($conexion); 

echo 
"<input type=submit value=PROCESAR>"
echo 
"</form>"
?>
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 14:09.