Bonjour,
Je bloque sur un sujet le name identique.
Je m'explique j'ai créer une boucle qui récupéré des item avec leur prix de la base de donner.
Je souhaite pourvoir modifier le prix d'un item, quand j'utilise la requête sa modifie que le dernier item.
Je c'est que sa vient du name car il est identique partout.
Pour résoudre ça j'ai vu qu'il fallait rajouter des crochet "name='monNon[]'".
Mais la je bloque je vois pas comment après je renvoie en base de donner, car il renvoi array vu que [] -> c'est un tableau.
Es ce que je doit utiliser du javascript pour différencier les name ou en PHP c'est possible de le faire ?
Actuellement en PHP, je c'est modifier seulement quand il y a un name unique.
Voici mon code :
Html
Recuperation base de donneeCode HTML:<table class="tableau"> <thead> <tr> <th colspan="5"> <input class="form-control" id="search" type="text" placeholder="Tape quelques lettres ou chiffres pour trouver ton bonheur !!!"/> </th> </tr> <tr> <th>Numéro</th> <th>Non item</th> <th>Prix</th> <th>Modifier</th> </tr> </thead> <tbody> {% for vente in ventes %} <tr> <td> {{ vente.id }} </td>{#Name et photo#} <td> {{ vente.name|raw }}<br> <img src="{{ vente.photo }}" height="50px" width="50px"> </td>{#Name et photo#} <td> <input type="text" name="prix[]" value="{{ vente.prix }}"> </td>{#Prix#} <td> <button type="submit">Modifier</button> </td>{#modifier#} </tr> {% endfor %} </tbody> </table>
Code PHP:
private function creationItem($post){
$pseudos = $this->db->query("SELECT * FROM guilde")->fetchAll();
$ventes = $this->db->query("SELECT * FROM item")->fetchAll();
return['pseudos' => $pseudos, 'ventes' => $ventes];
}
Modification base de donnee
Merci pour votre aideCode PHP:
foreach ($post as $key => $item){
switch ($key){
case 'prix':
if(!isset($post['prix']) and empty($post['prix'])){
Session::getInstance()->SetFlash('erreur', "Le prix n'a pas était renseigner");
$erreur =true;
}
break;
}
}
if(!$erreur){
$tableau = array(
':prix' => $post['prix']
);
$items = $this->db->query('UPDATE item set prix=:prix WHERE id=:id ', $tableau );
if ($items) {
Session::getInstance()->setFlash('success', 'La modification a bien était effectuée');
}
else {
Session::getInstance()->setFlash('erreur', 'La modification à échoué');
}
}
-----