PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Forum Général PHP » Difficulté dans l'affichage d'un tableau » 17-10-2016 08:57:45

didhuche
Réponses : 1

Bonsoir,

Je bute depuis plusieurs jours sur un problème de présentation sous forme d'un tableau. En gros, je récupère des données d’un formulaire que les gens complètent pour identifier des risques dans un lieu. Pour chaque danger identifié, il faut saisir une précision puis une proposition pour éviter le danger.
Je dois ensuite présenter ces données sous forme d’un tableau de synthèse. Voici comment s’organisent ces données dans ma table  :

danger1 - danger2 - danger3 - danger1_Precision - danger1_Proposition - danger2_Precision - danger2_Proposition - danger3_Precision - danger3_Proposition

Dans le tableau de synthèse, je souhaiterais que tous les dangers soient regroupés ainsi que les précisions et les propositions mais ils ne le sont pas... En fait, les dangers ne sont pas regroupés dans une seule cellule, il me crée une nouvelle ligne de tableau à chaque enregistrement dans la table.

Si quelqu'un a une idée...

Je vous remercie par avance pour votre aide.
Didhuche



Voici mon code (je débute !) :

fiche_test.php


<?php
require_once ('connexion.php');
?>
 
<?php
//Déclaration de toutes les variables
$table = "risques" ;
 
$danger1_libelle = "Danger n°1" ;
$danger2_libelle = "Danger n°2" ;
$danger3_libelle = "Danger n°3" ;
$aucun = "Aucun danger" ;
$lieu = "lieu1" ;
 
// Définition de la largeur des 3 colonnes des tableaux
$largeur_colonne1 = "170px";
$largeur_colonne2 = "415px";
$largeur_colonne3 = "415px";
?>
 
<!-- ------------------------------------- -->
 
<?php
 
// On compte chaque enregistrements de "1" dans chaque colonne pour savoir si on affiche le tableau ou pas...
 
$requete = "SELECT COUNT(danger1) AS nb_danger1 FROM $table WHERE lieu ='$lieu' AND danger1 = '1'  ";
$resultat = mysql_query($requete)  or die('Erreur SQL !<br />'.$requete.'<br />'.mysql_error());
$columns = mysql_fetch_array($resultat);
$danger1 = $columns['danger1'];
 
$requete = "SELECT COUNT(danger2) AS nb_danger2 FROM $table WHERE lieu ='$lieu' AND danger2 = '1'  ";
$resultat = mysql_query($requete)  or die('Erreur SQL !<br />'.$requete.'<br />'.mysql_error());
$columns = mysql_fetch_array($resultat);
$danger2 = $columns['danger2'];
 
$requete = "SELECT COUNT(danger3) AS danger3 FROM $table WHERE lieu ='$lieu' AND danger3 = '1'  ";
$resultat = mysql_query($requete)  or die('Erreur SQL !<br />'.$requete.'<br />'.mysql_error());
$columns = mysql_fetch_array($resultat);
$danger3 = $columns['danger3'];
 
if (($danger1>0) or($danger2>0) or ($danger3>0))
{
include ("tableau_risque.php");
}
else
{
echo "";
}
 
mysql_close();
?>
 

Puis l'affichage de mon tableau de synthèse tableau_risque.php :


<?php
 
// Tableau risque
 
$requete = ("SELECT * FROM $table WHERE lieu ='$lieu' AND aucun !='1'");
$resultat = mysql_query($requete)  or die('Erreur SQL !<br />'.$requete.'<br />'.mysql_error());
 
echo "<table cellpadding='5' border='1' width'auto'>";
 
// Les colonnes de titres
echo "
<tr align='center'>
<td width=$largeur_colonne1>Dangers identifiés</td>
<td width=$largeur_colonne2>Précisions</td>
<td width=$largeur_colonne3>Propositions</td>
</tr>\n"
;
 
while ($row = mysql_fetch_array($resultat))
{
$danger1=($row[danger1]);
if ($danger1=="0") {$danger1="";} else {$danger1=$danger1_libelle."<br>";}
 
$danger2=($row[danger2]);
if ($danger2=="0") {$danger2="";} else {$danger2=$danger2_libelle."<br>";}
 
$danger3=($row[danger3]);
if ($danger3=="0") {$danger3="";} else {$danger3=$danger3_libelle."<br>";}
 
 
 
$danger1_Precision=($row[danger1_Precision]);
if ($danger1_Precision!="") {$danger1_Precision=$danger1_Precision."<br>";}
$danger1_Proposition=($row[danger1_Proposition]);
if ($danger1_Proposition!="") {$danger1_Proposition=$danger1_Proposition."<br>";}
 
$danger2_Precision=($row[danger2_Precision]);
if ($danger2_Precision!="") {$danger2_Precision=$danger2_Precision."<br>";}
$danger2_Proposition=($row[danger2_Proposition]);
if ($danger2_Proposition!="") {$danger2_Proposition=$danger2_Proposition."<br>";}
 
$danger3_Precision=($row[danger3_Precision]);
if ($danger3_Precision!="") {$danger3_Precision=$danger3_Precision."<br>";}
$danger3_Proposition=($row[danger3_Proposition]);
if ($danger3_Proposition!="") {$danger3_Proposition=$danger3_Proposition."<br>";}
 
echo "
<tr>
<td>
$danger1
$danger2
$danger3
</td>
 
<td style='color:red;'>
$danger1_Precision
$danger2_Precision
$danger3_Precision
</td>
 
<td>
$danger1_Proposition
$danger2_Proposition
$danger3_Proposition
</td>
"
;
echo "</tr>";
}
echo "</table><br><br>";
 
?>
 

Voici ce qui s'affiche avec ce code :
Affichage actuel

Voici ce que je voudrais :
Affichage voulu

Pied de page des forums

Propulsé par FluxBB