Affichage liste/détails de données mysql-php

Résolu/Fermé
a.finot Messages postés 74 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 12 février 2014 - 15 janv. 2009 à 17:48
a.finot Messages postés 74 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 12 février 2014 - 19 janv. 2009 à 16:50
Bonjour,
J'ai une page PHP dans mon site qui affiche des données provenant d'une table MySQL.
Ces données ont une date, un titre et un texte.
Pour l'instant tout est affiché sur la page mais ce que j'aimerai faire c'est n'avoir que les dates et titres de visibles et que le texte ne s'affiche sous la date et le titre que si l'internaute clique sur le titre...
Est-ce que quelqu'un sait faire ça ?
Merci !!!!!
A voir également:

5 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
15 janv. 2009 à 18:15
Bonsoir,

un petit bout de code, la page s'appelle elle même qd on clique sur le titre et dans ce cas on affiche en plus le texte

<?php
//recup du titre quand page appelée par clique sur le lien
if(isset($_GET['titre'])){$titre=$_GET['titre'];}else{$titre="";}

//connexion serveur selection base etc..

//puis
$reponse=mysql_query("SELECT * FROM ta_table");
while ($row=mysql_fetch_array($reponse)){
	echo $row['date']."  <a href='".$SERVER['PHP_SELF']."?titre=".$row['titre']."'>".$row['titre']."</a><br />"
	if($row['titre'] == $titre){
		//on affiche le texte
		echo $row['texte']."<br />";
	}
}
?>


@lain
0
a.finot Messages postés 74 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 12 février 2014 2
16 janv. 2009 à 18:31
Bonsoir Alain,

Merci pour ta réponse.
J'ai essayé d'intégrer ton code à ma page mais impossible d'afficher la page dans le navigateur.
Je suis plutôt novice dans le domaine alors si tu avais la gentillesse de m'aider un peu plus, ce serait vraiment très sympa.
Voici le bout de code de ma page qui affiche mes données. Celui-là tout seul il fonctionne mais quand j'essaie d'y intégrer le tien... plus rien ;-(

<?php do { ?>
<table width="587" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><h1><?php echo $row_rsActu['date']; ?>/<?php echo $row_rsActu['mois']; ?>/<?php echo $row_rsActu['annee']; ?> - <?php echo strtoupper($row_rsActu['titre']); ?></h1></td>
</tr>
<tr>
<td><p><?php echo nl2br($row_rsActu['texte']); ?></p></td>
</tr>
</table>
<?php } while ($row_rsActu = mysql_fetch_assoc($rsActu)); ?>

Merci d'avance !
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
18 janv. 2009 à 21:20
essayes comme ça:

<?php
//tu dois avoir déja connexion serveur selection base etc..

//recup du titre quand page appelée par clique sur le lien
if(isset($_GET['titre'])){
$titre=$_GET['titre'];

}else{$titre="";

}



//puis
$reponse=mysql_query("SELECT * FROM ta_table");


 do {
 ?>
<table width="587" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><h1><?php echo $row_rsActu['date']; ?>/<?php echo $row_rsActu['mois']; ?>/<?php echo $row_rsActu['annee']; ?> - <?php echo strtoupper($row_rsActu['titre']); ?></h1><a href="<?php echo $_SERVER['PHP_SELF']."?titre=".$row_rsActu['titre']; ?>">Plus de d&eacute;tails</a></td>
</tr>
<?php

 if(isset($_GET['titre'] ) AND $titre == $row_rsActu['texte']) {
 //si ce titre a été demandé on affiche 
?>
<tr>
<td><?php echo nl2br($row_rsActu['texte']); ?></td>
</tr>
<?php
}
?>
</table>
<?php 
} while ($row_rsActu = mysql_fetch_assoc($rsActu));
 ?> 


@lain
0
a.finot Messages postés 74 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 12 février 2014 2
19 janv. 2009 à 12:05
Bjr Alain,

Merci beaucoup pour ton aide.
J'y suis presque et j'essaie de trouver pourquoi ça ne fonctionne pas à 100% depuis 3 heures mais je ne trouve pas... il y a de quoi devenir dingue !!! J'suis vraiment mauvaise...
En fait, quand je clique sur "plus de détails", ça rafraîchit ma page mais le texte ne s'affiche pas.

Si jamais tu as le temps d'y jeter un oeil... ce serait bon pour mes nerfs ;-)

//ma connection à la base
mysql_select_db($database_ConnexionMLV, $ConnexionMLV);
$query_rsActu = "SELECT * FROM actualites ORDER BY annee DESC, mois DESC, date DESC";
$rsActu = mysql_query($query_rsActu, $ConnexionMLV) or die(mysql_error());
$row_rsActu = mysql_fetch_assoc($rsActu);
$totalRows_rsActu = mysql_num_rows($rsActu);

//ma balise de contenu
<div id="achive1">
<?php
//recup du titre quand page appelée par clique sur le lien
if(isset($_GET['titre'])){$titre=$_GET['titre'];}else{$titre="";}

$reponse=mysql_query("SELECT * FROM actualites");
do { ?>
<table width="587" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><h1><?php echo $row_rsActu['date']; ?>/<?php echo $row_rsActu['mois']; ?>/<?php echo $row_rsActu['annee']; ?> - <?php echo strtoupper($row_rsActu['titre']); ?>-<a href="<?php echo $_SERVER['PHP_SELF']."?titre=".$row_rsActu['titre']; ?>">Plus de détails</a></h1> </td>
</tr>
<?php
if(isset($_GET['titre'] ) AND $titre == $row_rsActu['texte']) {
//si ce titre a été demandé on affiche
?>
<tr>
<td><p><?php echo nl2br($row_rsActu['texte']); ?></p></td>
</tr>
<?php
}
?>
</table>
<?php } while ($row_rsActu = mysql_fetch_assoc($rsActu)); ?></div>
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
19 janv. 2009 à 13:36
J'ai rectifié mon erreur

<?php
//ma connection à la base
mysql_select_db($database_ConnexionMLV, $ConnexionMLV);
$query_rsActu = "SELECT * FROM actualites ORDER BY annee DESC, mois DESC, date DESC";
$rsActu = mysql_query($query_rsActu, $ConnexionMLV) or die(mysql_error());
$row_rsActu = mysql_fetch_assoc($rsActu);
$totalRows_rsActu = mysql_num_rows($rsActu);
?>
//ma balise de contenu
<div id="achive1">
<?php
//recup du titre quand page appelée par clique sur le lien
if(isset($_GET['titre'])){
	$titre=$_GET['titre'];
}else{
$titre="";
}

//$reponse=mysql_query("SELECT * FROM actualites");// ne sert pa spuique tu as déja la requette plus haut
do { ?>
<table width="587" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><h1><?php echo $row_rsActu['date']; ?>/<?php echo $row_rsActu['mois']; ?>/<?php echo $row_rsActu['annee']; ?> - <?php echo strtoupper($row_rsActu['titre']); ?>-<a href="<?php echo $_SERVER['PHP_SELF']."?titre=".$row_rsActu['titre']; ?>">Plus de détails</a></h1> </td>
</tr>
<?php
if(isset($_GET['titre'] ) AND $titre == $row_rsActu['titre']) {//excuses j'avais fait une erreur la 'texte' au lieu de 'titre'
//si ce titre a été demandé on affiche
?>
<tr>
<td><p><?php echo nl2br($row_rsActu['texte']); ?></p></td>
</tr>
<?php
}
?>
</table>
<?php
 } while ($row_rsActu = mysql_fetch_assoc($rsActu)); ?>
</div>
0
a.finot Messages postés 74 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 12 février 2014 2
19 janv. 2009 à 14:27
MERCI BEAUCOUP !!!!!!!!!!!!!!

Ca ne fonctionnait pas au début à cause d'un petit espace inattendu qui s'était glissé
où il ne faut pas mais ça y'est !!!

Si je peux encore abuser de ta gentillesse, j'ai encore un petit souci.
J'ai des entrées dans ma table qui ont le même titre... du coup ça me les affiche
tous quand je clique sur l'un... est-ce qu'on ne peut choisir l'id plutôt que le titre ?...

Encore merci :-) !
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
19 janv. 2009 à 16:49
Ha bien oui c'est cent fois préférable car l'id surtout si il est en primary key est unique

donc tu remplaces dans le lien et dans le if $row['titre'] par $row['id']
0

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

Posez votre question
a.finot Messages postés 74 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 12 février 2014 2
19 janv. 2009 à 16:50
Ce coup ci j'y suis arrivée.
Merci !
0