un bug bizare

Eléphant du PHP | 87 Messages

25 oct. 2006, 17:48

Bonjour
voilà j'ai fait un petit programme qui consiste à cliquer sur une photo et à faire apparraitre la suivante
pour cela j'ai fait un petit compteur qui incrémente.
Ex ma photo s'appelle 8.jpg on clic dessus et c'est 9.jpg qui apparait
en fait le nom de la photo est donc son numero qui correspond à son numero id que je récupére dans $id.Et donc 8.jpg est id=8 et avec mon compteur ça passe à 9 donc $id+1 ou $++id.Tout fonctionne méme si ce script est loin d'etre parfait et que c'est un peu du bidouillage.Mais c'est le 1er que je fais veritablement .
Et j'ai constaté que si je supprime une ligne aprés <?php
le scipt ne marche plus et id reste bloqué à 1 et donc n'affiche plus que l'image 1.
ça m'intrigue :roll:
mon code
<?php
$piste="baleyssagues";
$grandtitre="<H1><b>Finale du championnat de france de Baleyssagues
<br> 08/11/2006</b></H1>";

$derniertitre="jérome cottier";
require ("Connect.php");

$connexion = mysql_pconnect (SERVEUR,NOM,PASSE);

if (! $connexion)
{
 echo"Désolé,connexion à " . SERVEUR ." impossible\n";
 exit;
}

if (! mysql_select_db (BASE,$connexion))
{
 echo "Désolé,accés à la base " . BASE . " impossible\n";
}
//'baleyssagues'
$sql = "SELECT * FROM `galerie`WHERE `piste` = '$piste' ORDER BY `id` ASC";
// envoie de la requête
$req = mysql_query($sql) or die('<u>Probleme SQL</u> : '.$sql.'<br>'.mysql_error
());  

$num_rows = mysql_num_rows($req);


$titre =array();
while($resultat = mysql_fetch_array($req)) 




$titre[] = $resultat['titre'];

$i= 1;
$j= $num_rows;
$id2 = $id+$i;
$id3= $i ;
if($id2<=$j)
{
echo"$grandtitre<br><br><a href='lien.php?id=$id2'><img src='galerie/$id2.jpg' alt='$id2' border='0' align='center'></a><br><br>";
echo"<b><i>$titre[$id]</i></b>";


}

else
{
echo"$grandtitre<br><br><a href='lien.php?id=$id3'><img src='galerie/$id3.jpg' alt='$id' border='0' align='center'></a><b><i><br><br>$derniertitre</i></b>";

}

?>
si j'enleve cette ligne:$piste="baleyssagues";
situé juste aprés <php? le script bug si je la remet evidement ça remarche nikel .si je la supprime et que je comble l'espace avec la suivante ça ne marche pas non plus.
D'ou vient cette bizarerie "phpiene" ou est ce mon script qui est une bizarerie :lol:

Eléphant du PHP | 193 Messages

25 oct. 2006, 17:58

Ton script marche quand même, c'est ce que tu lui donnes qui conditionne ses résultats, et tu as ça:
$sql = "SELECT * FROM `galerie`WHERE `piste` = '$piste' ORDER BY `id` ASC"; 
Donc si $piste n'existe pas, ta requête SQL ne ramène pas d'enregistrement.

Eléphant du PHP | 87 Messages

25 oct. 2006, 18:11

oui merci c'est tout a fait logique
cependant la valeur de piste ne vient pas de la base de donnée.
je vais changer ma requete donc
j'ai effectivement changer le nom de la variable piste et ça marchait plus
merci pour l'info c'est tout a fait normal donc
ah ces débutants :o

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

26 oct. 2006, 11:30

Un p'tit clic sur [Résolu] :?: :)
"ah ces débutants" :wink:
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...