PHP ey Mysql

Fermé
BZR - Modifié par BZR le 27/05/2016 à 20:38
 BZR - 1 juin 2016 à 02:16
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

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
jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705
28 mai 2016 à 03:20
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
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
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