Aligner des numeros de commandes avec des status

Bonjour à tous.

Je travaille actuellement sur un projet qui est donc de récupérer des commandes qui proviennent d'une base de donnée mssql.

J'affiche donc les numéros de commandes ainsi que si elles sont préparés ou non.

Je souhaiterais c'est pourvoir sur 3 lignes comme il est présent sur le screen , pouvoir mettre a coté de le nom de la commande afin que cela fasse quelque chose de propre et épuré

Voici mon code php et css : 

/*FONTS*/
@import url('https://fonts.googleapis.com/css2?family=Montserrat%3Aital%2Cwght%401%2C300&display=swap');


body{
    background-color: black;
}

.list-column {
    column-count: 3;
    column-gap: 70px;
    padding-left: 0;
}


.cmdnum{
    font-family: 'Montserrat';
    color: white;
    font-weight: bold;
    font-size: 30px;
    margin-left: 40px;
    background-color: red;
}


.ENCOURS{
        font-family: 'Montserrat';
        color:orange;
            font-weight: bold;
                font-size: 30px;
                margin-left: 40px;


}

.PRETE{
        font-family: 'Montserrat';
    color: green;
        font-weight: bold;
        animation-duration: .8s;
    animation-name: clignoter;
    animation-iteration-count: infinite;
    transition: none;
        font-size: 30px;
        margin-left: 20px;



}
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta http-equiv="refresh" content="5" />
    <link rel="stylesheet" type="text/css" href="css/tests.css">
    <title></title>
</head>
<body>
    <center>
        <div class="TH">
            <br><br>
                    <ul class='list-column'>
                        <li><?php
                            $dsn="";
                            $user="";
                            $password="";
                            $conn=odbc_connect($dsn,$user, $password);

                            //REQUETES
                            $sql = <<<EOF
                            SELECT enc_id, enc_cmd_num, enc_paye, enc_prepared, enc_ext_ref, enc_heure_fab_deb, enc_heure_fab_fin, Client.cli_civilite,Client.cli_nom, Client.cli_prenom FROM Client RIGHT JOIN encaissement ON Client.cli_id = encaissement.enc_client WHERE enc_etat<>4 AND enc_date= '20221229' AND ((DATEDIFF(n,enc_heure_fab_fin, getDate()) < 3 AND enc_prepared <> 0) OR enc_prepared = 0) AND enc_emporte <> 1 ORDER BY encaissement.enc_heure_fab_deb ASC
                    EOF;
                            
                            $results = odbc_exec($conn,$sql);
       
                            while($resultrow = odbc_fetch_array($results)){ 
                            echo "<span class='cmdnum'>".$resultrow["enc_cmd_num"]."</span>" ; }


                        $results = odbc_exec($conn,$sql);
 
                        if( $results )
                        {
                            while($resultrow = odbc_fetch_array($results))
                            {
                                switch($resultrow['enc_prepared'])
                                {
                                    case 0:
                                        echo"<p class='ENCOURS'>EN PREPARATION<p/>\r \n";
                                        break;
                                    case 1:
                                        echo "<p class='PRETE'>COMMANDE PRÊTE<p/>\r\n";
                                        break;
                                }
                            }
                        }

                        ?>
                    </ul>
                        </li>           

2 réponses

  1. Modérateur

    Bonjour,

    Déjà, au lieu de faire des "paragraphes" pour tes status ( avec la balise <p> ) continue sur du SPAN.

    Ensuite, ta boucle doit générer un LI pour chaque ligne de résultat. Là, tu mets tous les résultats dans le même LI .. ce qui n'a aucun sens.

    Et enfin il te suffit de jouer avec le css ( et l'attribut width ) pour mettre tes spans (pour chaque LI ) côte à côte.


    0
    1. "Et enfin il te suffit de jouer avec le css ( et l'attribut width ) pour mettre tes spans (pour chaque LI ) côte à côte."

      Je comprend pas ce que tu veux dire par la..

      Mais concernant la balise j'en est pris note et j'ai modifié

      <!DOCTYPE html>
      <html>
      <head>
          <meta charset="utf-8">
          <meta name="viewport" content="width=device-width, initial-scale=1">
          <meta http-equiv="refresh" content="5" />
          <link rel="stylesheet" type="text/css" href="css/testsss.css">
          <title></title>
      </head>
      <body>
          <center>
              <div class="TH">
                  <br><br>
                          <ul class='list-column'>
                                  <?php
                                  $dsn="";
                                  $user="";
                                  $password="";
                                  $conn=odbc_connect($dsn,$user, $password);
      
                                  //REQUETES
                                  $sql = <<<EOF
                                  SELECT enc_id, enc_cmd_num, enc_paye, enc_prepared, enc_ext_ref, enc_heure_fab_deb, enc_heure_fab_fin, Client.cli_civilite,Client.cli_nom, Client.cli_prenom FROM Client RIGHT JOIN encaissement ON Client.cli_id = encaissement.enc_client WHERE enc_etat<>4 AND enc_date= '20221229' AND ((DATEDIFF(n,enc_heure_fab_fin, getDate()) < 3 AND enc_prepared <> 0) OR enc_prepared = 0) AND enc_emporte <> 1 ORDER BY encaissement.enc_heure_fab_deb ASC
                          EOF;
                                  
                                  $results = odbc_exec($conn,$sql);
             
                                  while($resultrow = odbc_fetch_array($results)){ 
                                  echo "<ul><span class='cmdnum'>".$resultrow["enc_cmd_num"]."</span></ul>" ; }
      
                              $results = odbc_exec($conn,$sql);
       
                              if( $results )
                              {
                                  while($resultrow = odbc_fetch_array($results))
                                  {
                                      switch($resultrow['enc_prepared'])
                                      {
                                          case 0:
                                              echo"<li><span class='ENCOURS'>EN PREPARATION</span></li>\r \n";
                                              break;
                                          case 1:
                                              echo "<li><span class='PRETE'>COMMANDE PRÊTE</span></li>\r\n";
                                              break;
                                      }
                                  }
                              }
      
                              ?>
                          </ul>
                              </li>           
      0
      1. Modérateur

        Tu as déjà un UL .. pourquoi en remets tu un dans ta boucle ?

        Comprends tu le fonctionnement du html  et comment on créé une liste  avec ??

        En gros :

        Un UL

        Puis ta boucle

         LI

         Tes deux spans

        Fermeture du LI

        Fin de la boucle

        Fermeture du UL

        0