Foros del Web » Programando para Internet » PHP »

Consulta con resultados multiples

Estas en el tema de Consulta con resultados multiples en el foro de PHP en Foros del Web. Tengo una consulta a una base de datos que puede devolverme multiples resultados que deben ser mostrados en pantalla y uso un código de este ...
  #1 (permalink)  
Antiguo 15/01/2013, 09:57
 
Fecha de Ingreso: mayo-2007
Mensajes: 256
Antigüedad: 16 años, 11 meses
Puntos: 3
Consulta con resultados multiples

Tengo una consulta a una base de datos que puede devolverme multiples resultados que deben ser mostrados en pantalla y uso un código de este tipo:

Código PHP:
$result=mysql_query("select * from miembros where nombre='luis'");
while (
$row=mysql_fetch_array($result)){
$nombre=$row["nombre"].' '.$row["apellido1"].' '.$row["apellido2"];
echo 
$nombre;

Ahora bien, puede no haya resultados y quiero poner una condición segun la cual si hay resultados ponga la lista y si no hay resultados haga otra cosa. Pero no consigo que me funcione. He estado probando con código asi como:

Código PHP:
$result=mysql_query("select * from miembros where nombre='luis'");
if (
mysql_fetch_array($result)!=""){
while (
$row=mysql_fetch_array($result)){
$nombre=$row["nombre"].' '.$row["apellido1"].' '.$row["apellido2"];
echo 
'<p>'.$nombre.'</p>';
}else{
echo 
'<p>No hay resultados</p>';
}

Pero al usar esto cuando me pone la lista de nombres se salta el primero que es el que ha comparado.
  #2 (permalink)  
Antiguo 15/01/2013, 10:00
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: Consulta con resultados multiples

PHP ya tiene una función que te va perfecta porque devuelve el número de filas de la consulta ;)
__________________
Aviso: No se resuelven dudas por MP!
  #3 (permalink)  
Antiguo 15/01/2013, 12:32
 
Fecha de Ingreso: mayo-2007
Mensajes: 256
Antigüedad: 16 años, 11 meses
Puntos: 3
Respuesta: Consulta con resultados multiples

Perdona Malenko pero no entiendo muy bien como funciona esa función. En cualquier caso mi problema se original con una consulta que me da un resultado null y que es la siguiente:

Código PHP:
$result=mysql_query("select * from miembros,relaciones where id_miembro=".$ficha." and id_miembro=miembro");
$persona=mysql_fetch_array($result); 
El problema lo tengo cuando en la tabla relaciones no hay entradas que correspondan a un miembro.
  #4 (permalink)  
Antiguo 15/01/2013, 12:40
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Consulta con resultados multiples

No es tan dificil de usar:

Cita:
Obtener el número de filas de un conjunto de resultados
Código PHP:
Ver original
  1. $numero_filas = mysql_num_rows($result);
  2.  
  3. if ($numero_filas > 0) {
  4. //HAY REGISTROS
  5. } else {
  6. //NO HAY REGISTROS
  7. }

http://php.net/manual/es/function.mysql-num-rows.php

Cita:
Se recomienda usar las extensiones mysqli o PDO_MySQL. No se recomienda usar la extensión mysql antigua para nuevos desarrollos, ya que ha sido declarada obsoleta a partir de PHP 5.5.0 y será eliminada en el futuro.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #5 (permalink)  
Antiguo 17/01/2013, 09:48
 
Fecha de Ingreso: mayo-2007
Mensajes: 256
Antigüedad: 16 años, 11 meses
Puntos: 3
Respuesta: Consulta con resultados multiples

Disculpad por mi tardanza al responder pero hasta esta mañana no me pude poner con esto. Muchas gracias, me sirve, pero tengo una duda y es que no entiendo que quiere decir lo que pone en la cita andresdzphp, lo de las extensiones mysqli o PDO_MySQL (que no sé lo que son) y en que modo me afectan al uso de esta función.
  #6 (permalink)  
Antiguo 17/01/2013, 11:50
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Consulta con resultados multiples

PHP ofrece 3 API para conectarse a Mysql:

- ext/mysql (la que usas actualmente obsoleta, no debería usarse)
- ext/mysqli
- PDO_MySQL

Lee esto para que te informes más:

http://php.net/manual/es/mysqlinfo.api.choosing.php
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #7 (permalink)  
Antiguo 18/01/2013, 04:12
 
Fecha de Ingreso: mayo-2007
Mensajes: 256
Antigüedad: 16 años, 11 meses
Puntos: 3
Respuesta: Consulta con resultados multiples

¿Cual de ellas me recomiendas? Por lo que veo en el manual me inclino por mysqli pero realmente tampoco entiendo lo suficiente para tener muy claro hasta que punto es mejor la una que la otra.

Etiquetas: multiples, mysql, resultados
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 06:10.