Wierd problem.... Perhaps is the while ()
| From: | Fernando Gonzalez | Date: | Sat, 19 May 2001 06:58:16 +0000 |
| Subject: | Wierd problem.... Perhaps is the while () | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-99164@lists.php.net to get a copy of this message | ||
I have to php pages that call the same mysql query
The first page would be:
<?php
include ('conection.inc');
$sql="SELECT mae_articulos.fecha_pub, mae_medios.des_medio,
mae_articulos.pagina, mae_periodistas.nom_periodista,
mae_periodistas.ap_periodista, mae_articulos.alto,
mae_articulos.ancho, mae_articulos.cod_articulo,
mae_articulos.ruta_imagen
FROM mae_articulos, mae_medios, mae_periodistas
WHERE mae_articulos.cod_medio = mae_medios.cod_medio AND
mae_articulos.cod_periodista = mae_periodistas.cod_periodista
AND (mae_articulos.cod_articulo = $art)";
$results=mysql_query($sql,$db);
$rows=mysql_fetch_array($results);
$fecha=$rows[0];
$medio=$rows[1];
$periodista=$rows[3]." ".$rows[4];
$pag=$rows[2];
$tamano=$rows[5]." cm. x ".$rows[6]." cm.";
$alto=doubleval($rows[5])*28.35;
$ancho=doubleval($rows[6])*28.35;
$imagen=$rows[8];
?>
The query in this page works well with an $art variable that is being passed.
The problem comes on another page where I have a an array being passed and I dont know which would
be the first value, so I have this:
<?php
include ('conection.inc');
// $cantidad is a variable that let me know the lenght of the array being passed (it starts a 1)
(checkboxes $clip[$i])
// I want to capture the first checkbox that has been selected so I can display the results for that
variable (a hidden input $art[$i] will give me the value)
// Later
$i=1;
while($i<=$cantidad){
if ((isset($clip[$i]))){
$cliptoshow=$art[$i];
break;
}
$i++;
}
$sql="SELECT mae_articulos.fecha_pub, mae_medios.des_medio,
mae_articulos.pagina, mae_periodistas.nom_periodista,
mae_periodistas.ap_periodista, mae_articulos.alto,
mae_articulos.ancho, mae_articulos.cod_articulo,
mae_articulos.ruta_imagen
FROM mae_articulos, mae_medios, mae_periodistas
WHERE mae_articulos.cod_medio = mae_medios.cod_medio AND
mae_articulos.cod_periodista = mae_periodistas.cod_periodista
AND (mae_articulos.cod_articulo = $cliptoshow)";
$results=mysql_query($sql,$db);
$rows=mysql_fetch_array($results);
$fecha=$rows[0];
$medio=$rows[1];
$periodista=$rows[3]." ".$rows[4];
$pag=$rows[2];
$tamano=$rows[5]." cm. x ".$rows[6]." cm.";
$alto=doubleval($rows[5])*28.35;
$ancho=doubleval($rows[6])*28.35;
$imagen=$rows[8];
?>
I would have this error Not a valid MySQL result argument at line xxx (line xxx will be the one of
"$rows=mysql_fetch_array($results);")
The wierd thing will be that when I put an echo $sql; line The Browser will show me this:
SELECT mae_articulos.fecha_pub, mae_medios.des_medio,mae_articulos.pagina,
mae_periodistas.nom_periodista,
mae_periodistas.ap_periodista, mae_articulos.alto, mae_articulos.ancho, mae_articulos.cod_articulo,
mae_articulos.ruta_imagen FROM mae_articulos, mae_medios, mae_periodistas WHERE
mae_articulos.cod_medio = mae_medios.cod_medio AND
mae_articulos.cod_periodista = mae_periodistas.cod_periodista AND (mae_articulos.cod_articulo = 1026
// yes without the closing parentesis
Anyone have the slightest Idea why is this ocurring.
I am new at this php, and I think my while() code is bothering....
Thanks in advance
Fernando