Foros del Web » Programando para Internet » PHP »

Consulta a MySQL de varios resultados

Estas en el tema de Consulta a MySQL de varios resultados en el foro de PHP en Foros del Web. Hola amigos! soy nuevo en este foro (para postear, porque ya he leido bastatne de aqui). Sin mas preambulos, les comento el problema que tengo: ...
  #1 (permalink)  
Antiguo 05/01/2009, 12:08
Avatar de darthcolo  
Fecha de Ingreso: enero-2009
Mensajes: 51
Antigüedad: 15 años, 3 meses
Puntos: 0
Consulta a MySQL de varios resultados

Hola amigos! soy nuevo en este foro (para postear, porque ya he leido bastatne de aqui).
Sin mas preambulos, les comento el problema que tengo:

Tengo una tabla, las principales partes son dos: Nombres de maquinas y Nombres de clientes.
Quiero consultar cuantas maquinas tiene un cliente. Lo que hago es consultar la tabla y le pido que me devuelva las maquinas que tienen al cliente X en comun.

Código PHP:
            $sql="SELECT EQ_MAQUINA FROM equipos WHERE EQ_CLIENTE LIKE '%$codcli%'";
            
$consulta mysql_query($sql);
            
$myrow mysql_fetch_array($consulta);
            echo 
"<br>";
            echo 
"TABLE EQUIPOS";
            echo 
"<br>";
            echo 
"=============";
            
$i=0;
            while(
$i<23)
                {
                echo 
"<br>";
                echo 
$myrow[$i];
                
$i=$i+1;
                } 
El problema es que no me muestra mas de una maquina!! se frena en la primera, y eso que el WHILE deberia llegar hasta 22... que estoy haciendo mal? alguien tuvo el mismo problema?

Lo que quiero es que me muestre algo asi:

MAQUINA CLIENTE
maq1 pepe
maq2 pepe
maq3 pepe

Pero lo que hace actualmente es:

MAQUINA CLIENTE
maq1 pepe
  #2 (permalink)  
Antiguo 05/01/2009, 12:20
Avatar de ToLeR  
Fecha de Ingreso: noviembre-2008
Ubicación: Laboratorio La Ratonera
Mensajes: 48
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Consulta a MySQL de varios resultados

Prueba poniendo esto:

Código PHP:
$sql="SELECT EQ_MAQUINA FROM equipos WHERE EQ_CLIENTE LIKE '%$codcli%'";
            
$consulta mysql_query($sql);           
            echo 
"<br>";
            echo 
"TABLE EQUIPOS";
            echo 
"<br>";
            echo 
"=============";
            
$i=0;
            while(
$row=mysql_fetch_array($consulta))
                {
                echo 
"<br>";
                
$campo=$row['EQ_MAQUINA'];
                echo
"$campo";
                
                } 
Lo que hace esto es ir asignando en $row una lina por cada vuelta que da. Y despues dentro asignas el campo EQ_MAQUINA a la variable $campo. Si tuveras mas variables en esa linea, tambien las podrias extraer.
  #3 (permalink)  
Antiguo 05/01/2009, 12:24
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
Respuesta: Consulta a MySQL de varios resultados

Primero:
Cita:
EQ_CLIENTE LIKE '%$codcli%'
Aquí lo asocias por id de cliente o por el nombre?, si es por el id, deberías colocar = y no like.
Segundo:
Porque hasta 23?
Crea un while cuyo limite sea la cantidad de datos que resulto la consulta:
Cita:
while($item = mysql_fetch_assoc($result))
de esta forma.

Saludos

EDITO: Disculpa ToLeR
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #4 (permalink)  
Antiguo 05/01/2009, 12:25
Avatar de darthcolo  
Fecha de Ingreso: enero-2009
Mensajes: 51
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Consulta a MySQL de varios resultados

Cita:
Iniciado por ToLeR Ver Mensaje
Prueba poniendo esto:

Código PHP:
$sql="SELECT EQ_MAQUINA FROM equipos WHERE EQ_CLIENTE LIKE '%$codcli%'";
            
$consulta mysql_query($sql);           
            echo 
"<br>";
            echo 
"TABLE EQUIPOS";
            echo 
"<br>";
            echo 
"=============";
            
$i=0;
            while(
$row=mysql_fetch_array($consulta))
                {
                echo 
"<br>";
                
$campo=$row['EQ_MAQUINA'];
                echo
"$campo";
                
                } 
Lo que hace esto es ir asignando en $row una lina por cada vuelta que da. Y despues dentro asignas el campo EQ_MAQUINA a la variable $campo. Si tuveras mas variables en esa linea, tambien las podrias extraer.
No puedo para de llorar de la emocion!!!! MUCHISIMAS GRACIAS!!!
Estuve renegando bastante, quizas demasiado, y no vi la simple solucion...
Muchas gracias por tu pronta respuesta y por la solucion. :apla uso:
  #5 (permalink)  
Antiguo 05/01/2009, 12:29
Avatar de darthcolo  
Fecha de Ingreso: enero-2009
Mensajes: 51
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Consulta a MySQL de varios resultados

Cita:
Iniciado por the_web_saint Ver Mensaje
Primero:

Aquí lo asocias por id de cliente o por el nombre?, si es por el id, deberías colocar = y no like.
Segundo:
Porque hasta 23?
Crea un while cuyo limite sea la cantidad de datos que resulto la consulta:


de esta forma.

Saludos

EDITO: Disculpa ToLeR
No entiendo bien la diferencia entre usar = y LIKE.
Probe usando = pero la consulta no se comportaba como yo esperaba. Usando el LIKE hace lo que quiero.
Esto presentará problemas en el futuro?
  #6 (permalink)  
Antiguo 05/01/2009, 12:46
Avatar de ToLeR  
Fecha de Ingreso: noviembre-2008
Ubicación: Laboratorio La Ratonera
Mensajes: 48
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Consulta a MySQL de varios resultados

De nada darthcolo. Esto es cuestion de practica.
  #7 (permalink)  
Antiguo 05/01/2009, 13:08
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
Respuesta: Consulta a MySQL de varios resultados

Cita:
Iniciado por darthcolo Ver Mensaje
No entiendo bien la diferencia entre usar = y LIKE.
Probe usando = pero la consulta no se comportaba como yo esperaba. Usando el LIKE hace lo que quiero.
Esto presentará problemas en el futuro?
Bueno por lo general LIKE se usa para comparar cadenas, es como buscar un cierto patrón en la comparación, pero si es números, es decir, que es id numérico, no hace falta LIKE, sino =.

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #8 (permalink)  
Antiguo 05/01/2009, 13:12
Avatar de darthcolo  
Fecha de Ingreso: enero-2009
Mensajes: 51
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Consulta a MySQL de varios resultados

Cita:
Iniciado por the_web_saint Ver Mensaje
Bueno por lo general LIKE se usa para comparar cadenas, es como buscar un cierto patrón en la comparación, pero si es números, es decir, que es id numérico, no hace falta LIKE, sino =.

Saludos
Ahhh perfecto... debo comparar variables alfanumericas, asi que me quedo con el LIKE entonces.
Muchas gracias!!
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 19:09.