Foros del Web » Programando para Internet » PHP »

ayuda con subconsulta

Estas en el tema de ayuda con subconsulta en el foro de PHP en Foros del Web. el tema es mostrar el campo user_usuario asociado al id_usuario: la tabla usuarios: Create table "usuarios" ( "id_usuario" Integer NOT NULL, "user_usuario" Varchar(50), "pwd_usuario" Varchar(50), ...
  #1 (permalink)  
Antiguo 07/04/2010, 20:35
 
Fecha de Ingreso: agosto-2009
Mensajes: 37
Antigüedad: 14 años, 8 meses
Puntos: 0
ayuda con subconsulta

el tema es mostrar el campo user_usuario asociado al id_usuario:

la tabla usuarios:

Create table "usuarios"
(
"id_usuario" Integer NOT NULL,
"user_usuario" Varchar(50),
"pwd_usuario" Varchar(50),
"nombre_usuario" Varchar(100),
"apellido_usuario" Varchar(100),
primary key ("id_usuario")
);

la tabla cursillo_prematrimoniales:

Create table "cursillo_prematrimoniales"
(
"id_prematrimonio" Integer NOT NULL,
"id_usuario" Integer NOT NULL,
"sr_prematrimonio" Varchar(200),
"sra_prematrimonio" Varchar(200),
"parroquia_prematrimonio" Varchar(200),
"desde_prematrimonio" Date,
"hasta_prematrimonio" Date,
"sr_guia_prematrimonio" Varchar(200),
"sra_guia_prematrimonio" Varchar(200),
"fecha_emision_prematrimonio" Timestamp,
primary key ("id_prematrimonio")
);

el campo id_usuario es una clave foranea de la tabla cursillo_prematrimoniales

y este es el php:

$consulta = "select c_p.*, (select u.user_usuario from usuarios u where u.id_usuario=c_p.id_usuario) AS user_usuario from cursillo_prematrimoniales c_p ORDER BY $campo $direccion limit $limite offset $inicio";
  #2 (permalink)  
Antiguo 07/04/2010, 20:59
 
Fecha de Ingreso: agosto-2007
Mensajes: 66
Antigüedad: 16 años, 8 meses
Puntos: 1
Respuesta: ayuda con subconsulta

Código PHP:
$sql "SELECT us.*, cp.* FROM usuarios us, cursillo_prematrimoniales cp WHERE us.id_usuario = cp.id_usuario AND us.id_usuario ="$variable 
al parecer vas iniciando con mysql y php, te sugiero que para hacer tus base de datos uses mysqlworkbench, te facilitará el aprendizaje, saludos
  #3 (permalink)  
Antiguo 07/04/2010, 21:24
 
Fecha de Ingreso: agosto-2009
Mensajes: 37
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: ayuda con subconsulta

que tal amigo, probe lo que me pasaste y no me muestra el campo user_usuario, este es todo el php que tengo:

<?php
require ('../include/generic_lib.php');
$obj_db = new db();

$direccion = $_POST["dir"];
$campo = $_POST["sort"];

$limite = $_POST["limit"];
$inicio = $_POST["start"];

/*Consulta para definir la cantidad de filas, utilizada en la paginacion de la grilla*/
$consulta = "SELECT * FROM cursillo_prematrimoniales";
$obj_db->consulta($consulta);
$linea = $obj_db->tomar_fila();
$cant_lineas = $obj_db->cant_filas_res;

/*Consulta principal de la grilla*/
$consulta = "SELECT us.*, cp.* FROM usuarios us, cursillo_prematrimoniales cp WHERE us.id_usuario = cp.id_usuario AND us.id_usuario = 1";
//$consulta = "select * FROM cursillo_prematrimoniales ORDER BY $campo $direccion limit $limite offset $inicio";
$obj_db->consulta($consulta);

if($obj_db->cant_filas_res!=0) {
while($linea = $obj_db->tomar_fila())
$arr[] = $linea;
} else
$arr = array();

$myData = array('cantidadTotal' => $cant_lineas, 'datos' => $arr, 'consulta' => $consulta);

echo json_encode($myData);
?>
  #4 (permalink)  
Antiguo 07/04/2010, 21:37
 
Fecha de Ingreso: agosto-2007
Mensajes: 66
Antigüedad: 16 años, 8 meses
Puntos: 1
Respuesta: ayuda con subconsulta

hay que depurar, primero ejecuta la consulta tal cual en tu administrador sql, me refiero a phpmyadmin o el que tengas, para descartar que es fallo del query, dentro de tu codigo pon un echo a $consulta y postealo, y seguimos probando
  #5 (permalink)  
Antiguo 07/04/2010, 21:50
 
Fecha de Ingreso: agosto-2009
Mensajes: 37
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: ayuda con subconsulta

al abrir en el navegador solamente el archivo php me muestra esto, solo tengo una fila en la base de datos, estoy usando el EXTJS, pero no tengo errores ahi supongo jeje,

{"cantidadTotal":1,"datos":[{"id_usuario":"1","user_usuario":"killer","pwd_usu ario":"killer","nombre_usuario":"no se","apellido_usuario":"no se","id_prematrimonio":"197","sr_prematrimonio":"D OMINGO LESME","sra_prematrimonio":"CLAUDETE KADAR","parroquia_prematrimonio":"perpetuo socorro","desde_prematrimonio":"2010-04-01","hasta_prematrimonio":"2010-04-01","sr_guia_prematrimonio":null,"sra_guia_prematr imonio":null,"fecha_emision_prematrimonio":"2010-04-01 18:26:55"}],"consulta":"SELECT us.*, cp.* FROM usuarios us, cursillo_prematrimoniales cp WHERE us.id_usuario = cp.id_usuario AND us.id_usuario = 1"}

"user_usuario":"killer", killer es el nombre del usuario que quiero mostrar, pero me muestra solo el id_usuario, gracias de antemano, el codigo php que ejecuta toda la consulta es la que esta arriba, en el php, uso postgres 8.2
  #6 (permalink)  
Antiguo 07/04/2010, 22:07
 
Fecha de Ingreso: agosto-2007
Mensajes: 66
Antigüedad: 16 años, 8 meses
Puntos: 1
Respuesta: ayuda con subconsulta

a ver si entendi, el problema radica en que tu solo quiere ver solo al valor de user_usuario, porque veo que efectivamente si te regresa ese dato en la consulta

si solo quieres ver ese dato puedes hacer esto:
Código PHP:
json_encode(array('user_usuario')); 
o modificar la consulta

Código PHP:
$sql "SELECT us.user_usuario FROM usuarios us, cursillo_prematrimoniales cp WHERE us.id_usuario = cp.id_usuario AND us.id_usuario ="$variable 
  #7 (permalink)  
Antiguo 07/04/2010, 22:07
 
Fecha de Ingreso: agosto-2009
Mensajes: 37
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: ayuda con subconsulta

ya lo solucione amigo, con esta consulta ya me aparece lo que buscaba, de hecho el que tenia desde hace rato jeje:

$consulta = "select c_p.*, (select u.user_usuario from usuarios u where u.id_usuario=c_p.id_usuario) AS user_usuario from cursillo_prematrimoniales c_p ORDER BY $campo $direccion limit $limite offset $inicio";

la mierda estaba en un pequeño gran detalle en el javascript del EXTJS, estaba asi:

{name: 'id_usuario', mapping: 'id_usuario', type: 'int'},

y le cambie a esto y funciono:

{name: 'id_usuario', mapping: 'user_usuario', type: 'string'},

thanks por la asistencia...

Etiquetas: subconsulta
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 09:41.