Foros del Web » Programando para Internet » PHP »

Utilizar resultado de una consulta para otra consulta

Estas en el tema de Utilizar resultado de una consulta para otra consulta en el foro de PHP en Foros del Web. Lo que quiero es que, al obtener de la session el id del usuario logueado, se utilize ese id en la cosulta trabajos, que contiene ...
  #1 (permalink)  
Antiguo 08/09/2008, 11:46
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 15 años, 7 meses
Puntos: 1
Utilizar resultado de una consulta para otra consulta

Lo que quiero es que, al obtener de la session el id del usuario logueado, se utilize ese id en la cosulta trabajos, que contiene un campo justamente con el id del usuario... pero esta segunda parte no puedo hacerla

he logrado lo siguiente....

Código:
$usuario = $_SESSION['MM_Username'];
mysql_select_db($database_conntrio, $conntrio);
$query_id = "SELECT clientes.User_ID FROM clientes WHERE clientes.`User`='$usuario'";
$id = mysql_query($query_id, $conntrio) or die(mysql_error());
$row_id = mysql_fetch_assoc($id);
$totalRows_id = mysql_num_rows($id);
Esto me devuelve el ID del usuario logueado....

ahora, lo que no logro hacer.. es como utilizar ese id en la siguiente consulta...

Código:
$query_trabajos = "SELECT jobs.NOMBRE, jobs.FECHA, jobs.DESCRIPCION FROM jobs WHERE jobs.User_id='$query_id' ";
$trabajos = mysql_query($query_trabajos, $conntrio) or die(mysql_error());
$row_trabajos = mysql_fetch_assoc($trabajos);
$totalRows_trabajos = mysql_num_rows($trabajos);
lo que esta de rojo es lo que quiero que se haga automaticamente, pero me tira un error la aplicacion.. me dice que
Cita:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'admin''' at line 1
sera que no se puede poner eso ahi?? la query?? trate poniendo lo que me dijo chwc,

Código:
$ididid = mysql_fetch_array($query_id); 
$idusuario = $ididid['id']; 
$query_trabajos = "SELECT jobs.NOMBRE, jobs.FECHA, jobs.DESCRIPCION FROM jobs WHERE jobs.User_id='$idusuario' ";
pero me tira este error:

Cita:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\acceso\prueba.php on line 75
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'admin''' at line 1
no se que mas hacer.. trate de todo.. .alguien sabe a que se deben los errores???
o mas facil... como utilizar el resultado de una consulta en una nueva consulta??

muchas gracias!!!

pablo.
  #2 (permalink)  
Antiguo 08/09/2008, 13:16
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Utilizar resultado de una consulta para otra consulta

Que tal locoxchacho, prueba así tu código:

Código PHP:
$usuario $_SESSION['MM_Username'];
mysql_select_db($database_conntrio$conntrio);
$query_id "SELECT User_ID FROM clientes WHERE User ='$usuario'";
$id mysql_query($query_id$conntrio) or die(mysql_error());
$row_id mysql_fetch_array($id);
$totalRows_id mysql_num_rows($id);

// Comparas con el ID
$query_trabajos "SELECT jobs.NOMBRE, jobs.FECHA, jobs.DESCRIPCION FROM jobs WHERE jobs.User_id = '$row_id[User_ID]'";
$trabajos mysql_query($query_trabajos$conntrio) or die(mysql_error());
$row_trabajos mysql_fetch_assoc($trabajos);
$totalRows_trabajos mysql_num_rows($trabajos); 
Lo que sucede es que no estas mandando el resultado del query al array, sino que estas pasando directamente ttu consulta la cual no es nada mas que un string para ello necesitas ejecutarla con mysql_query() tal como lo tienes.

Saludos.
  #3 (permalink)  
Antiguo 08/09/2008, 13:20
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Utilizar resultado de una consulta para otra consulta

ya probe eso, pero tambien me da error... el mismo... como si no interpretase el resultado de la consulta...

actualmente, no estoy en la pc de mi casa que es donde estoy haciendo el sitio... ni bien llego pongo el error que me salta cuando pongo lo que me recomendaste...

alguien conoce alguna otra forma de hacerlo?/solucion? muchas gracias a todos!!

pablo.
  #4 (permalink)  
Antiguo 08/09/2008, 13:36
Avatar de ferbux  
Fecha de Ingreso: mayo-2007
Ubicación: por ahí intentado ayudar
Mensajes: 823
Antigüedad: 16 años, 11 meses
Puntos: 6
Respuesta: Utilizar resultado de una consulta para otra consulta

Código:
$usuario = $_SESSION['MM_Username'];
mysql_select_db($database_conntrio, $conntrio);
$query_id = "SELECT clientes.User_ID FROM clientes WHERE clientes.`User`='$usuario'";
$id = mysql_query($query_id, $conntrio) or die(mysql_error());
$row_id = mysql_fetch_array($id);
$totalRows_id = mysql_num_rows($id);

$query_trabajos = "SELECT jobs.NOMBRE, jobs.FECHA, jobs.DESCRIPCION FROM jobs WHERE jobs.User_id='$row_id[0]' ";
$trabajos = mysql_query($query_trabajos, $conntrio) or die(mysql_error());
$row_trabajos = mysql_fetch_assoc($trabajos);
$totalRows_trabajos = mysql_num_rows($trabajos);
Pruebalo asi.

Saludos!!!
__________________
"Eres grande por que caminas entre gigantes"
  #5 (permalink)  
Antiguo 08/09/2008, 13:39
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Utilizar resultado de una consulta para otra consulta

Seguro que ya probaste la solución que te dí?, pues en comparación con lo que publicas aqui, que logicamente esta mal planteado

Código PHP:
$ididid mysql_fetch_array($query_id); 
$idusuario $ididid['id']; 
$query_trabajos "SELECT jobs.NOMBRE, jobs.FECHA, jobs.DESCRIPCION FROM jobs WHERE jobs.User_id='$idusuario' "
Le estas pasando al array tu consulta como tal $query_id, que como te comente no es mas que un string, lo que le tienes que pasar es el cursor como tal, creo que lo que te comente en el post tiene que funcionar, claro si la comparación y el dato del usuario estan en la BD.


Saludos.

Última edición por Carlojas; 08/09/2008 a las 15:47
  #6 (permalink)  
Antiguo 08/09/2008, 15:40
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Utilizar resultado de una consulta para otra consulta

CARLOJAS!!

Excelente lo suyooo!!!! la verdad que hace varios dias que tenia este inconveniente, y no podia resolverlo....

pero al fin pude hacerlo!!!

ya habia probado con $row_id , pero tenia mal el
Código:
$row_id = mysql_fetch_array($id);
lo correji y ahora funciona todo de marvilla!!! asique, muchisimas gracias!!!

y gracias a todos los que ayudaron...

un saludo!

pablo.
  #7 (permalink)  
Antiguo 08/09/2008, 15:50
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Utilizar resultado de una consulta para otra consulta

Rapido de reflejos, vuelvo al ruedo con otra consulta....

En la tabla trabajos, tengo un campo que es FECHA, que es la fecha de pedido, y quiero que en la consulta anterior se muestre automaticamente los trabajos de los ultimos 30 dias... como puede hacer esa clausula WHERE donde el parametro tiene que modificarse segun el dia que es hoy??? se entiende la pregunta??

espero que me puedan seguir ayudando!!! jajaja

un saludo y gracias por adelantado!!!

pablo.
  #8 (permalink)  
Antiguo 08/09/2008, 15:59
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Utilizar resultado de una consulta para otra consulta

Puedes probar algo como esto:

Código PHP:
$consulta "SELECT * FROM jobs WHERE jobs.FECHA  >= DATEADD(DAY, -30, NOW())"


Saludos.
  #9 (permalink)  
Antiguo 08/09/2008, 16:33
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Utilizar resultado de una consulta para otra consulta

No l he probado todavia, pero supongo que funciona... :) aunque si el tipo de fecha que tengo es AAAA/MM/DD HH:MM , FUNCIONARA IGUAL?? o sino como modifico en el tipo de campo de BD para que solo muestre AAAA/MM/DD sin hora y fecha??

hecha esta consulta... paso a una de las ultimas para terminar mi aplicacion web...

cada registro de la tabla 'TRABAJOS', logicamente, tiene un archivo, ya sea tanto .dpf, .doc, .jpg, etc... relacionado a ese mismo... mi idea es que en la consulta salga un link a los archivos listos para ser descargados (solo con el click que inicie la descarga)... como se puede hacer esto?? crear un link en un campo de una bd??

ME ANTICIPO NUEVAMENTE Y AGRADEZCO A LOS COLABORADORESSS!!!

Pablo.
  #10 (permalink)  
Antiguo 08/09/2008, 17:25
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Utilizar resultado de una consulta para otra consulta

PERDON por tantos msjs... pero estoy tan cerca de terminar el proyecto, que me emociona.. jajajja

con respecto a la consulta de las fechas.. me sale esto:

Cita:
FUNCTION clientes.DATEADD does not exist
clientes es la base de datos...., supongo.. ya que estoy trabajando con la tabla jobs.... ;)

que otra funcion podria utilizar para obtener un resultado similar? o que tengo que hacer para que la funcion exista???

UN SALUDO para todos los colaboradores!!!

Pablo.
  #11 (permalink)  
Antiguo 10/09/2008, 08:16
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Utilizar resultado de una consulta para otra consulta

Para cambiar el formato a AAAA/MM/DD lo puedes hacer DATE_FORMAT().y pido disculpas en la función anterior para mostrar los registros de lo ultimos 30 dias,la forma correcta es DATE_ADD(), por otro lado se supone que los archivos estan en un directorio, lo que puedes hacer o seguro ya lo tienes es en tu tabla un campo con la ruta al archivo y cuando listes tus consultas hacer algo como esto:

Código PHP:
echo "<a href= '".row['camporutaalarchivo']."'>Descargar_Archivo</a>"
Y para que te empapes mas del tema de las descargar mira este post.
http://www.forosdelweb.com/f18/consu...rchivo-623140/



Saludos.

Última edición por Carlojas; 10/09/2008 a las 08:52
  #12 (permalink)  
Antiguo 10/09/2008, 13:07
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Utilizar resultado de una consulta para otra consulta

Muchas gracias!!!

En cuanto lo implemente les comento si me salio! ;)

Suerte!

Pablo.
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 21:15.