Foros del Web » Programando para Internet » PHP »

duda con mysql_fetch_array.

Estas en el tema de duda con mysql_fetch_array. en el foro de PHP en Foros del Web. Buenas, tengo una gran duda. hasta ahora, para mostrar registros de una bd en una tabla, hacia lo siguiente: <?while ($row = mysql_fetch_array($resultados)){?> y mostraba ...
  #1 (permalink)  
Antiguo 09/12/2003, 13:37
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
duda con mysql_fetch_array.

Buenas, tengo una gran duda. hasta ahora, para mostrar registros de una bd en una tabla, hacia lo siguiente:

<?while ($row = mysql_fetch_array($resultados)){?>

y mostraba los registros de una bd.

mi problema es que ahora, no quiero que se repitan en una tabla. tengo

$sql= "SELECT * FROM equips";
$resultados= mysql_query($sql);
$row= mysql_fetch_array($resultados);


hasta aqui todo correcto. el problema es que dentro de la tabla, tengo combos diferentes, en las cuales quiero mostrar datos. ejemplo:

<select name="piscina1" class="selects" id="piscina1">
<option value="<?PHP echo $row["nombre"];?>"><?PHP echo $row["nombre"];?></option>

</select>

<select name="piscina2" class="selects" id="piscina2">
<option value="<?PHP echo $row["nombre"];?>"><?PHP echo $row["nombre"];?></option>

</select>

y quiero q me muestre de la bd, el campo nombre. pero no hay manera, solo me muestra un registro de la bd. pq sucede esto??

salu2!
  #2 (permalink)  
Antiguo 09/12/2003, 14:58
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Simplemente haz:
Código PHP:
$rowmysql_fetch_array($resultados); 
cada vez que quieras cargar $row con el contenido del registro siguiente.

mysql_fetch_array() recoge el registro al que apunta el puntero actualmente y mueve el puntero al siguiente registro.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 09/12/2003, 17:06
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
gracias Josemi, pero como te ponia arriba, es lo que hago, pero no me muestra todos los registros de la bd...

q hago mal?
  #4 (permalink)  
Antiguo 09/12/2003, 17:36
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
lo que me hace es mostrarme todos los selects con los mismo registros, solo me coge un regiustro de los que tengo en la bd...
  #5 (permalink)  
Antiguo 10/12/2003, 04:23
Avatar de jercer  
Fecha de Ingreso: octubre-2003
Mensajes: 373
Antigüedad: 14 años, 1 mes
Puntos: 13
Esto no te funciona???

<select name="piscina1" class="selects" id="piscina1">
<?while ($row = mysql_fetch_array($resultados)){?>
<option value="<?PHP echo $row["nombre"];?>"><?PHP echo $row["nombre"];?></option>
<?}?>
</select>

<?$row= mysql_fetch_array($resultados);?>

<select name="piscina2" class="selects" id="piscina2">
<?while ($row = mysql_fetch_array($resultados)){?>
<option value="<?PHP echo $row["nombre"];?>"><?PHP echo $row["nombre"];?></option>
<?}?>
</select>
__________________
Jerónimo Cernuda
Wemaster de McAnam.com
  #6 (permalink)  
Antiguo 10/12/2003, 04:40
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
gracias por responder jercer, pero no me funciona. el primer select me lo llena perfectamente, pero el segundo me lo muestra vacio. hay una manera q si me funciona, pero tengo q crear tantos query como selects tengo, es decir, 12 consultas diferentes.. que puedo hacer?

salu2
  #7 (permalink)  
Antiguo 10/12/2003, 04:41
Avatar de jercer  
Fecha de Ingreso: octubre-2003
Mensajes: 373
Antigüedad: 14 años, 1 mes
Puntos: 13
Prueba cambiando:

<?$row= mysql_fetch_array($resultados);?>

Por:

$resultados= mysql_query($sql);
<?$row= mysql_fetch_array($resultados);?>
__________________
Jerónimo Cernuda
Wemaster de McAnam.com
  #8 (permalink)  
Antiguo 10/12/2003, 04:47
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
tengo lo siguiente:

$sql= "SELECT * FROM equips ORDER BY idequipo";
$resultados= mysql_query($sql);

y nada. el problema es que si quito el while del select, solo me muestra un registro. y si hago en cada select un while, que seria lo correcto, tengo q hacer lo siguiente:

$sql1= "SELECT * FROM equips ORDER BY idequipo";
$resultados1= mysql_query($sql1);

y en el select...

<?while ($row1 = mysql_fetch_array($resultados1)){?>

<?PHP echo $row1["nombre"];?>... y asi row2, etc...

es la unica manera q me sale. pero me gustaria encontrar la forma de no ntener q hacer 12 query diferentes...

no se q hacer mas!!
  #9 (permalink)  
Antiguo 10/12/2003, 05:06
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Vale, habia entendido que querias un select con un solo registro. Y ahora lo que te entiendo es que quieres tener n selects con todos los registros.

Lo que tienes que hacer es "resetear" el recordset entre select y select. Eso lo logras con mysql_data_seek() (www.php.net/data_seek). Algo asi:
Código PHP:
<select name="piscina1" class="selects" id="piscina1">
<?while ($row mysql_fetch_array($resultados)){?>
<option value="<?PHP echo $row["nombre"];?>"><?PHP echo $row["nombre"];?></option>
<?}?>
</select>

<?mysql_data_seek($resultados,0);?>

<select name="piscina2" class="selects" id="piscina2">
<?while ($row mysql_fetch_array($resultados)){?>
<option value="<?PHP echo $row["nombre"];?>"><?PHP echo $row["nombre"];?></option>
<?}?>
</select>
Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #10 (permalink)  
Antiguo 10/12/2003, 05:19
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
GRACIAS Josemi!!! exacto, ese era el problema, ahora sale a la perfección. siento no haberme explicado mejor antes.

salu2!! y gracias otra vez!
  #11 (permalink)  
Antiguo 10/12/2003, 05:46
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Posiblemente seria que no lo entendi yo bien, es que no me sientan bien los lunes (si, ya se que era martes, pero como era el primer dia de curro de la semana, pues igual que el lunes).

Bueno, has aprendido una funcion nueva. Ademas de posicionarte al comienzo del recordset, tambien te permite posicionarte en cualquier registro. Eso puede ser util si por ejemplo quieres mostrar solo los registros en las posiciones multiplos de 5 (¿quien sabe si es util o no?).

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #12 (permalink)  
Antiguo 10/12/2003, 06:05
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
amigo josemi, aprovechando que te tengo por aqui, otra duda que tengo. como puedo hacer, para vincular dos selects?

es decir, una me coge las provincias, y la otra, segun la provincia, me muestre las localidades..

como seria??

Salu2
  #13 (permalink)  
Antiguo 10/12/2003, 06:13
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
ferranWEB, preguntas distintas en mensajes distintos.

De todas formas, siempre es bueno revisar las FAQs: http://www.forosdelweb.com/showthrea...608#post327608

Eso si, este metodo en con recarga de pagina cada vez que cambias el valor del primer select.

Si no quieres recarga, la solucion es javascript: http://www.forosdelweb.com/showthrea...506#post538506 . Aqui simplemente llenarias los arrays javascript con los datos de la base de datos mediante PHP.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #14 (permalink)  
Antiguo 23/01/2004, 20:07
 
Fecha de Ingreso: enero-2004
Ubicación: Av. General Clement 824
Mensajes: 1
Antigüedad: 13 años, 10 meses
Puntos: 0
Hola Amigo, tengo un problema y por lo que le se que me puedes ayudar... mira tengo una base de datos en SQL bueno ya estan las tablas de los que quiero consultar y mostrar en mi hoja.

El problema esta en que son dos consultar a la vez, la primera es estas

Productos--: cuando estoy en productos veo el reporte de mi base de datos la cual mediante un formulario que hice para administralo lo voy aumentado segun los requerimientos, pero lo que no me sale es como puedo hacer para que cuando yo creo una lista mas de un producto automaticamente en la hoja ya diseñada muestre las descripciones que para eso tambien tiene un formulario a parte para editarlo.

La cosa es que cuando amunete un item se genere un link a la descripcion del item, estube probrando con darle una funcion al "id" cosa que me genere por medio de ello el link para la descripcion.

poravor ayudemnte porque ya me tiene loco todo esto.

este es mi mail para que me pueden escibir alguna respuesta

[email protected]
  #15 (permalink)  
Antiguo 25/01/2004, 02:16
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
tactoweb

Si preguntas en un tema nuevo es probable que obtengas más respuestas. No mezclemos temas o problemáticas independientes.

Y .. bueno, ya que usas un foro donde la filosofía es la de que todos aporten sus ideas y todos compartamos de esas soluciones e ideas .. mejor espera respuesta por aquí; aunque tu e-mail ya está ahí por si alguien quiere contactarte en privado.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 08:44.