Ingection Bdd en php5
saf@1
Messages postés
13
Statut
Membre
-
jordane45 Messages postés 40050 Statut Modérateur -
jordane45 Messages postés 40050 Statut Modérateur -
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ête
Il suffit d'utiliser un fetchAll()
comme ceci :
Vu que tu es en PDO... pas besoin de faire une boucle pour créer un ARRAY avec le résultat de ta requête
while($donnees=$req->fetch(PDO::FETCH_ASSOC))
{
$Produit_commande[] = new produit_commande($donnees);
}
Il suffit d'utiliser un fetchAll()
comme ceci :
$Produit_commande = $req->fetchAll();
-Warning: Invalid argument supplied for foreach() in C:\wamp\www\3KG\view\Vcompte.php on line 28. Que faire?
Que contient ta class produit_commande ?