Lien et Mysql

Eléphanteau du PHP | 25 Messages

19 oct. 2006, 15:56

Bonjour je vous espose mon probléme
J'ai des liens crée par php a chaque entré dans ma base Msyql ensuite grace a ces liens j'aimerais que lorsque on clique dessus ssa ouvre la page info.php et que ca affiche les information ce trouvant dans la bdd.
voila ce que j'ai mis pour recupéerer les infos à partir du lien :
<?php
        if (isset($_GET['id'])){
        include('cool.inc');
        $retour = mysql_query('SELECT programe, texte FROM info WHERE id="'.intval($_GET['id'])'"');
        mysql_error();
while ($donnees = mysql_fetch_array($retour))
{
 echo $donnees['programe'] ;
}
}
?>
et le code de lien est celui ci :
<?php
include('cool.inc');
$retour = mysql_query('SELECT * FROM info ORDER BY id ASC');
while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les news
{
echo '<a href="info.php?info=' . $donnees['id'] . '">';
echo $donnees['programe'] . '</a><br />';
}
mysql_close();
?>
et voici le message d'erreur
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/users2/y/yumeyio/www/info.php on line 63
Merci de votre aide.[/php]

Eléphant du PHP | 193 Messages

19 oct. 2006, 15:59

Le mieux aurait été de nous donner la ligne 63, mais je crois que l'erreur est là:
 $retour = mysql_query('SELECT programe, texte FROM info WHERE id="'.intval($_GET['id'])'"'); 
Après le $_GET['id'] il manque le point de concaténationje crois:
 $retour = mysql_query('SELECT programe, texte FROM info WHERE id="'.intval($_GET['id']).'"'); 

Eléphanteau du PHP | 25 Messages

19 oct. 2006, 16:01

oui c'etais bien ca mais maintenant on ne m'affiche rien :s

Eléphant du PHP | 193 Messages

19 oct. 2006, 16:06

As-tu vérifié la syntaxe de ta requête? Comme ceci par exemple:
<?php
$requete= "SELECT programe, texte FROM info WHERE id='".intval($_GET['id'])."'";
echo $requete;
?>
A part ça, avec ton code tu ne sais pas du tout ce qui arrive à la seconde requête, un petit or die() ça peut être 'achement cool.

Eléphanteau du PHP | 25 Messages

19 oct. 2006, 16:11

SELECT programe, texte FROM info WHERE id='0'
Voila ce qui me dise quand je met ce que tu m'as dis.

Eléphant du PHP | 193 Messages

19 oct. 2006, 16:14

Et dans PHPMyAdmin, cette requête te retourne bien les informations que tu souhaites?

Et... est-ce que l'id que tu as dans la requête est bien celle que tu as saisi dans le formulaire? ....

Eléphanteau du PHP | 25 Messages

19 oct. 2006, 16:19

c'est que c'est pas un formulairej'aimerais recupérer les info a partir d'un liens c'est pour cela que j'ai mis GET et non ca reste id=0 alors que l'id de ma bdd commence a 1

ViPHP
ViPHP | 2144 Messages

19 oct. 2006, 16:27

Pour résoudre ce genre de problème, il faut être méthodique, car le problème peut provenir de différents endroits dans le code.
Ce lien http://www.phpfrance.com/forums/voir_sujet-19378.php te donne un tutorial sur comment procéder.

Eléphant du PHP | 193 Messages

19 oct. 2006, 16:28

Oui, j'ai essayé de te mettre sur la voie mais apparemment j'ai raté mon coup :(

Par hasard, tu enverrais pas l'info en $_GET['info']:
echo '<a href="info.php?info='
alors que tu cherches à récupérer un $_GET['id']:
if (isset($_GET['id']))

Ou c'est moi qui me trompe complètement, ou tu devrais mettre info ou id dans les deux.

Eléphanteau du PHP | 25 Messages

19 oct. 2006, 16:37

Oui merci de m'avoir aidé je me trompé j'envoyé info et non id Merci beaucoup ;).