Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

consulta multiple en mysql con php

Estas en el tema de consulta multiple en mysql con php en el foro de Mysql en Foros del Web. necesito algo como esto: es un menu que tiene algo aso contendo subcontenido1 subcontenido1.2 subcontenido contenido 2 subcontenido2 ya lo tengo funcionando asi: Código PHP: ...
  #1 (permalink)  
Antiguo 10/09/2011, 15:13
Avatar de LoUiMaNiAkO  
Fecha de Ingreso: enero-2006
Mensajes: 198
Antigüedad: 18 años, 4 meses
Puntos: 1
Pregunta consulta multiple en mysql con php

necesito algo como esto:
es un menu que tiene algo aso

contendo
subcontenido1
subcontenido1.2
subcontenido
contenido 2
subcontenido2

ya lo tengo funcionando asi:

Código PHP:

$query
="SELECT * FROM subcontenido WHERE 
IDContenido='$row[IDContenido]' AND HijoDe IS NULL ORDER BY Orden"

pero ahora quiero implementar permisos pero no se comohacerlo con los subcontenido
algo asi:

Código PHP:

 $query
="SELECT * FROM subcontenido,privilegios WHERE 
subcontenido.IDContenido='$row[IDContenido]'  AND 
privilegios.IDSubContenido=subcontenido.IDSubContenido AND 
privilegios.IDValidacion=$row_usuario[id] AND HijoDe IS NULL ORDER BY Orden"

Como le podria hacer? ya que mi codigo no funciona,
que seleccione de la tabla subcontenido los hijos del contenido pero que revise si esta en la tabla de privilegios validada para el usuario

__________________
:molesto: "Soy como dios k nunca llora y como satanas k nunca resa":molesto:

Dejate seducir por mis colmillos
  #2 (permalink)  
Antiguo 10/09/2011, 21:07
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: consulta multiple en mysql con php

Al decir que "tu codigo no funciona" te refieres a que te da un mensaje de error o a que no devuelve los resultados esperados?

Por otro lado, creo que te convendria mas usar JOIN, en lugar de tratar de leer y filtrar ambas tablas como lo estas haciendo; ejemplo:
Código SQL:
Ver original
  1. SELECT subtontenido.*, privilegios.* FROM subcontenido
  2.     JOIN privilegios ON privilegios.IDSubContenido = subcontenido.IDSubContenido
  3.         AND privilegios.IDValidacion = {$row_usuario['id']}
  4.     WHERE subcontenido.IDContenido = '{$row['IDContenido']}'
  5.         AND subcontenido.HijoDe IS NULL
  6.     ORDER BY Orden

Todo eso encerrado entre comillas dobles y recordando que al incluir elementos de un arreglo siempre debe ser entre llaves y, si la clave es alfanumerica, encerrada entre comillas simples.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 12/09/2011, 11:32
Avatar de LoUiMaNiAkO  
Fecha de Ingreso: enero-2006
Mensajes: 198
Antigüedad: 18 años, 4 meses
Puntos: 1
Respuesta: consulta multiple en mysql con php

Gracias, al decir que no funciona quiero decir que no me da los resultados, y con el codigo que me proporcionaste me arroja un error al hacer un myqsl num row
te pongo mas codigo haber si me puedes ayudar mas.


Código PHP:

 
while($row=mysql_fetch_array($res)){
  
$query="SELECT subtontenido.*, privilegios.* FROM subcontenido JOIN privilegios ON privilegios.IDSubContenido = subcontenido.IDSubContenido
  AND privilegios.IDValidacion = {$row_usuario['id']}  WHERE subcontenido.IDContenido = '{$row['IDContenido']}' AND subcontenido.HijoDe IS NULL ORDER BY Orden"
;
  
$res_1=$mysql->query($query,false);
  
$ressub2=$mysql->query($query,false);
  
$res_subsecciones=$mysql->query($query,false);
  
$numero_de_subsecciones=mysql_num_rows($res_1);
  
$secs$numero_de_subsecciones;
     if(
$secs 0){
         while(
$row_subsecciones=mysql_fetch_array($ressub2)){
            
$arreglo2[] = $row_subsecciones['Orden'];
         }
         
$minimo_sub min($arreglo2);
         
$maximo_sub max($arreglo2);
     } 
__________________
:molesto: "Soy como dios k nunca llora y como satanas k nunca resa":molesto:

Dejate seducir por mis colmillos
  #4 (permalink)  
Antiguo 13/09/2011, 20:19
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: consulta multiple en mysql con php

Tu codigo tiene problemas de PHP. No uses claves de array en una consulta SQL. O sea, no pongas:
'$row[IDContenido]'
Tomate el trabajo de crear las variables antes:
$id_contenido = $row["IDContenido"];
Y luego pasalas a la cadena sql. (Ademas te estaban faltando las comillas dentro de los corchetes)

Otra cosa: usa alias para no escribir tanto codigo:
... FROM subcontenido s JOIN privilegios p ....
  #5 (permalink)  
Antiguo 15/09/2011, 13:08
Avatar de LoUiMaNiAkO  
Fecha de Ingreso: enero-2006
Mensajes: 198
Antigüedad: 18 años, 4 meses
Puntos: 1
Respuesta: consulta multiple en mysql con php

Gracias, lo que pasa que no entiendo muy bien eso del join, pero tratare de hacerlo.
__________________
:molesto: "Soy como dios k nunca llora y como satanas k nunca resa":molesto:

Dejate seducir por mis colmillos

Etiquetas: php, tabla, usuarios
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 14:06.