Impossible d'afficher le contenu des variable

Résolu/Fermé
Signaler
Messages postés
3133
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
20 octobre 2020
-
Messages postés
3133
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
20 octobre 2020
-
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

Messages postés
689
Date d'inscription
vendredi 7 septembre 2007
Statut
Membre
Dernière intervention
25 mars 2015
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 ...........;

}
Messages postés
3133
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
20 octobre 2020
434
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.
Messages postés
689
Date d'inscription
vendredi 7 septembre 2007
Statut
Membre
Dernière intervention
25 mars 2015
95
$row['Titre'], $row['Stitre1'], $row['Stitre'], $row['Info'] afficheront tes champs.
Messages postés
3133
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
20 octobre 2020
434
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.
Messages postés
3133
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
20 octobre 2020
434
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.
Messages postés
3133
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
20 octobre 2020
434
Réglé ! et dieu sait pourquoi et comment !


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