Page 1 sur 1

Lien et Mysql

Posté : 19 oct. 2006, 15:56
par Yu_meyio
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]

Posté : 19 oct. 2006, 15:59
par Vikchill
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']).'"'); 

Posté : 19 oct. 2006, 16:01
par Yu_meyio
oui c'etais bien ca mais maintenant on ne m'affiche rien :s

Posté : 19 oct. 2006, 16:06
par Vikchill
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.

Posté : 19 oct. 2006, 16:11
par Yu_meyio
SELECT programe, texte FROM info WHERE id='0'
Voila ce qui me dise quand je met ce que tu m'as dis.

Posté : 19 oct. 2006, 16:14
par Vikchill
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? ....

Posté : 19 oct. 2006, 16:19
par Yu_meyio
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

Posté : 19 oct. 2006, 16:27
par iclo
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.

Posté : 19 oct. 2006, 16:28
par Vikchill
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.

Posté : 19 oct. 2006, 16:37
par Yu_meyio
Oui merci de m'avoir aidé je me trompé j'envoyé info et non id Merci beaucoup ;).