Impossible d'afficher le contenu des variable

Résolu
txiki Messages postés 6596 Date d'inscription   Statut Contributeur Dernière intervention   -  
txiki Messages postés 6596 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Je ne suis pas un expert en php (et ça se voit !). Cela fait plusieurs jurs que je tente d'afficher le contenu complet d'une page en partant d'une liste (http://editionsgracianne.free.fr/presse/Liste_Agenda.php Voici le code ci-dessous:
<?php
// On recupere la variable "id" correspondant à l'événement choisi
//ce script est appelé par un click sur le lien n'est ce pas, alors l'id est passé par l'URL donc en GET 
$id = $_GET['ID']; // on récupère la requete par la variable $_GET

// on prends les infos de connexion sur le fichier Fonctions_Agenda.php
require 'Fonctions_Agenda.php';  

// connection à la DB
$link = mysql_pconnect ($host,$user,$pass) or die ('Erreur : '.mysql_error() ); // connection à la base
mysql_select_db($db) or die ('Impossible de se connecter à la base'); // sélection de la table

// requête SQL qui affiche les infos de la fiche correspondante au lien cliqué 
$select = "SELECT Titre, Stitre1, Stitre, Info FROM agenda WHERE ID='id'"; // On selectionne seulement la ligne qui correspond à l'événement choisi 
$query = mysql_query($select)  or die ('Erreur : '.mysql_error() );
$row= mysql_fetch_array($query);  // mysql_fetch_array génère un tableau correspondant a la ligne selectionnée de la BDD

// on affiche  la fiche dans un tableau généré, dans le div id="global" comme le reste des pages. 
	echo '<table width="100%" align="center" border="0" cellspacing="0" cellpadding="6">';   // on affiche un tableau
	echo '<tr><td><h1>'.htmlentities(stripslashes($_POST['Titre'])).'</h1></td></tr>';                      // affiche la variable Titre
	echo '<tr><td><i><center>$Stitre1</center></i></td></tr>';     // affiche la variable Stitre1
	echo '<tr><td><i><center>$Stitre</center></i></td></tr>';      // affiche la variable Stitre
	echo '<tr><td><p>$Info</p></td></tr>';                         // affiche la variable Info
	echo '</table>';                                               // on ferme le tableau
// on n'a pas besoin de \n après la table à cause de la balise <hr> qui suit.                                            
mysql_close();
?>

J'ai la berlue à force d'essayer des formes de codage toujours infructueux.
Quelqu'un, qui s'y connaisse, aurait-il l'amabilité de yeuter et me mettre en gras ou commenter ce qui ne vas pas ?
Merci beaucoup d'avance.


6 réponses

pitxu Messages postés 689 Date d'inscription   Statut Membre Dernière intervention   95
 
Bonjour,

$row= mysql_fetch_array($query); ne te donne que la dernière valeur de la table, si tu veux récupérer l'ensemble des données tu dois utiliser "while" :

while ($row= mysql_fetch_array($query);) {
echo ...........;

}
0
txiki Messages postés 6596 Date d'inscription   Statut Contributeur Dernière intervention   521
 
Bonjour et merci pitxu,
Comment ça ? Le while ne sert pas à percourir la table ? Dans mon cas, ici, le lien cliqué est le premier champ de la table (en dehors de l'id). Ce que je veux c'est afficher les autres champs (Titre, Stitre1, Stitre et Info).
En cliquant sur le lien, je devrais afficher tous les champs de cet enregistrement (cette ligne si tu préfère) grace à l'id.


Le bonheur est la seule chose que l'on peut donner sans l'avoir.
0
pitxu Messages postés 689 Date d'inscription   Statut Membre Dernière intervention   95
 
$row['Titre'], $row['Stitre1'], $row['Stitre'], $row['Info'] afficheront tes champs.
0
txiki Messages postés 6596 Date d'inscription   Statut Contributeur Dernière intervention   521
 
Ah ! là je comprens mieux. J'avais tout essayé sauf ça bien sur. Je teste ce soir et te tient au courant.
Merci pour tout.

Le bonheur est la seule chose que l'on peut donner sans l'avoir.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
txiki Messages postés 6596 Date d'inscription   Statut Contributeur Dernière intervention   521
 
Salut pitxu et merci pour m'avoir consacré du temps,

$row['Titre'], $row['Stitre1'], $row['Stitre'], $row['Info']
afficheront tes champs.
Eh bien non ! j'avais tenté ceci (mais avec le même résultat:
'.$row['Titre'].', '.$row['Stitre1'].', '.$row['Stitre'].', '.$row['Info'].'
pour chaque echo.
De plus, l'affichage ne se fait pas dans l'ordre inversé. Il y a + de 40 enregistrements (provisoires) dans la table et en cliquant sur un des liens de la liste on voit bien que c'est un peu n'importe quoi.
Or je voudrais afficher les événements dans l'ordre décroissant mais en partant du dernier id. Je ne sais pas si je suis trés clair...
Je pense que cela vient de ma requete! mais comment trier, à l'envers ET sur deux champs (Lien et ID) ?


Le bonheur est la seule chose que l'on peut donner sans l'avoir.
0
txiki Messages postés 6596 Date d'inscription   Statut Contributeur Dernière intervention   521
 
Réglé ! et dieu sait pourquoi et comment !


Le bonheur est la seule chose que l'on peut donner sans l'avoir.
0