Foros del Web » Programando para Internet » PHP »

consulta mysql con php

Estas en el tema de consulta mysql con php en el foro de PHP en Foros del Web. Hola, Tengo echa esta consulta y me saca lo que yo quiero $sql="SELECT * FROM Expedientes WHERE dni=' $dniUsuarioL' "; $result = mysql_query($sql); if(isset($result) && ...
  #1 (permalink)  
Antiguo 08/06/2006, 04:39
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 11 años, 9 meses
Puntos: 0
consulta mysql con php

Hola, Tengo echa esta consulta y me saca lo que yo quiero

$sql="SELECT * FROM Expedientes WHERE dni='$dniUsuarioL'";
$result = mysql_query($sql);
if(isset($result) && mysql_num_rows($result)>0)
{
while($fila=mysql_fetch_assoc($result))
{
echo $fila['nombre']."<br>";
echo $fila['expediente']."<br>";
}
}
Con ese dato $fila['expediente'] tengo q hacer otra consulta que es seleccionar los documentos con ese valor que coge el expediente, lo pongo asi pero no funciona

$sql="SELECT * FROM Documentos WHERE expediente='$fila['expediente']'";
echo $fila['nombre']."<br>";

guardando $fila['expediente'] en una variable tampoco me sale alguien sabe cmo seria?, quiero mostrar los documentos de ese determinado usuario de dni $dniUsuarioL que hay con ese expediente q recojo en la primera consulta.o si se puede hacer de una vez la consulkta pors mejor, gracias.

las tabla clientes esta relacionada con expediente y esta a su vez con documentos...
  #2 (permalink)  
Antiguo 08/06/2006, 04:51
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 13 años
Puntos: 2
Hola JAviglez,

Fijate lo siguiente:

$sql="SELECT * FROM Documentos WHERE expediente='$fila['expediente']'";

Tenes diferentes " ' " (comillas simples) por ende el sistema se cree que:

"... WHERE expediente = '$fila[' ";

¿Entendes?

Tendrias que hacerlo asi:

$sql="SELECT * FROM Documentos WHERE expediente='".$fila['expediente']."'";

TIENE que funcionar. Yo siempre lo hago asi y me anda.

Saludos!!

PD: Fijate bien como lo codeas, por que si estas haciendo una consulta por CADA EXPEDIENTE vas a tener demasiadas consultas... tal vez te convendria hacer algunos loops tomando datos en ARRAYS (2 consultas, una por EXPEDIENTES y otra por DOCUMENTOS). Luego con esos arrays hacer un tercer loop en el que mostras el HTML.

SALUDOS!
  #3 (permalink)  
Antiguo 08/06/2006, 05:11
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 11 años, 9 meses
Puntos: 0
uff no tengo tanto nivel de MYSQL como tu.......vamos a intentar lo primero Gracias por la atención...
  #4 (permalink)  
Antiguo 08/06/2006, 06:42
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 13 años
Puntos: 2
por favor, no hay nada que agradecer ^_^

Contame si te andubo dsps.

saludos.
  #5 (permalink)  
Antiguo 08/06/2006, 06:47
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 13 años
Puntos: 2
Acordate que en PHP (no en mysql) siempre tenes que utilizar bien las comillas para marcar A DONDE EMPIEZA ALGO y A DONDE TERMINA:

$variable = " Contenido de mi variable ";

Si la variable necesita tener comillas tenes dos opciones:

$variable = " Contenido de mi ' variable ' ";

o

$variable = " Contenido de mi \"variable\" ";

Este último usa el caracter de escape " \ ".

EL PUNTO "." es un concatenador... lo usas para "fusionar" cosas dentro de un string... cuando aparece un punto el interpretador "encrusta" dentro del string el resultado de algo o una variable secundaria... ejemplo:

$nombre = " Pedro ";
$bienvenida = " Bienvenido amigo " . $nombre . " ! Gracias por visitarnos. ";

Y este es tu caso... aqui estas usando un array, por ende lo que te conviene es concatenar:

$nombres['1'] = "Pedro";
$bienvenida = " Bienvenido amigo ". $nombres['1'] . "! Gracias por visitarnos.";

Espero sirva, un saludo.
  #6 (permalink)  
Antiguo 08/06/2006, 09:31
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 11 años, 9 meses
Puntos: 0
Gracias ahora me pongo con ello, muy amable.
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 22:08.