[RESOLU] Couleur conditionnelle et problème d'affichage

Petit nouveau ! | 2 Messages

15 mars 2017, 16:13

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(); ?>
Dernière édition par moogli le 15 mars 2017, 16:26, édité 1 fois.
Raison : BBcode

Mammouth du PHP | 1235 Messages

15 mars 2017, 16:27

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
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone de rubik's cube
Ingénieur Industriel Chimie / Biochimie

Avatar de l’utilisateur
Modérateur PHPfrance
Modérateur PHPfrance | 8755 Messages

15 mars 2017, 16:40

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 :)

@+
Il en faut peu pour être heureux ......

Petit nouveau ! | 2 Messages

16 mars 2017, 19:29

Merci beaucoup à vous deux, effectivement, c'est très bête pour l'en-tête de la table >< :D