Difficulté dans l'affichage d'un tableau
Posté : 09 oct. 2016, 15:33
Bonjour,
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
Ci-dessous mon code.
fiche_test.php :
Je vous remercie par avance pour votre aide.
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
Ci-dessous mon code.
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();
?>
et mon fichier d'affichage du tableau (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>";
?>
Le problème c'est que l'affichage ne me convient pas. je souhaiterais regrouper chaque risque dans une seule ligne du tableau mais je n'y arrive pas.Je vous remercie par avance pour votre aide.

