Foros del Web » Programando para Internet » PHP »

SOL: Asignar un valor a una variable

Estas en el tema de SOL: Asignar un valor a una variable en el foro de PHP en Foros del Web. Hola; Utilizo esta consulta (seguro a ha alguno le suena jeje!): Código PHP: $titles =array(); for ( $catid = 29 ; $catid <= 36 ; $catid ...
  #1 (permalink)  
Antiguo 10/08/2004, 12:17
 
Fecha de Ingreso: noviembre-2001
Ubicación: Pamplona - Marbella (Spain)
Mensajes: 298
Antigüedad: 16 años
Puntos: 0
SOL: Asignar un valor a una variable

Hola;

Utilizo esta consulta (seguro a ha alguno le suena jeje!):

Código PHP:
$titles=array();
for (
$catid=29;$catid<=36;$catid++){
$query="select * from phpwcms_article where article_cid=$catid order by article_id desc limit 1";
$result mysql_query($query);
echo 
mysql_error();
$row mysql_fetch_assoc($result);
 
$titles["$catid"]=$row["article_title"];
 echo 
"<a href='index.php?id=".$row["article_cid"].",".$row["article_id"].",0,0,1,0'>".$row["article_title"].".</a>";
 } 
Esto crea una consulta de en la que aparecen las última noticia de las categorias 29 a 36. Pues lo que necesito, y no me sale de ninguna manera es que antes de cada noticia aparezca el nombre de la categoria que sería

29: Almería
30 Granada etc.

Cómo puedo hacerlo???? Los intentos con IF y FOR no me salen

Gracias
__________________
SimDalom.com ¿Cómunicación Multimedia? Nosotros nos encargamos de eso, y tú... preocupate de lo importante

Última edición por SimDalom; 10/08/2004 a las 13:18
  #2 (permalink)  
Antiguo 10/08/2004, 12:41
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Pues yo usaria un array asociativo con indices los catid y valor el nombre de la categoria. Luego seria usar $catid para mostrar el valor. Algo como:
Código PHP:
$categorias=array(29=>'Almeria',30=>'Granada');
$titles=array();
for (
$catid=29;$catid<=36;$catid++){
$query="select * from phpwcms_article where article_cid=$catid order by article_id desc limit 1";
$result mysql_query($query);
echo 
mysql_error();
$row mysql_fetch_assoc($result);
$titles["$catid"]=$row["article_title"];
echo 
$categorias[$catid];
echo 
"<a href='index.php?id=".$row["article_cid"].",".$row["article_id"].",0,0,1,0'>".$row["article_title"].".</a>";

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.

Última edición por josemi; 10/08/2004 a las 13:12
  #3 (permalink)  
Antiguo 10/08/2004, 12:54
 
Fecha de Ingreso: noviembre-2001
Ubicación: Pamplona - Marbella (Spain)
Mensajes: 298
Antigüedad: 16 años
Puntos: 0
Lo he puesto como decías y completando el array y nada. Os lo pongo tal cual lo tengo para que no haya problemas:


Código PHP:
$categorias=array(29=>'Almería',30=>'Granada',31=>'Málaga',32=>'Jaén',33=>'Córdoba',34=>'Sevilla',35=>'Cádiz',36=>'Huelva');
$titles=array();
for (
$catid=29;$catid<=36;$catid++){
$query="select * from phpwcms_article where article_cid=$catid order by article_id desc limit 1";
$result mysql_query($query);
echo 
mysql_error();
$row mysql_fetch_assoc($result);
$titles["$catid"]=$row["article_title"];
echo 
$categoria[$catid];
echo 
"<a href='index.php?id=".$row["article_cid"].",".$row["article_id"].",0,0,1,0'>".$row["article_title"].".</a>";

__________________
SimDalom.com ¿Cómunicación Multimedia? Nosotros nos encargamos de eso, y tú... preocupate de lo importante
  #4 (permalink)  
Antiguo 10/08/2004, 13:12
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Perdon, ha sido una rata, digo errata. El array lo creo como $categorias, pero en el echo pongo $categoria (lapsus normal y comprensible). Por eso es recomendable entender el codigo que se da en las respuestas, no solo copipastearlo.

Y si tienes error_reporting a E_ALL (como recomiendo en fase de desarrollo), te hubiese salido un bonito NOTICE, indicandote que no existia ese array en el echo.

Saludos.

PD: Lo corrigo en el post original.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 01:40.