Foros del Web » Programando para Internet » PHP »

Saber la posicion actual del result

Estas en el tema de Saber la posicion actual del result en el foro de PHP en Foros del Web. Buenas Noches. ¿Hay alguna forma de saber en que posicion esta el result cuando estoy haciendo un bucle? while($rs=mysql_array_assoc($sql)){ echo $rs[nombre]; echo metodo_q_me_diga_q_posicion_tiene_el_$rs } Ahora ...
  #1 (permalink)  
Antiguo 11/12/2003, 14:37
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.427
Antigüedad: 14 años, 6 meses
Puntos: 7
Saber la posicion actual del result

Buenas Noches.
¿Hay alguna forma de saber en que posicion esta el result cuando estoy haciendo un bucle?

while($rs=mysql_array_assoc($sql)){
echo $rs[nombre];
echo metodo_q_me_diga_q_posicion_tiene_el_$rs
}

Ahora mismo lo estoy haciendo con un contador, pero me gustaria saber si hay algun metodo.

Mi intencion es que si el $rs[nombre] coincide con otro que yo ponga, pues hacer un mysql_data_seek() y que pase al siguiente registro, por eso pregunto la fucnion.

Bueno, espero haberme explicado y que puedan ayudarme.

Nuevamente Gracias a todos.
__________________
Charlie.
  #2 (permalink)  
Antiguo 11/12/2003, 14:53
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Y si simplemte haces:

Código PHP:
while ($row=mysql_fetch_assoc($consulta)){
   if (
$row['nombre']==$nombre){
    
// haces algo .. o incluso haces break; para salir del bucle ... si no "rompes" el bucle .. continuará hasta el final de los registros entregados por tu consulta realizada.
   
}

o mejor:

Código PHP:
$sql="SELECT * FROM tabla WHERE nombre='$nombre'";
$consulta=mysql_query($sql);
while (
$row=mysql_fetch_assoc($consulta)){
echo 
$row['nombre']."<br>";

Así mostraras todos los registros que sean igual a tu $nombre .. Puedes usar también LIKE como operador en la consulta SQL para que puedas usar comodines (wilcards) tipo .. WHERE nombre LIKE '%$nombre%' .. que vendría a ser todos los registros que -contengan- $nombre ...

Y .. a todo esto .. ¿en tus tablas no guardas un identificador único con un campo autoincremantal ? (el famos "ID"). Ese sería el dato que tendrías que mostrar .. entre otras cosas por qué al ser "Unico" es identificativo de que no se repite en tu tabla. (podría ser cualquier otro campo .. pero se suele usar ese tipo "autonumérico y unico" para usarlo como referencias y a su vez indexado par mayor rendimiento de tus consultas a tu BD).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 11/12/2003 a las 14:58
  #3 (permalink)  
Antiguo 11/12/2003, 15:01
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.427
Antigüedad: 14 años, 6 meses
Puntos: 7
Si, si, tienes razón, pero bueno, mas que nada era por curiosidad si habia una funcion que me mostrase eso, pero gracias de todas formas, si no la hay, no la hay.
__________________
Charlie.
  #4 (permalink)  
Antiguo 12/12/2003, 06:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Ok, .. si tienes curiosidad .. recuerda que tenemos el manual oficial de PHP para ver que funciones sobre el tema hay .. y tambien el de SQL de Msyql .. por qué algunas veces no todo se puede hacer (o incluso es más optimo) hacerlo desde funciones PHP sino que hay que hacerlo desde comandos SQL ejecutados como una consulta cualquiera (mysql_query() ..)

Referencia de funciones sobre Mysql de PHP:
http://www.php.net/manual/en/ref.mysql.php

El manual de Mysql:
www.mysql.com

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 11:21.