[mysql] probleme d'affichage de variable
Fermé
bilane
Messages postés
13
Date d'inscription
samedi 2 septembre 2006
Statut
Membre
Dernière intervention
21 mars 2007
-
20 sept. 2006 à 10:06
bilane Messages postés 13 Date d'inscription samedi 2 septembre 2006 Statut Membre Dernière intervention 21 mars 2007 - 27 sept. 2006 à 10:26
bilane Messages postés 13 Date d'inscription samedi 2 septembre 2006 Statut Membre Dernière intervention 21 mars 2007 - 27 sept. 2006 à 10:26
A voir également:
- [mysql] probleme d'affichage de variable
- Affichage double ecran - Guide
- Mysql community server - Télécharger - Bases de données
- Problème affichage fenêtre windows 10 - Guide
- Comment agrandir l'affichage de l'écran - Guide
- Windows 11 affichage classique - Guide
4 réponses
ceddec
Messages postés
148
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
10 mars 2012
82
20 sept. 2006 à 17:10
20 sept. 2006 à 17:10
Bonjour,
Moi je ferais d'abord une requete pour obtenir toutes les années différentes. Ensiute pour chaque année, je récupérerais les textes correspondants et je les afficherais. Le code deviendrait ca mais c'est à tester (l'idée fonctionne mais le code devrait fonctionner):
Moi je ferais d'abord une requete pour obtenir toutes les années différentes. Ensiute pour chaque année, je récupérerais les textes correspondants et je les afficherais. Le code deviendrait ca mais c'est à tester (l'idée fonctionne mais le code devrait fonctionner):
<?php // on se connecte à MySQL require('connect.php.inc'); $db=connect(); $req = mysql_query('SELECT DISTINCT nature_texte FROM texte'); echo "<h4><center><b><u>Recherche par nature du texte</u></b></center></h4>"; echo "<form method='POST'>"; echo '<table>'; echo '<tr>'; echo '<td> Choississez la nature du texte : '; echo "<select name='nature'>"; while($data = mysql_fetch_assoc($req)) { $nature=$data['nature_texte']; if($nature == $_POST['nature']) { echo "<option value=\"$nature\" selected >$nature</option>"; } else { echo "<option value=\"$nature\">$nature</option>"; } } echo "</select>"; echo '</td>'; echo '<td>'; echo "<input type='submit' value='Valider' name='B1' style='border-style: solid; border-width: 1; padding: 1'> "; echo '</td>'; echo '</tr>'; echo '</table>'; echo "</form>"; if (isset($_POST['nature'])){ $nature=$_POST['nature']; //echo "<h1><b>$nature</b></h1>"; $sql1="SELECT date_texte FROM texte where nature_texte='$nature' ORDER BY date_texte DESC" $req1 = mysql_query($sql1) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); $listeYear= array(); while($data1 = mysql_fetch_assoc($req1)) { $tmp= explode("-", $data1['date_texte']); if(!in_array($tmp[0],$listeYear)) array_push($listeYear,$tmp[0]); } foreach($listeYear as $year) { $sql = "SELECT texte.id_jo, id_texte, num_texte, date_texte, nature_texte, commentaire_texte FROM texte where nature_texte='$nature' AND date_texte LIKE '$year%' ORDER BY date_texte DESC, num_texte DESC "; $req2 = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); $annee=""; while($data1 = mysql_fetch_assoc($req2)) { $id_texte=$data1['id_texte']; $num=$data1['num_texte']; $jo=$data1['id_jo']; $date=$data1['date_texte']; list($year2, $month, $day) = explode("-", $date); $months = array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"); $mois = $months[$month-1]; echo "<font size=3px><b><center>ANNEE " .$year." </center></b></font><br><br>"; echo '- <a jo/'.$jo.'/'.$num.'.php>'.$data1['date_texte'].' : '.$data1['nature_texte'].' n° '.$data1['num_texte'].' </a></br>'; }
bilane
Messages postés
13
Date d'inscription
samedi 2 septembre 2006
Statut
Membre
Dernière intervention
21 mars 2007
21 sept. 2006 à 08:23
21 sept. 2006 à 08:23
merci de votre aide, mais ca marche pas, j'ai toujours le meme probleme.
excuse moi mais je suis debutante, si vous pouvez me proposer une autre solution, ca serait sympa.
merci.
excuse moi mais je suis debutante, si vous pouvez me proposer une autre solution, ca serait sympa.
merci.
ceddec
Messages postés
148
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
10 mars 2012
82
21 sept. 2006 à 17:18
21 sept. 2006 à 17:18
Bonjour,
il faut que tu changes de place la ligne qui affiche ANNEE 2000 (l'avant dernier echo) :
echo "<font size=3px><b><center>ANNEE " .$year." </center></b></font><br><br>";
il faut le mettre avant le while:
while($data1 = mysql_fetch_assoc($req2))
il faut que tu changes de place la ligne qui affiche ANNEE 2000 (l'avant dernier echo) :
echo "<font size=3px><b><center>ANNEE " .$year." </center></b></font><br><br>";
il faut le mettre avant le while:
while($data1 = mysql_fetch_assoc($req2))
bilane
Messages postés
13
Date d'inscription
samedi 2 septembre 2006
Statut
Membre
Dernière intervention
21 mars 2007
24 sept. 2006 à 09:19
24 sept. 2006 à 09:19
bonjour,
merci beaucoup , ca marche maintenant.
merci beaucoup , ca marche maintenant.
bilane
Messages postés
13
Date d'inscription
samedi 2 septembre 2006
Statut
Membre
Dernière intervention
21 mars 2007
26 sept. 2006 à 08:48
26 sept. 2006 à 08:48
Bonjour, j’ai le même problème d'affichage de variable que l’autre fois j’ai essayé d’adapter votre méthode mais ça ne marche pas. Pourriez vous m’aider.
Code :
<?php
if (isset($_GET['n'])){
$id=$_GET['n'];
$req1 = mysql_query("SELECT id_jo, num_jo,date_jo FROM jo where id_jo='$id'");
while($data1 = mysql_fetch_assoc($req1)) {
$id= $data1['id_jo'];
$num= $data1['num_jo'];
$date=$data1['date_jo'];
list($year, $month, $day) = explode("-", $date);
$months = array("janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre");
$mois = $months[$month-1];
echo "<font size=3px><b>Journal officiel n° ".$num. " du " .$day ." " .$mois." ".$year. "</b></font><br><br>";
}
$req2 = mysql_query("SELECT * FROM texte where id_jo='$id' ORDER BY num_inst ASC ");
while($data = mysql_fetch_assoc($req2)) {
$id_texte=$data['id_texte'];
$id=$data['id_jo'];
$inst=$data['num_inst'];
$dat=$data['date_texte'];
list($year, $month, $day) = explode("-", $dat);
$months = array("janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre");
$mois = $months[$month-1];
$dat = $day." ".$mois." ".$year;
$req3 = mysql_query("SELECT * FROM institution WHERE num_inst='$inst'");
$listeinst= array();
while ($data3 = mysql_fetch_assoc($req3))
{$insti= $data3['num_inst'];
if(!in_array($insti[0],$listeinst))
array_push($listeinst,$insti[0]);
}
foreach($listeinst as $inst)
{
echo "<font color=#800000> <u>" .$inst. "</u>"; echo "<br><br>";
echo '<font size=3px><a href=http://127.0.0.1/siteofficiel/jo/'.$year.'/'.$id.'/'.$id_texte.'.php>'.$dat.' : '.$data['nature_texte'].' n° '.$data['num_texte'] .$data['commentaire_texte'].'</a></font></br>';
echo "<br>"; echo'</tr>';
}}}
mysql_close();
?>
Merci d’avance.
Code :
<?php
if (isset($_GET['n'])){
$id=$_GET['n'];
$req1 = mysql_query("SELECT id_jo, num_jo,date_jo FROM jo where id_jo='$id'");
while($data1 = mysql_fetch_assoc($req1)) {
$id= $data1['id_jo'];
$num= $data1['num_jo'];
$date=$data1['date_jo'];
list($year, $month, $day) = explode("-", $date);
$months = array("janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre");
$mois = $months[$month-1];
echo "<font size=3px><b>Journal officiel n° ".$num. " du " .$day ." " .$mois." ".$year. "</b></font><br><br>";
}
$req2 = mysql_query("SELECT * FROM texte where id_jo='$id' ORDER BY num_inst ASC ");
while($data = mysql_fetch_assoc($req2)) {
$id_texte=$data['id_texte'];
$id=$data['id_jo'];
$inst=$data['num_inst'];
$dat=$data['date_texte'];
list($year, $month, $day) = explode("-", $dat);
$months = array("janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre");
$mois = $months[$month-1];
$dat = $day." ".$mois." ".$year;
$req3 = mysql_query("SELECT * FROM institution WHERE num_inst='$inst'");
$listeinst= array();
while ($data3 = mysql_fetch_assoc($req3))
{$insti= $data3['num_inst'];
if(!in_array($insti[0],$listeinst))
array_push($listeinst,$insti[0]);
}
foreach($listeinst as $inst)
{
echo "<font color=#800000> <u>" .$inst. "</u>"; echo "<br><br>";
echo '<font size=3px><a href=http://127.0.0.1/siteofficiel/jo/'.$year.'/'.$id.'/'.$id_texte.'.php>'.$dat.' : '.$data['nature_texte'].' n° '.$data['num_texte'] .$data['commentaire_texte'].'</a></font></br>';
echo "<br>"; echo'</tr>';
}}}
mysql_close();
?>
Merci d’avance.
ceddec
Messages postés
148
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
10 mars 2012
82
26 sept. 2006 à 17:31
26 sept. 2006 à 17:31
Bonjour
Je viens de réinstaller mon pc donc je ne peux pas tester le code et voir ce qui s'affiche mal.
Mais je pense que c'est le $inst qui va pas?
Si c'est le $inst qui s'affiche plusieurs fois alors qu'une seule est souhaitée, il faut l'afficher avant le foreach. Donc il faut deplacer la ligne :
echo "<font color=#800000> <u>" .$inst. "</u>"; echo "<br><br>";
Désolé si je répond à coté
Je viens de réinstaller mon pc donc je ne peux pas tester le code et voir ce qui s'affiche mal.
Mais je pense que c'est le $inst qui va pas?
Si c'est le $inst qui s'affiche plusieurs fois alors qu'une seule est souhaitée, il faut l'afficher avant le foreach. Donc il faut deplacer la ligne :
echo "<font color=#800000> <u>" .$inst. "</u>"; echo "<br><br>";
Désolé si je répond à coté
bilane
Messages postés
13
Date d'inscription
samedi 2 septembre 2006
Statut
Membre
Dernière intervention
21 mars 2007
27 sept. 2006 à 10:26
27 sept. 2006 à 10:26
Bonjour ceddec,
merci de votre aide, j'ai essayé mais ca marche pas.
si vous avez une autre solution, merci.
merci de votre aide, j'ai essayé mais ca marche pas.
si vous avez une autre solution, merci.