Rechercher : dans
Par :

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

Dernière réponse le 19 jan 2009 à 16:50:22 a.finot, le 15 jan 2009 à 17:48:58 
 Signaler ce message aux modérateurs

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 !!!!!

Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « Affichage liste/détails de données mysql php » dans :
Sauvegarde restauration base de données Mysql VoirL'article suivant va présenter la manière la plus facile pour sauvegarder et restaurer les bases de données Mysql. Sauvegarde Pour sauvegarder une base de données existante il est conseillé de créer un dump. Pour dumper toutes les bases de...
Installation rapide de LAMP (Apache+MySql+php) sous Linux VoirLAMP = Linux+Apache+MySql+Php. C'est le serveur web par excellence. L'ensemble est facile à installer. Installation rapide sudo aptitude install apache2 php5 mysql-server php5-mysql libapache2-mod-php5 Le mot de passe administrateur mySQL...
PHP - Bases de données VoirPhp permet un interfaçage très simple avec un grand nombre de bases de données. Lorsqu'une base de données n'est pas directement supportée par Php, il est possible d'utiliser un driver ODBC, pilote standard pour communiquer avec les bases de...
Administration de MySQL VoirLa base de données mysql Les Système de Gestion de Bases de Données tels que MySQL permettent de manipuler facilement et avec beaucoup de souplesse un très important volume de données. Toutefois, aussi robuste soit MySQL, il peut être intéressant...

1

Alain_42, le 15 jan 2009 à 18:15:50

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

Répondre à Alain_42

2

a.finot, le 16 jan 2009 à 18:31:28

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 !

Répondre à a.finot

3

Alain_42, le 18 jan 2009 à 21:20:40

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

Répondre à Alain_42

4

a.finot, le 19 jan 2009 à 12:05:20

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>

Répondre à a.finot

5

Alain_42, le 19 jan 2009 à 13:36:42

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>

Répondre à Alain_42

6

a.finot, le 19 jan 2009 à 14:27:44

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 :-) !

Répondre à a.finot

7

Alain_42, le 19 jan 2009 à 16:49:05

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']

Répondre à Alain_42

8

 a.finot, le 19 jan 2009 à 16:50:22

Ce coup ci j'y suis arrivée.
Merci !

Répondre à a.finot
Collection CommentÇaMarche.net