Ingection Bdd en php5
saf@1
Messages postés
13
Statut
Membre
-
jordane45 Messages postés 30427 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 30427 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour à tous.
Je n'arrive pas à voir une faute dans mon côde. Je veux afficher des infos d'une table et voici l'erreur:< Notice: Undefined variable: prodts in C:\wamp\www\3KG\view\Vcompte.php on line 28>.
Voici ce que jai fais au niveau de ma Controleur:
Au niveau de ma vu:
Au niveau sql:
EDIT : Correction des balises de code.
Je n'arrive pas à voir une faute dans mon côde. Je veux afficher des infos d'une table et voici l'erreur:< Notice: Undefined variable: prodts in C:\wamp\www\3KG\view\Vcompte.php on line 28>.
Voici ce que jai fais au niveau de ma Controleur:
<?php
function chargerclasse($classe)
{
require ('model/class/'. $classe . '.php');
}
spl_autoload_register('chargerclasse'); // fonction d'auto chargement de classe.
$comp= new Produit_commandeManager($bdd);
//recuperons
$prodts= $comp->Compte();
// insertion de la vue
include(dirname(__FILE__).'/../view/Vcompte.php');
?>
Au niveau de ma vu:
<table id="div1">
<tr>
<td>infos compte</td>
<td>modifier</td>
</tr>
</table>
<br/>
<br/> Vos dix dernières commandes
<table id="div1">
<tr>
<td>Nom des produits achettés</td>
<td>Date commande</td>
<td>Prix unitaire</td>
<td>Quantité</td>
</tr>
<?php foreach($prodts as $pro) { ?>
<tr>
<td>...</td>
<td><?php echo $pro->date_commande(); ?></td>
<td>...</td>
<td>....</td>
<td id="tdn"><a href="index.php?page=x"><span>Détails</span></a></td>
</tr>
<?php } ?>
</table>
Au niveau sql:
public function Compte() // code sql-php
{
$Produit_commande = array(); // les resultats sont retournés dans ce tableau
$req = $this->_db->prepare("SELECT * FROM produit_commande ORDER BY id_commande DESC LIMIT 0, 10") or die (print_r($this->_db->errorinfo()));
$req->execute();
while($donnees=$req->fetch(PDO::FETCH_ASSOC))
{
$Produit_commande[] = new produit_commande($donnees);
}
return $Produit_commande;
}
EDIT : Correction des balises de code.
1 réponse
-
Bonjour,
Vu que tu es en PDO... pas besoin de faire une boucle pour créer un ARRAY avec le résultat de ta requêtewhile($donnees=$req->fetch(PDO::FETCH_ASSOC)) { $Produit_commande[] = new produit_commande($donnees); }
Il suffit d'utiliser un fetchAll()
comme ceci :$Produit_commande = $req->fetchAll();