Mysql vers du pdo

vinkey33 Messages postés 92 Date d'inscription mercredi 9 décembre 2015 Statut Membre Dernière intervention 23 janvier 2021 - 22 oct. 2016 à 18:54
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 23 oct. 2016 à 16:16
bonjour es-ce que ces deux ligne de codes sont adapté pour du pdo code;
$resultat=mysql_query($query,$bdd) or die (mysql_error());;
$total=mysql_num_rows($resultat);Bonjour,

5 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
22 oct. 2016 à 19:00
Bonjour
Elles ne sont pas.en pdo
Voi i un exemple en pdo :
http://www.commentcamarche.net/faq/46512-pdo-gerer-les-erreurs

0
vinkey33 Messages postés 92 Date d'inscription mercredi 9 décembre 2015 Statut Membre Dernière intervention 23 janvier 2021
22 oct. 2016 à 19:18
j'ai un peu modifié le code et il me dit que j'ai toujours un probleme sur cette ligne de code mais n'y arrive pas a définir ou :
$resultat->($query,$bdd) or die ();;

sur cette page
<!DOCTYPE html>
<head>
<title>tableau dynamique </title>
<link rel="stylesheet" type="text/css" href="scroller.css">
</head>
<body>
<center><h1>Abonnements</h1></center>
<div class= "border_table">
<center>
<?php
require_once "PDO_connect.php";
$query='SELECT * FROM smartphone.abonnements;';
$resultat->($query,$bdd) or die ();;
$total=($resultat);
if($total) {
echo'<div class="scroller" <table bgcolor="#FFFFFF">'."\n";
echo '<table border="1">'."\n";
echo "<tr>";
echo '<th>Operateur<th>';
echo '<th>SIM<th>';
echo '<th>PUK<th>';
echo '<th>Num ligne<th>';
echo '<th>Volume<th>';
echo '<th>Statut abo<th>';
echo "</tr>";

while($row = mysql_fetch_assoc($resultat)) {
echo '<td>'.$row["Operateur"].'<td>';
echo '<td>'.$row["Num SIM"].'<td>';
echo '<td>'.$row["PUK"].'<td>';
echo '<td>'.$row["Num ligne"].'<td>';
echo '<td>'.$row["Volume"].'<td>';
echo '<td>'.$row["Statut abo"].'<td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
}
else echo 'Pas d\'enregistrements dans cette table...';
?>
<form action="option.php" method="get">
Nom :<select name="nom">
<option value="name1">name1</option>
<option value="name2">name2</option>
<option value="name3">name3</option>
<option value="name4">name4</option>
</select><br>
</form>
</center>
<?
<?php
if(isset($_GET['nom']))
{
$name=$_GET['nom'];
$c=mysql_connect("localhost","root","Mm101010");
mysql_select_db("smartphone.employe");
$ins=mysql_query("INSERT INTO `option`
(name)
VALUES ('$name')",$c) or die(mysql_error());
if($ins)
{
echo "<br>".$name."inserted";
}
}
?>
<br><br>
<center>
<a class="Affectation" href="http://localhost/formulaire/Form_PHP/php_presque_fini/Affectation.php" rel="nofollow noopener noreferrer" target="_blank">Affectation</a>
<a class="Equipement" href="http://localhost/formulaire/Form_PHP/php_presque_fini/Equipement.php" rel="nofollow noopener noreferrer" target="_blank">Equipement</a>
<a class="Reaffectation_Equipement" href="http://localhost/formulaire/Form_PHP/php_presque_fini/Reaffectation_Equipement.php" rel="nofollow noopener noreferrer" target="_blank">Reaffectation Equipement</a>
<a class="Nouvelle_Affectation" href="http://localhost/formulaire/Form_PHP/php_presque_fini/Nouvelle_Affectation.php" rel="nofollow noopener noreferrer" target="_blank">Nouvelle Affectation</a>
<a class="Employe" href="http://localhost/formulaire/Form_PHP/php_presque_fini/Employe.php" rel="nofollow noopener noreferrer" target="_blank">Employe</a>
<a class="Modele" href="http://localhost/formulaire/Form_PHP/php_presque_fini/Modele.php" rel="nofollow noopener noreferrer" target="_blank">Modele</a><br>
</center>
<center><table>
<tr><td><div class="Operateur"> Operateur<input type="text" name="Operateur"> </div></td>
<td>                                     </td>
<td><div class="Num_SIM"> Num SIM :<input type="text" name="Num_SIM"></div></td></tr>
<td>                                     </td>
<tr><td><div class="PUK"> PUK : <input type="text" name="PUK"></div></td>
<td>                                     </td>
<td><div class="Num_ligne"> Num ligne :<input type="text" name="Num_ligne"></div></td></tr>
<td>                                     </td>
<tr><td><div class="Volume"> Volume :<input type="text" name="Volume"></div></td>
<td>                                     </td>
<td><div class="Statut_Abo"> Statut Abo :<input type="text" name="Statut_Abo"></div></td></tr>
</table>
</center>
</body>
</html>

Merci
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
22 oct. 2016 à 19:44
Que vient faire $bdd dans query ?
Ensuiye tu as laissé du mysql dans ta boucle while.
Et... pourquoi ne pas avoir utilisé le code dans le lien que je t'ai donné ?
0
vinkey33 Messages postés 92 Date d'inscription mercredi 9 décembre 2015 Statut Membre Dernière intervention 23 janvier 2021
22 oct. 2016 à 19:50
le $bdd vient de connect_pdo :
<?php
// Fichier de connexion à la bdd : cnxBdd.php
$host = "localhost";
$user = "root";
$pass = "";
$dbn = "smartphone";

try{

$bdd = new PDO("mysql:host=".$hostname.";dbname=".$dbn, $user, $pass);
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
} catch(PDOException $e) {
die('Erreur : ' . $e->getMessage());
}

?>

je les utilisé mais dans autre fichier que je vais appel avec require_once
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
22 oct. 2016 à 20:13
Je reformule autrement .... où as tu vu qu'il fallait passer $bdd dans query ?
ici:
$resultat->($query,$bdd) or die ();;


http://php.net/manual/fr/pdo.query.php



Ensuite... on récupère PROPREMENT les variables AVANT de les utiliser.
ici :
    if(isset($_GET['nom']))
    {
        $name=$_GET['nom'];

... Regarde plûtot comment faire :
http://www.commentcamarche.net/faq/1391-php-notice-undefined-index


Et pour finir ...comme je te l'ai indiqué .. tu as laissé du vieux "mysql"
ici :
while($row = mysql_fetch_assoc($resultat)) {


Voila;. tu as de quoi faire quelques corrections.
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
22 oct. 2016 à 23:59
Tu peux aussi te servir de ce que je t'ai déjà donné comme informations dans ton autre question ... http://www.commentcamarche.net/forum/affich-34016609-probleme-pour-recupere-donnee-depuis-base-de-donnee#2
0
vinkey33 Messages postés 92 Date d'inscription mercredi 9 décembre 2015 Statut Membre Dernière intervention 23 janvier 2021
Modifié par vinkey33 le 23/10/2016 à 15:15
J'ai rectifié le code et maintenant que j'ai une erreur de syntax a la dernier ligne pourtant j'ai bien fermé les balise code:
<!DOCTYPE>
<html>
<head>
<title>tableau dynamique </title>
<link rel="stylesheet" type="text/css" href="scroller.css">
</head>
<body>
<center><h1>Abonnements</h1></center>
<div class= "border_table">
<center>
<?php
require"PDO_connect.php";
$query='SELECT * FROM smartphone.abonnements;';
//$resultat=mysql_query($query,$bdd)();
foreach ($bdd->query($sql) as $row) {
$total=($resultat);
if($total) {
echo'<div class="scroller" <table bgcolor="#FFFFFF">'."\n";
echo '<table border="1">'."\n";
echo "<tr>";
echo '<th>Operateur<th>';
echo '<th>SIM<th>';
echo '<th>PUK<th>';
echo '<th>Num ligne<th>';
echo '<th>Volume<th>';
echo '<th>Statut abo<th>';
echo "</tr>";

while($row = mysql_fetch_assoc($resultat)) {
echo '<td>'.$row["Operateur"].'<td>';
echo '<td>'.$row["Num SIM"].'<td>';
echo '<td>'.$row["PUK"].'<td>';
echo '<td>'.$row["Num ligne"].'<td>';
echo '<td>'.$row["Volume"].'<td>';
echo '<td>'.$row["Statut abo"].'<td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
}
else echo 'Pas d\'enregistrements dans cette table...';
?>
</center>
<br><br>
<center>
<a class="Affectation" href="http://localhost/formulaire/Form_PHP/php_presque_fini/Affectation.php" rel="nofollow noopener noreferrer" target="_blank">Affectation</a>
<a class="Equipement" href="http://localhost/formulaire/Form_PHP/php_presque_fini/Equipement.php" rel="nofollow noopener noreferrer" target="_blank">Equipement</a>
<a class="Reaffectation_Equipement" href="http://localhost/formulaire/Form_PHP/php_presque_fini/Reaffectation_Equipement.php" rel="nofollow noopener noreferrer" target="_blank">Reaffectation Equipement</a>
<a class="Nouvelle_Affectation" href="http://localhost/formulaire/Form_PHP/php_presque_fini/Nouvelle_Affectation.php" rel="nofollow noopener noreferrer" target="_blank">Nouvelle Affectation</a>
<a class="Employe" href="http://localhost/formulaire/Form_PHP/php_presque_fini/Employe.php" rel="nofollow noopener noreferrer" target="_blank">Employe</a>
<a class="Modele" href="http://localhost/formulaire/Form_PHP/php_presque_fini/Modele.php" rel="nofollow noopener noreferrer" target="_blank">Modele</a><br>
</center>
<center><table>
<tr><td><div class="Operateur"> Operateur<input type="text" name="Operateur"> </div></td>
<td>                                     </td>
<td><div class="Num_SIM"> Num SIM :<input type="text" name="Num_SIM"></div></td></tr>
<td>                                     </td>
<tr><td><div class="PUK"> PUK : <input type="text" name="PUK"></div></td>
<td>                                     </td>
<td><div class="Num_ligne"> Num ligne :<input type="text" name="Num_ligne"></div></td></tr>
<td>                                     </td>
<tr><td><div class="Volume"> Volume :<input type="text" name="Volume"></div></td>
<td>                                     </td>
<td><div class="Statut_Abo"> Statut Abo :<input type="text" name="Statut_Abo"></div></td></tr>
</table>
</center>
</body>
</html>

je me demandais si tu accepte toujours de m'aidée
Merci d'avance
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
Modifié par jordane45 le 23/10/2016 à 16:16
Bon...

Déjà... on essaye de placer le maximum de PHP au dessus du code HTML.
Ca rend le code plus lisible

Ensuite... tu avais encore laissé du mysql ... (pas du pdo !!)

Puis tu fais de grosses erreurs dans la structure de tes tableaux html en mélengeant les TR TD ...

Voici ton code corrigé :

<?php
//Affichage des erreurs PHP
error_reporting(E_ALL)

//connexion à la BDD
require"PDO_connect.php"

// La requete :
$query=SELECT * FROM smartphone.abonnements
try{
  $prep = $bdb->prepare($query)
  $prep->execute()
  //on stocke le résultat dans un ARRAY
  $resultats = $prep->fetchAll()
  
}catch(Exception $e){
 //en cas derreur dans la requete
  echo "Erreur ! ".$e->getMessage() 
}

?>
<!DOCTYPE>
<html>
 <head>
  <meta charset="utf8">
 <title>tableau dynamique </title>
 <link rel="stylesheet" type="text/css" href="scroller.css">
 </head>
 <body>
 <center><h1>Abonnements</h1></center>
 <div class= "border_table">
 <center>
  <div class="scroller" <table bgcolor="#FFFFFF">
  <table  border="1">
   <thead>
      <tr>
     <th>Operateur<th>
     <th>SIM<th>
     <th>PUK<th>
     <th>Num ligne<th>
     <th>Volume<th>
     <th>Statut abo<th>
    </tr>
   </thead>
   <tbody>
   <?php
     // si l'array contient des valeurs
   if(!empty($resultats)){
      //on boucle sur chaque ligne de l'array
   foreach  ($resultats as $row) {
     echo "<tr>"
      echo "<td>".$row["Operateur"]."<td>";
      echo "<td>".$row["Num SIM"]."<td>";
      echo "<td>".$row["PUK"]."<td>";
      echo "<td>".$row["Num ligne"]."<td>";
      echo "<td>".$row["Volume"]."<td>";
      echo "<td>".$row["Statut abo"]."<td>";
     echo "</tr>";
   }//fin foreach
     }else {
   echo "Pas d'enregistrements dans cette table...";
   }
   ?>
  </tbody>
  </table>
  
  </center>
  <br><br>
  <center>
    <a class="Affectation" href="http://localhost/formulaire/Form_PHP/php_presque_fini/Affectation.php" rel="nofollow noopener noreferrer" target="_blank">Affectation</a>
    <a class="Equipement" href="http://localhost/formulaire/Form_PHP/php_presque_fini/Equipement.php" rel="nofollow noopener noreferrer" target="_blank">Equipement</a>
    <a class="Reaffectation_Equipement" href="http://localhost/formulaire/Form_PHP/php_presque_fini/Reaffectation_Equipement.php" rel="nofollow noopener noreferrer" target="_blank">Reaffectation Equipement</a>
    <a class="Nouvelle_Affectation" href="http://localhost/formulaire/Form_PHP/php_presque_fini/Nouvelle_Affectation.php" rel="nofollow noopener noreferrer" target="_blank">Nouvelle Affectation</a>
    <a class="Employe" href="http://localhost/formulaire/Form_PHP/php_presque_fini/Employe.php" rel="nofollow noopener noreferrer" target="_blank">Employe</a>
    <a class="Modele" href="http://localhost/formulaire/Form_PHP/php_presque_fini/Modele.php" rel="nofollow noopener noreferrer" target="_blank">Modele</a><br>
  </center>
  <center>
  <table>
  <tr>
      <td><div class="Operateur"> Operateur<input type="text" name="Operateur"> </div></td>
   <td></td>
   <td>
        <div class="Num_SIM"> Num SIM :<input type="text" name="Num_SIM"></div>
      </td>
     </tr>
     <tr>
      <td><div class="PUK"> PUK : <input type="text" name="PUK"></div></td>
   <td></td>
   <td>
       <div class="Num_ligne"> Num ligne :<input type="text" name="Num_ligne"></div>
      </td>
     </tr>
     <tr>
      <td>
       <div class="Volume"> Volume :<input type="text" name="Volume"></div>
      </td>
    <td></td>
    <td>
       <div class="Statut_Abo"> Statut Abo :<input type="text" name="Statut_Abo"></div>
      </td>
     </tr>
  </table>
 </center>
 </body>
</html> 



Vu les nombreuses erreurs de débutant que tu fais... je te conseille vivement de reprendre les bases .... le HTML pour commencer !
Ensuite.. essaye d'apprendre à manipuler les ARRAY en PHP et à faire des tests IF /ELSE ....

Enfin bref...

Cordialement, 
Jordane                                                                 
0
Rejoignez-nous