PHP ey Mysql

BZR -  
 BZR -
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. BZR
     
    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
  2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
     
    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. BZR
       
      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
  3. BZR
     
    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