Foros del Web » Programando para Internet » PHP »

ejecutar una consulta u otra

Estas en el tema de ejecutar una consulta u otra en el foro de PHP en Foros del Web. hola, mi consulta es que quiero que en funcion de si la pagina viene de llamarla por id ( http://midominio.com/noticia.php?id=1 ) ejecute una consulta y ...
  #1 (permalink)  
Antiguo 30/06/2007, 04:45
Usuario no validado
 
Fecha de Ingreso: agosto-2004
Mensajes: 74
Antigüedad: 15 años, 3 meses
Puntos: 0
ejecutar una consulta u otra

hola,
mi consulta es que quiero que en funcion de si la pagina viene de llamarla por id (http://midominio.com/noticia.php?id=1) ejecute una consulta y si viene de llamarla por fecha (http://midominio.com/noticia.php?date=10/10/2007) ejecute otra consulta.

Para hacerlo estoy utilizando las estructuras de control if y else, pero el codigo que estoy trabajando no funciona, algo he hecho mal pero no se el que. alguien me puede ayudar?

mi codigo es el siguiente:
Código PHP:
<?
$id 
$_GET['id'];
$date $_GET['date'];
include(
"conexion.php");

if (
$id != "") {

$sql "SELECT ID_noticia, titulo, categoria, DATE_FORMAT(fecha,'%d-%m-%Y') as fecha, resumen, noticia, imagen, comentario, autor, hora, fuente FROM noticias WHERE ID_noticia = $id";
}
else (
$date != "")  {

$sql "SELECT ID_noticia, titulo, categoria, DATE_FORMAT(fecha,'%d-%m-%Y') as fecha, resumen, noticia, imagen, comentario, autor, hora, fuente FROM noticias WHERE fecha = $date";
}
$resultado mysql_query($sql);


if (!
$resultado) {
    echo 
"No pudo ejecutarse satisfactoriamente la consulta ($sql) " .
         
"en la Base de Datos: " mysql_error();
    exit;
}

if (
mysql_num_rows($resultado) == 0) {
    echo 
"No se ha encontrado noticias";
    exit;
}



while (
$res mysql_fetch_assoc($resultado)) {

echo 
$res["titulo"];

}
?>
Gracias por vuestro interes
  #2 (permalink)  
Antiguo 30/06/2007, 05:25
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 14 años, 2 meses
Puntos: 19
Re: ejecutar una consulta u otra

¿Por qué dices que no funciona?
  #3 (permalink)  
Antiguo 30/06/2007, 06:33
Usuario no validado
 
Fecha de Ingreso: agosto-2004
Mensajes: 74
Antigüedad: 15 años, 3 meses
Puntos: 0
Re: ejecutar una consulta u otra

porque se detiene y no ejecuta ninguna consulta, tampoco me da error de mysql mysql_error(). seguro que debe tener algun fallo de sitaxis pero no lo se averiguar.

gracias
  #4 (permalink)  
Antiguo 30/06/2007, 08:08
Avatar de _ssx  
Fecha de Ingreso: mayo-2003
Ubicación: mX
Mensajes: 683
Antigüedad: 16 años, 6 meses
Puntos: 60
Re: ejecutar una consulta u otra

Pues yo cambiaria la estructura del if.. a algo mas o menos asi..

Código PHP:
<?
$id 
$_GET['id'];
$date $_GET['date'];
include(
"conexion.php");

if (
$id != "") {
$sql "SELECT ID_noticia, titulo, categoria, DATE_FORMAT(fecha,'%d-%m-%Y') as fecha, resumen, noticia, imagen, comentario, autor, hora, fuente FROM noticias WHERE ID_noticia = $id";
}
else if (
$date != "")  {

$sql "SELECT ID_noticia, titulo, categoria, DATE_FORMAT(fecha,'%d-%m-%Y') as fecha, resumen, noticia, imagen, comentario, autor, hora, fuente FROM noticias WHERE fecha = $date";
}else
{
echo 
"No has especificado que vas a buscar";
}
$resultado mysql_query($sql);


if (!
$resultado) {
    echo 
"No pudo ejecutarse satisfactoriamente la consulta ($sql) " .
         
"en la Base de Datos: " mysql_error();
    exit;
}

if (
mysql_num_rows($resultado) == 0) {
    echo 
"No se ha encontrado noticias";
    exit;
}



while (
$res mysql_fetch_assoc($resultado)) {

echo 
$res["titulo"];

}
?>
__________________
Escribe tu código de forma que refleje, y saque a relucir,lo mejor de tu carácter personal
www.oscararzola.com/blog
Principios de un programador
  #5 (permalink)  
Antiguo 30/06/2007, 08:31
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 14 años, 2 meses
Puntos: 19
Re: ejecutar una consulta u otra

Quizás haya algún problema en el include("conexion.php");
  #6 (permalink)  
Antiguo 30/06/2007, 10:49
Usuario no validado
 
Fecha de Ingreso: agosto-2004
Mensajes: 74
Antigüedad: 15 años, 3 meses
Puntos: 0
Re: ejecutar una consulta u otra

lo he probado con la forma en que lo propone _ssx y ya funciona, muchas gracias _ssx, el problema que me encuentro ahora es que la segunda consulta no me produce resultados. porque puede ser? no es correcta la estructura del select?
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 05:19.