Foros del Web » Programando para Internet » PHP »

Dos valores en where

Estas en el tema de Dos valores en where en el foro de PHP en Foros del Web. Buenas quiero poner al siguiente codigo dos valores en el where pero nose como hacerlo o en que fallo ya que lo hice asi: Código ...
  #1 (permalink)  
Antiguo 24/02/2012, 05:08
 
Fecha de Ingreso: noviembre-2011
Mensajes: 516
Antigüedad: 12 años, 5 meses
Puntos: 10
Dos valores en where

Buenas quiero poner al siguiente codigo dos valores en el where pero nose como hacerlo o en que fallo ya que lo hice asi:
Código PHP:
<?php 
include('config.php');
// obtengo el id de la notiica actual
$id $_GET['id'];
// Obtengo el id de la noticia anterior
$a mysql_query("select max(id) from imagenes where  id <" .$id"and id_logueado='1'");
$ida mysql_result($a,0);
mysql_free_result($a);
// Obtengo el id de la noticia siguietne
$b mysql_query("select min(id) from imagenes where  id <" .$id"and id_logueado='1'");
$idb mysql_result($b,0);
mysql_free_result($b);
// coloco los links 
if($ida=="")
{
echo 
"no hay mas";
}
echo 
"<a href=index.php?id=".$ida.">Anterior</a>";
echo 
"<a href=index.php?id=".$idb.">Siguiente</a>";  

?>
y me tiraron los siguientes errores:
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\proyecto\9\Nueva carpeta\index.php on line 7

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\proyecto\9\Nueva carpeta\index.php on line 8

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\proyecto\9\Nueva carpeta\index.php on line 11

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\proyecto\9\Nueva carpeta\index.php on line 12
Como puedo resolver esto es que nose que hago mal me podeis hechar una mano?? un saludo gracias.
  #2 (permalink)  
Antiguo 24/02/2012, 05:26
Avatar de apaxito  
Fecha de Ingreso: febrero-2012
Ubicación: Sevilla
Mensajes: 47
Antigüedad: 12 años, 2 meses
Puntos: 10
Respuesta: Dos valores en where

Buenas, te falta un espacio en las cláusulas WHERE del SELECT. Por ejemplo, la primera condición sería así:

Código PHP:
Ver original
  1. $cadena="select max(id) from imagenes where  id <" .$id. " and id_logueado='1'";
  2. $a = mysql_query($cadena);
  3. $ida = mysql_result($a,0);
__________________
Sígueme en el Blog que llevo con otros dos compañeros sobre PHP, HTML5, JavaScript, JQuery y noticias tecnológicas... http://www.inix.es/docevoltios
  #3 (permalink)  
Antiguo 24/02/2012, 05:44
 
Fecha de Ingreso: noviembre-2011
Mensajes: 516
Antigüedad: 12 años, 5 meses
Puntos: 10
Respuesta: Dos valores en where

Lo he cambiado y lo he dejado asi:
Código PHP:
Ver original
  1. <?php
  2. include('config.php');
  3. // obtengo el id de la notiica actual
  4. $id = $_GET['id'];
  5. // Obtengo el id de la noticia anterior
  6. $a = mysql_query("select max(id) from imagenes where  id_logueado='1' and id <" .$id);
  7. $ida = mysql_result($a,0,id);
  8. // Obtengo el id de la noticia siguietne
  9. $b = mysql_query("select min(id) from imagenes where  id_logueado='1' and id <" .$id);
  10. $idb = mysql_result($b,0,id);
  11. // coloco los links
  12. if($ida=="")
  13. {
  14. echo "no hay mas";
  15. }
  16. echo "<a href=index.php?id=".$ida.">Anterior</a>";
  17. echo "<a href=index.php?id=".$idb.">Siguiente</a>";  
  18. ?>
El caso es que an cambiado los errores aora son estos los errores que salen:
Warning: mysql_result() [function.mysql-result]: id not found in MySQL result index 5 in C:\AppServ\www\proyecto\9\Nueva carpeta\index.php on line 7

Warning: mysql_result() [function.mysql-result]: id not found in MySQL result index 6 in C:\AppServ\www\proyecto\9\Nueva carpeta\index.php on line 11

que tengo mal ahora si eso ya esta areglado como me dijiste?? y en los link no me muestra ningun id. gracias.
  #4 (permalink)  
Antiguo 24/02/2012, 05:55
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Respuesta: Dos valores en where

Fíjate en el error, que te dice que lo tienes en la línea 7 y 11 y esas lineas son esta: $ida = mysql_result($a,0,id); y esta: $idb = mysql_result($b,0,id);
Fíjate en esas lineas, que el error es muy visible!
  #5 (permalink)  
Antiguo 24/02/2012, 05:58
Avatar de apaxito  
Fecha de Ingreso: febrero-2012
Ubicación: Sevilla
Mensajes: 47
Antigüedad: 12 años, 2 meses
Puntos: 10
Respuesta: Dos valores en where

Asegúrate que existen registros en la tabla imagenes con índice (imagino que será tu primary-key con autoincrement).

Veo que ahora has introducido un tercer parámetro en mysql_result, id, no lo necesitas. Yo me he creado una tabla imagenes con dos campos (id y también id_logueado) y he hecho un par de pruebas y me funciona todo correctamente. Prueba a quitar este último parámetro y dime qué te aparece.

Si te sigue dando fallo necesitaría conocer la estructura de tu tabla.
__________________
Sígueme en el Blog que llevo con otros dos compañeros sobre PHP, HTML5, JavaScript, JQuery y noticias tecnológicas... http://www.inix.es/docevoltios
  #6 (permalink)  
Antiguo 24/02/2012, 06:00
 
Fecha de Ingreso: noviembre-2011
Mensajes: 516
Antigüedad: 12 años, 5 meses
Puntos: 10
Respuesta: Dos valores en where

Le quitado el id y aora ya no hay errores era tan simple como eso es que es la primera vez que uso esto $idb = mysql_result($b,0); asi lo deje, y funciona gracias.
  #7 (permalink)  
Antiguo 24/02/2012, 06:09
Avatar de apaxito  
Fecha de Ingreso: febrero-2012
Ubicación: Sevilla
Mensajes: 47
Antigüedad: 12 años, 2 meses
Puntos: 10
Respuesta: Dos valores en where

Me alegro!!
__________________
Sígueme en el Blog que llevo con otros dos compañeros sobre PHP, HTML5, JavaScript, JQuery y noticias tecnológicas... http://www.inix.es/docevoltios

Etiquetas: imagenes, mysql
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:16.