PHP ey Mysql

Bonjour,

j'ai un petit problème j'ai une base des données mysql sous la quelle une tables map qui a 4 Colons " Date op PosReq Requ "
et je veux en utilisant PHP récupéré les donnes de cette tables dans un fichier HTML de la maniéré suivante Par exemple :

Date/OP Op1 Op2 Op3 ...

02-04-2016 PosReq1/Requ1 PosReq2/Requ2 PosReq3/Requ3

05-05-2016 PosReq1/Requ1 PosReq2/Requ2 PosReq3/Requ3
.
.
.

Mercii

3 réponses

  1. voici mon essaye

    <html>
    <head>
    </head>
    <body>
    
    
    <?php
    try
    {
     // On se connecte à MySQL
     $bdd = new PDO('mysql:host=localhost;dbname=application;charset=utf8', 'root', '');
    }
    catch(Exception $e)
    {
     // En cas d'erreur, on affiche un message et on arrête tout
            die('Erreur : '.$e->getMessage());
    }
    
    // Si tout va bien, on peut continuer
    
    // On récupère tout le contenu de la table jeux_video
    $reponse = $bdd->query('SELECT * FROM map  ');
    
    // On affiche chaque entrée une à une
    
     
    ?>
    
     <table width="150px" height="150" CELLSPACING="2" CELLPADDING="2" border="2">
     
     
     <tr>
                 <th>Date</th>    
    
         
          <tr>   
    <th>   
       <?php
    while ($donnees = $reponse->fetch())
    {
    echo $donnees['MeasurementDate'] . '<br />';
    }
    
    $reponse->closeCursor(); // Termine le traitement de la requête
    
    ?>   
       </th>
       </tr>
    
      </tr>
      
     </table>
    
    </body>
    </html>
    


    EDIT : Ajout des balises de code (la coloration syntaxique).
    Explications disponibles ici :ICI

    Merci d'y penser dans tes prochains messages.
    0
    1. Modérateur
      Bonjour,

      Pr défaut l'affichage des erreurs pdo n'est pas active...
      Il faut modifier ta connexion comme ceci :
      <?php
      //Fichier de connexion à la bdd : cnxBdd.php
       try{
         $bdd = new PDO("mysql:host=localhost;dbname=tabdd;charset=UTF8", 'user', 'password');
         $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //pour activer l'affichage des erreurs pdo
      } catch(PDOException $e){
           echo 'ERROR: ' . $e->getMessage();
      } 
      
        • en remplaçant les différentes variables pour que ça correspondre à ton besoin.


      Au passage, mets ce code (celui de la connexion à ta BDD) dans un fichier à part ( en le nommant par exemple cnxBdd.php).
      Ainsi tu n'auras pas besoin de copier/coller ce code partout ... mais juste à INCLURE le fichier dans les pages où tu en auras besoin.

      Ensuite Place le maximum de code PHP ... AVANT ton HTML. Cela rend les codes plus lisibles et sépare le code "dur" de la partie "affichage".

      Ce qui donnerait, avec ton code actuel, ceci :
      <?php
      //affichage des erreurs php
      error_reporting(E_ALL);
      
      //connexion à la BDD
      require_once "cnxBdd.php";
      
      
      //requête
      try{
        // On récupère tout le contenu de la table jeux_video
        $reponse = $bdd->query('SELECT * FROM map  ');
      }catch(Exception $e){
        //en cas d'erreur dans la requete
        echo "erreur : ".$e->getMessage();
      }
      
      
      //fin de la partie PHP.. on passe au HTML
      ?>
      <html>
      <head>
      </head>
      <body>
      
       <table width="150px" height="150" CELLSPACING="2" CELLPADDING="2" border="2">
        <tbody>
         <?php
           $datePrecedente = "";
      
           while ($R = $reponse->fetch()) {
              $date =  $R['Date'];
      
              if($datePrecedente ="" || $datePrecedente != $date){
                  if($datePrecedente !=""){
                       //on ferme la ligne précédente si il y en a une
                      echo "</tr>";          
                   }          
                   //on créé la nouvelle ligne
                  echo "<tr>";          
                  echo "<th>".$date."</th>";
               }
                echo "<td>".$R['op'].": ".$R['PosReq']."/".$R['Requ']."</td>";
      
      
                 $datePrecedente =  $date ; // on place la date dans la variable datePrecedente
           }
           //on ferme la dernière ligne du tableau
           echo "</tr>";       
         $reponse->closeCursor(); // Termine le traitement de la requête
         ?>    
        </tbody> 
      </table>
      
      
      </body>
      </html>
      
      


      NB : J'ai codé ça te tête... il peut y avoir des erreurs.
      Et de plus, je ne suis pas sûr d'avoir vraiment compris comment tu voulais afficher les informations.
      Un DUMP de ta table avec un extraits des données qui s'y trouvent pourrait nous aider à mieux comprendre.

      Enfin bon.. je t'ai donné les bases ... à toi de compléter/modifier selon tes besoins.
      Reviens nous voir avec ton code modifié si tu rencontres des soucis.

      0
      1. Merci jordane45 pour ta réponse mes il parait que vous n'avez pas compris mon problème
        mon problème c que j'ai une base des données qui contient des données comme suit
        par example
        date1 op1 ks ps
        date1 op2 ks5 ps5

        date2 op2 ks2 ps2
        et je veux que la sortie soit de cette maniere

        premier ligne op1 | op2 [ op3....
        date1 ks/ps | ks5/ps5
        date2 ks2/ps2
        etc

        NB: ks/ps doit etre en mem colone que l’opération correspondante
        Merci
        0
    2. voici un autre essaye qui ne marche dans le cas ou un date prendre 2 opérations

      <?php
      //Fichier de connexion à la bdd : cnxBdd.php
      try{
      $bdd = new PDO("mysql:host=localhost;dbname=application;charset=UTF8", 'root', '');
      $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //pour activer l'affichage des erreurs pdo
      } catch(PDOException $e){
      echo 'ERROR: ' . $e->getMessage();
      }
      ?>

      <?php
      //affichage des erreurs php
      error_reporting(E_ALL);

      //connexion à la BDD
      require_once "cnxBdd.php";

      //requête
      try{
      // On récupère tout le contenu de la table jeux_video
      $reponse = $bdd->query('SELECT * FROM map ');
      }catch(Exception $e){
      //en cas d'erreur dans la requete
      echo "erreur : ".$e->getMessage();
      }

      //fin de la partie PHP.. on passe au HTML
      ?>
      <html>
      <head>

      <link rel="stylesheet" type="text/css" media="screen" href="css/accueil.css">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      </head>
      <body>
      <div id="top"></div>

      <table width="150px" id="tableau" height="150" CELLSPACING="2" CELLPADDING="2" border="2">
      <thead>
      <tr>
      <th scope="col">Date/Map Oparation</th>
      <th scope="col">Le temps de l'operation</th>
      <th scope="col">UpdateLocation</th>
      <th scope="col">ProvideRoamingNumber</th>
      <th scope="col">AuthenticationFailureReport</th>
      <th scope="col">UpdateGPRSLocation</th>
      <th scope="col">SendRoutingInformationforShortMessage</th>
      <th scope="col">ReadyforShortMessage</th>
      <th scope="col">AnyTimeInterrogation</th>
      <th scope="col">CancelLocation</th>
      <th scope="col">InsertSubscriberData</th>
      <th scope="col">SendRoutingInformation</th>
      <th scope="col">SendRoutingInformationforGPRS</th>
      <th scope="col">SendAuthenticationInformation</th>
      <th scope="col">ProvideSubscriberInformation</th>

      </tr>
      </thead>
      <tbody>
      <?php
      $datePrecedente = "";
      $timprecedente="";

      while ($R = $reponse->fetch()) {
      $date = $R['MeasurementDate'];
      $tim= $R['MeasurementTime'];

      if($datePrecedente ="" || $datePrecedente != $date || $timprecedente="" || $timprecedente!=$tim){
      if($datePrecedente !=""){
      //on ferme la ligne précédente si il y en a une
      echo "</tr>";
      }
      //on créé la nouvelle ligne

      echo "<tr>";
      echo "<th>".$date."</th><th>".$tim."</th>";
      }
      $pou=(int)($R['OperationRequests']/$R['PositiveResponses'])*100;

      if($R['MAP_measurement_object']=="UpdateLocation"){

      echo "<td >".$R['MAP_measurement_object'].": ".$pou."%"."</td>";

      $datePrecedente = $date ; // on place la date dans la variable datePrecedente
      $timprecedente=$tim;

      }
      else {

      if($R['MAP_measurement_object']=="ProvideRoamingNumber"){

      echo "<td ><td>".$R['MAP_measurement_object'].": ".$pou."%"."</td></td>";

      $datePrecedente = $date ; // on place la date dans la variable datePrecedente
      $timprecedente=$tim;

      }

      else {

      if($R['MAP_measurement_object']=="AuthenticationFailureReport"){

      echo "<td><td ><td >".$R['MAP_measurement_object'].": ".$pou."%"."</td ></td></td>";

      $datePrecedente = $date ; // on place la date dans la variable datePrecedente
      $timprecedente=$tim;

      }

      else {

      if($R['MAP_measurement_object']=="UpdateGPRSLocation"){

      echo "<td><td><td ><td >".$R['MAP_measurement_object'].": ".$pou."%"."</td></td ></td></td>";

      $datePrecedente = $date ; // on place la date dans la variable datePrecedente
      $timprecedente=$tim;

      }

      else {

      if($R['MAP_measurement_object']=="SendRoutingInformationforShortMessage"){

      echo "<td><td><td><td ><td >".$R['MAP_measurement_object'].": ".$pou."%"."</td></td></td ></td></td>";

      $datePrecedente = $date ; // on place la date dans la variable datePrecedente
      $timprecedente=$tim;

      }

      else {

      if($R['MAP_measurement_object']=="ReadyforShortMessage"){

      echo "<td><td><td><td><td ><td >".$R['MAP_measurement_object'].": ".$pou."%"."</td></td></td></td ></td></td>";

      $datePrecedente = $date ; // on place la date dans la variable datePrecedente
      $timprecedente=$tim;

      }

      else {

      if($R['MAP_measurement_object']=="AnyTimeInterrogation"){

      echo "<td><td><td><td><td><td ><td >".$R['MAP_measurement_object'].": ".$pou."%"."</td></td></td></td></td ></td></td>";

      $datePrecedente = $date ; // on place la date dans la variable datePrecedente
      $timprecedente=$tim;

      }
      else {

      if($R['MAP_measurement_object']=="CancelLocation"){

      echo "<td><td><td><td><td><td><td ><td >".$R['MAP_measurement_object'].": ".$pou."%"."</td></td></td></td></td></td ></td></td>";

      $datePrecedente = $date ; // on place la date dans la variable datePrecedente
      $timprecedente=$tim;

      }
      else {

      if($R['MAP_measurement_object']=="InsertSubscriberData"){

      echo "<td >".$R['MAP_measurement_object'].": ".$pou."%"."</td>";

      $datePrecedente = $date ; // on place la date dans la variable datePrecedente
      $timprecedente=$tim;

      }

      }

      }

      }

      }

      }

      }

      }

      }

      }
      //on ferme la dernière ligne du tableau
      echo "</tr>";
      $reponse->closeCursor(); // Termine le traitement de la requête
      ?>
      </tbody>

      </table>

      </body>
      </html>
      0