Foros del Web » Programando para Internet » PHP »

Variar el "query" segun tipo de artículo

Estas en el tema de Variar el "query" segun tipo de artículo en el foro de PHP en Foros del Web. Hola gente, En mi nueva web de ocio habrán publicados artículos de juegos, películas, tutoriales y música. Mi intención es que desde la sección "artículos" ...
  #1 (permalink)  
Antiguo 24/07/2005, 14:13
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 12 años, 10 meses
Puntos: 20
Exclamación Variar el "query" segun tipo de artículo

Hola gente,

En mi nueva web de ocio habrán publicados artículos de juegos, películas, tutoriales y música.

Mi intención es que desde la sección "artículos" (index.php?ver=articulos) haga una llamada a la base de datos que pida TODOS los artículos que hay.

Código PHP:
<?
include_once ("config/index.php");
$query "SELECT * from articulos order by id DESC limit 10";
$result =  mysql_db_query ($dbname$query$link);
while (
$row mysql_fetch_array ($result)) {
    
?>
Bien, hasta aquí todo bien. Me muestra TODOS los artículos.

El problema viene cuando quiero que, si entro en la sección de una categoría de artículos (index.php?ver=articulos&tema=cine) me enseñe sólo los artículos de esa sección...

He intentado con esto (y con más cosas parecidas):

Código PHP:
<?
if ($tema=='') {
include_once (
"config/index.php");
$query "SELECT * from articulos order by id DESC limit 10";
} else {
$query "SELECT * from articulos where tema=$tema order by id DESC limit 10";
}
$result =  mysql_db_query ($dbname$query$link);
while (
$row mysql_fetch_array ($result)) {
    
?>
Pero me devuelve éstos errores:

Cita:
Warning: mysql_db_query(): supplied argument is not a valid MySQL-Link resource in index.php on line 218

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource index.php on line 219
¿Alguna idea?

Venga, que es muy fácil, seguro que todos la sabéis!

Muchas gracias de antemano
  #2 (permalink)  
Antiguo 24/07/2005, 16:23
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 12 años, 10 meses
Puntos: 20
¿Nadie? No me lo creo.

Me gustaría seguir hoy con la página...
  #3 (permalink)  
Antiguo 24/07/2005, 16:47
Avatar de _ssx  
Fecha de Ingreso: mayo-2003
Ubicación: mX
Mensajes: 683
Antigüedad: 14 años, 7 meses
Puntos: 60
Por que tan desesperado obviamente si hay mucha gente que lo sabe pero es domingo

ok.. que tal si pruebas poner la variable en comillas simples
Código PHP:
$query "SELECT * from articulos where tema='$tema' order by id DESC limit 10"
__________________
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
  #4 (permalink)  
Antiguo 24/07/2005, 16:47
 
Fecha de Ingreso: julio-2005
Ubicación: España
Mensajes: 91
Antigüedad: 12 años, 5 meses
Puntos: 0
No será por el include dentro del if??
  #5 (permalink)  
Antiguo 24/07/2005, 17:00
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 13 años, 6 meses
Puntos: 2
Tiene toda la pinta de ser que la variable $tema está vacía. Con las comillas simples no te dará el error pero seguirá sin funcionarte. Cómo recoges esa variable?, con $_GET["tema"]??
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #6 (permalink)  
Antiguo 24/07/2005, 17:05
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 12 años, 10 meses
Puntos: 20
La variable $tema es la que se muestra en la dirección URL

index.php?ver=articulos&tema= <--- variable
  #7 (permalink)  
Antiguo 24/07/2005, 17:08
 
Fecha de Ingreso: mayo-2003
Ubicación: Lima
Mensajes: 931
Antigüedad: 14 años, 7 meses
Puntos: 8
lo que dice phpman es cierto el include esta en mala posicion, cuando dices "si $tema esta vacio? entonces ... include(...);", pero no pasa lo mismo en el else, osea cuando tema no esta vacio asi que cuando quieres ejecutar la consulta no corre. lo que deberias hacer es esto
Código PHP:
<? 
include_once ("config/index.php"); 
if (
$tema=='') { 
$query "SELECT * from articulos order by id DESC limit 10"
} else { 
$query "SELECT * from articulos where tema=$tema order by id DESC limit 10"

$result =  mysql_db_query ($dbname$query$link); 
while (
$row mysql_fetch_array ($result)) { 
?>
pruebalo y luego nos comentas
__________________
El aprendiz.
  #8 (permalink)  
Antiguo 24/07/2005, 17:19
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 12 años, 10 meses
Puntos: 20
mmmmm... en ver=articulos (a secas) funciona bien, pero cuando es con &tema=

Cita:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
Gracias por ayudarme
  #9 (permalink)  
Antiguo 24/07/2005, 17:21
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 13 años, 6 meses
Puntos: 2
tienes register_globals a off?. Si no recoges el parametro con $_GET que es lo recomendable tienes que tener esta directiva a ON.
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #10 (permalink)  
Antiguo 24/07/2005, 17:22
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 12 años, 10 meses
Puntos: 20
¡Aiba, aquí he hecho el tonto! Faltaban las comillas, tenía razón SSX.

MUCHISIMAS GRACIAS A TODOS! Todos habéis aportado.

Os debo una.
salu2

PD: No caí en que era domingo
  #11 (permalink)  
Antiguo 24/07/2005, 17:24
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 12 años, 10 meses
Puntos: 20
jeje gracias living, pero ya lo solucioné. No hacía falta recoger la variable.
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 10:44.