Foros del Web » Programando para Internet » PHP »

Error planteo en consulta a mysql

Estas en el tema de Error planteo en consulta a mysql en el foro de PHP en Foros del Web. Hola amigos de FDW, tengo un problema que no entiendo el por qué y espero puedan ayudarme. Primero, la introducción al asunto: Quiero mostrar en ...
  #1 (permalink)  
Antiguo 19/07/2012, 21:37
 
Fecha de Ingreso: febrero-2010
Mensajes: 107
Antigüedad: 14 años, 2 meses
Puntos: 0
Error planteo en consulta a mysql

Hola amigos de FDW, tengo un problema que no entiendo el por qué y espero puedan ayudarme.

Primero, la introducción al asunto:
Quiero mostrar en una tabla, los amigos de un usuario..
Mi tabla de relaciones la tengo como "de" "para" y el estado 1 es qe son amigos (no se me ocurrio como plantear mejor la relacion de que sean amigos en otra tabla)...
Entonces, lo que quiero es que busque todos los resultados donde este el usuario y el estado sea uno...

luego con la id del amigo que tiene 1 con él, qe busque en otra tabla sus datos...

Ahora el codigo:
Código PHP:
<?
// bla bla
$sql_res=mysql_query("SELECT * FROM amistad WHERE de='".$_GET['id']."' OR para='".$_GET['id']."' AND estado='1' order by id LIMIT 5");
while(
$row=mysql_fetch_array($sql_res)){ 
    if(
$row['de']!=$_GET['id']){
        
$amigoid $row['de'];
    }
    else{
        
$amigoid $row['para'];
    }

$amigo mysql_query("SELECT * FROM info_usuarios WHERE id='$amigoid' order by id LIMIT 5 ") or die(mysql_error()); 
while(
$row2=mysql_fetch_array($amigo)) 
    {
?>
        <td width="20%" ><div align="center"><a href="../perfil.php?id=<?=$row2['id']?>">
        <? if($row2['imagen']==NULL){
         echo
"<img src='../imagenes/noimagen.jpg' width='50' height='50' border='0' />"; }
         else{
         echo
"<img src='$row2[imagen]' width='50' height='50' border='0' />";
         } 
?>
         </a><br />
        <? echo"<a href='../perfil.php?id=".$row2['id']."' ><strong>".$row2['apodo']."</strong></a>"?></div></td>
<? } } ?>


La cuestion es que me muesta los amigos sin importar el estado=1 ... porque apenas se envia la solicitud de amistad, creando una fila en la tabla pero en estado 2, se muestra igual.


supongo el error está en la primer consulta, donde está el AND estado=1

Espero puedan ayudarme. Gracias!
  #2 (permalink)  
Antiguo 20/07/2012, 09:02
Avatar de exitoso23487  
Fecha de Ingreso: enero-2009
Mensajes: 49
Antigüedad: 15 años, 3 meses
Puntos: 8
Respuesta: Error planteo en consulta a mysql

Buenas amigo, una posible causa pudiese ser que te esta tomando en el primer query el "AND" solo para la segunda sentencia del "OR"; agregando los respectivos paréntesis al OR se solucionaría (en caso de ser eso)
Código PHP:
$sql_res=mysql_query("SELECT * FROM amistad WHERE (de='".$_GET['id']."' OR para='".$_GET['id']."') AND estado='1' order by id LIMIT 5"); 
Espero te sirva.
  #3 (permalink)  
Antiguo 21/07/2012, 14:49
 
Fecha de Ingreso: febrero-2010
Mensajes: 107
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Error planteo en consulta a mysql

Graciaaaas exitoso!!! era eso... no tenía muy claro lo de los paréntesis pero ahora leí un poco más por esto que me mandaste! Solucionado!

Etiquetas: mysql, sql, 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 09:17.