J'ai un code PHP qui récupère des données dans une base de donnée, ensuite il les affiches.
Le voici :
<?php
try
{
// Connexion BDD.
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=jsp', 'root', '', $pdo_options);
$sql = $bdd->query("SELECT * FROM engins WHERE cs = 'Casteljaloux' AND carburant > 10 AND etat = 'green'");
while ($row = $sql->fetch())
{
$array = $bdd->query("SELECT COUNT(engin)FROM engins WHERE fonction = '" . $row['fonction'] . "'");
$nb_total = $array->fetchColumn();
$array2 = $bdd->query("SELECT COUNT(engin) FROM engins
WHERE etat = 'green' AND fonction = '" . $row['fonction'] . "' AND carburant > 10");
$nb_dispo = $array2->fetchColumn();
// Affichage après traitement dynamique.
echo $nb_total . ' <strong>[' . $row['fonction'] . ']</strong> (' . $nb_dispo . '/' . $nb_total . ') : <br />';
echo '<input type="checkbox" name="' . $row['engin'] . '_' . intval($row['numero']) . '" value="' . intval($row['id']) . '" /> ';
echo $row['engin'] . '' . intval($row['numero']) . ' <span style="font-weight: bold;">CI ' . $row['cs'] . '</span> <br />';
if ($row['carburant'] > 100 || !$row['carburant'])
{
echo '<span style="font-weight: bold; color: red;">Une erreur est survenue, contactez le support (Jeunesapeur47) !</span>';
}
elseif ($row['carburant'] < 30)
{
echo '<span style="font-weight: bold; color: red;">
Attention, le niveau de carburant est inférieur a 30% (L\'engin passera indisponible a partir de 10 %) !</span>';
}
}
$sql->closeCursor();
}
catch(Exception $e)
{
die('Une erreur est survenue, veuillez nous éxcuser de la gêne occasionée : '.$e->getMessage());
}
?>
Le problème est que la boucle réécrit plusieurs fois le même titre même quand c'est le même :
Je dois donc indiquer à PHP que si jamais le titre est le même il doit fusionner les données pour n'avoir qu'un seul titre et toutes les données réunies. J'ai pensé à un petit truc, faire quelque chose comme : $save_name = $row['titre'] et plus tard (mais où ??) je dis à php « Si le titre est différent du précédent ... sinon ... »Yes, no ? ^^
Merci de vos indications.