Impossible d'afficher le contenu des variable

Résolu/Fermé
txiki Messages postés 6597 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 - 20 déc. 2010 à 19:55
txiki Messages postés 6597 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 - 25 déc. 2010 à 00:55
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 vendredi 7 septembre 2007 Statut Membre Dernière intervention 25 mars 2015 94
20 déc. 2010 à 20:46
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 6597 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 515
21 déc. 2010 à 10:31
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 vendredi 7 septembre 2007 Statut Membre Dernière intervention 25 mars 2015 94
21 déc. 2010 à 10:41
$row['Titre'], $row['Stitre1'], $row['Stitre'], $row['Info'] afficheront tes champs.
0
txiki Messages postés 6597 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 515
21 déc. 2010 à 11:20
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 6597 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 515
22 déc. 2010 à 07:53
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 6597 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 515
25 déc. 2010 à 00:55
Réglé ! et dieu sait pourquoi et comment !


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