Page 1 sur 1

Couleur conditionnelle et problème d'affichage

Posté : 15 mars 2017, 16:13
par zelia
Bonjour,

Je suis bloqué sur un tableau.
J'ai une section html qui permet d'entrer des données sur une ligne, une fois les données entrée, elles sont stockées dans une base de données mysql. Une requête $_POST envoie les informations vers un fichier php qui récupère les informations et les prépare pour l'affichage. Enfin, j'ai une section mysql-php qui affiche les données dans un tableau . Jusqu'ici tout marche bien, mais j'aimerai ajouter des couleurs à chaque ligne de façon conditionnel, par exemple "si la valeur de telle entrée est égal à cela, affiche le fond en telle couleur" , là aussi tout marche.
Cependant, quand je place mes conditions dans la boucle while ($donnees = $reponse->fetch()) { la ligne est stocké dans la base mysql, mais n'est pas affiché et quand j'entre une seconde ligne la ligne précédente est alors affiché.

Merci d'avance pour votre aide! :D

Voici le fichier Tableau_post.php qui récupère les informations et prépare pour l'affichage :

<?php

        // Connexion à la base de données

        try

        {

        $bdd = new PDO('mysql:host=localhost;dbname=Logistique;charset=utf8', 'root', 'Intranet*33*');

        }

        catch(Exception $e)

        {

        die('Erreur : '.$e->getMessage());

        }

        // Insertion du message à l'aide d'une requête préparée
        if (!empty ($_POST['TRANSPORTEUR']))
        {

        $req = $bdd->prepare('INSERT INTO Commandes (DATE, TYPE, ACTIVITE, TRANSPORTEUR, OPERATION, QUANTITE,
        ALLEE, HARRIVE, CARISTE, HDEPART, HFIN, VALIDATION) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)');

        $req->execute(array($_POST['DATE'], $_POST['TYPE'], $_POST['ACTIVITE'], $_POST['TRANSPORTEUR'], $_POST['OPERATION']
        , $_POST['QUANTITE'], $_POST['ALLEE'], $_POST['HARRIVE'], $_POST['CARISTE'], $_POST['HDEPART'], $_POST['HFIN'],     
         $_POST['VALIDATION'] ));  
        }  

        header('Location: Tableau.php');


?>
Voici la partie qui affiche les informations dans un tableau Tableau.php :
<?php
        // Connexion à la base de données

        try

        {

        $bdd = new PDO('mysql:host=localhost;dbname=Logistique;charset=utf8', 'root', 'Intranet*33*');

        }

        catch(Exception $e)

        {

        die('Erreur : '.$e->getMessage());

        }


        // Récupération des 10 derniers messages

        $reponse = $bdd->query ('SELECT DATE, TYPE, ACTIVITE, TRANSPORTEUR, OPERATION
        , QUANTITE, ALLEE, HARRIVE, CARISTE,  HDEPART, HFIN, ID, VALIDATION FROM Commandes ORDER BY ID DESC LIMIT 0, 
         80');
        $donnees = $reponse->fetch();


        while ($donnees = $reponse->fetch())  {


       switch ($donnees['VALIDATION']){
                case 'EN COURS':
                        $color='#FF6347';
                break;
                case 'OK':
                        $color='#9ACD32';
                break;
        }
         if($donnees['TYPE'] == 'CAMION') {
                $color2 = '#FFA500';
        }
        elseif($donnees['TYPE'] != 'CAMION') {
                $color2 = '#9ACD32';
        }

        if(!empty($donnees['HDEPART'])) {
                $color2 = '#C0C0C0';
        }

        if(!empty($donnees['HFIN'])) {
                $color2 = '#FFFAFA';
        }


echo '<form action="Supprimer.php" method="POST"><table><tr style="font-weight:bolder;"><td><strong>
        ' . '<input style="background-color: '.$color2.';" id="test" class="tdrow" style="text-align:center;" type="text" name="date" value="'.htmlspecialchars($donnees['DATE']).'">'
        . '</strong></td><td>' . '<input  style="background-color: '.$color2.';" id="" class="tdrow" type="text" name="type" value="'.htmlspecialchars($donnees['TYPE']).'">'
        . '</strong></td><td>' . '<input  style="background-color: '.$color2.';" class="tdrow" type="text" name="activite" id="" value="'.htmlspecialchars($donnees['ACTIVITE']).'">'
        . '</strong></td><td>' . '<input  style="background-color: '.$color2.';" class="tdrow" type="text" id="transporteur" name="" value="'.htmlspecialchars($donnees['TRANSPORTEUR']).'">'
        . '</strong></td><td>' . '<input  style="background-color: '.$color2.';" class="tdrow" type="text" name="operation" id="" value="'.htmlspecialchars($donnees['OPERATION']).'">'
        . '</strong></td><td>' . '<input  style="background-color: '.$color2.';" class="tdrow" type="text" id="quantite" name="" value="'.htmlspecialchars($donnees['QUANTITE']).'">'
        . '</strong></td><td>' . '<input  style="background-color: '.$color2.';" class="tdrow" type="text" id="allee" name="" value="'.htmlspecialchars($donnees['ALLEE']).'">'
        . '</strong></td><td>' . '<input  style="background-color: '.$color2.';" class="tdrows" type="text" name="harrive" id="" value="'.htmlspecialchars($donnees['HARRIVE']).'">'
        . '</strong></td><td>' . '<input  style="background-color: '.$color2.';" class="tdrow" type="text" name="cariste" id="" value="'.htmlspecialchars($donnees['CARISTE']).'">'
        . '</strong></td><td>' . '<input  style="background-color: '.$color2.';" class="tdrows" type="text" id="hpris" name="" value="'.htmlspecialchars($donnees['HDEPART']).'">'
        . '</strong></td><td>' . '<input  style="background-color: '.$color2.';" class="tdrows" type="text" id="hfin" name="" value="'.htmlspecialchars($donnees['HFIN']).'">'
        . '</strong></td><td>' . '<input  style="background-color: '.$color.';" class="tdrow" type="text" id="validation" name="validation" value="'.htmlspecialchars($donnees['VALIDATION']).'">'
        . '</strong></span></td><th>' . '<input type="hidden" id="id" name="id" value="'.$donnees['ID'].'">
                                  <input type="submit" id="Supp" name="Supp" value="Supp" onclick="return confirm(\'Êtes-vous sûr de vouloir supprimer cette ligne ?\');">'
        . '</strong></td><th>' . '<input type="hidden" id="mod" name="mod" value="'.$donnees['ID'].'">
                                  <input type="submit" id="Modif" name="Modif" value="Modif" onclick="return confirm(\'Êtes-vous sûr de vouloir modifier cette ligne ?\');">'
        . '</th></tr></table></form>';  }
exit;   

$reponse->closeCursor(); ?>

Re: Couleur conditionnelle et problème d'affichage

Posté : 15 mars 2017, 16:27
par Spols
enlève ta ligne $donnees = $reponse->fetch(); juste avant ton while, et tu aura toutes tes lignes

PS : Merci Moogli, c'est beaucoup plus lisible entre balise

Re: Couleur conditionnelle et problème d'affichage

Posté : 15 mars 2017, 16:40
par moogli
salut,

il faut aussi sortir la déclaration du formulaire et l'entête de la table sinon c'est plein de table à une ligne qui vont s'afficher ;) )


@Spols de rien :)

@+

Re: Couleur conditionnelle et problème d'affichage

Posté : 16 mars 2017, 19:29
par zelia
Merci beaucoup à vous deux, effectivement, c'est très bête pour l'en-tête de la table >< :D