8768 sujets

Développement web côté serveur, CMS

Bonjour,

Je lance une boucle pour lister une recherche dans ma bdd.

Lorsque l'article est trouvé, je veux mettre un panier d'achat pour que la personne puisse commander l'article.

La recherche donne résultat -> Bonbon un panier d'achat

La recherche donne résulat -> Poire un panier d'achat

Code de la recherche :
$connexion = new PDO('mysql:host='.$VALEUR_hote.';port='.$VALEUR_port.';dbname='.$VALEUR_nom_bd, $VALEUR_user, $VALEUR_mot_de_passe);
$connexion->exec("SET CHARACTER SET utf8");
$req=$connexion->query("SELECT l, d, p, s FROM Articles WHERE d LIKE '%".($_POST['d'])."%' Order by d Asc ");
while ($data = $req->fetch())
echo $data['l'] . " - " . $data['d'] ." - " . $data['p'] . " €" . " - " . $data['s'] . "</br></br>";
$data = $req->fetch();

Le truc c'est qu'il faut que j'arrive à insérer mon code de mon panier d'achat pour avoir le panier sous chaque résultat de recherche. Code panier en html et php.

Sous forme :

<a href="http://XXXt/Panier/panier.php?action=ajout&amp;l=<?php echo $data['l']?>&amp;d=<?php echo $data['d']?> ...
Modifié par Tintin75 (30 Jan 2016 - 16:57)
Généralement tu génère du html avec php, Il suffit de faire un echo :


while ($data = $req->fetch()) {

echo $data['l'] . " - " . $data['d'] ." - " . $data['p'] . " €" . " - " . $data['s'] . "</br></br>";

echo '<a href="http://XXXt/Panier/panier.php?action=ajout&amp;l='.$data['l'].'&amp;d='.$data['d'].' ">Panier</a>';

}
// $data = $req->fetch(); Pas bien compris ce que ça vient faire là


Il est aussi tout à fait possible de faire ceci si tu n'aimes pas la concaténation :


while ($data = $req->fetch()) {
?>

<a href="http://XXXt/Panier/panier.php?action=ajout&amp;l=<?php echo $data['l']; ?>&amp;d=<?php echo $data['d']; ?>">Panier</a>';

<?php 
}


+ ce n'est pas sécurisé d'utiliser directement les valeurs de $_POST[], il faut d'abord vérifier que la chaîne ne contienne que des lettres par exemple

+ les balises autofermantes s'écrivent <balise />, ton </br> n'est pas correct

+ on ne doit pas utiliser des <br /> pour pousser le contenu, il vaut mieux gérer ça avec du css.
Merci beaucoup, je vais essayer.

Ca fonctionne mais j'ai un affichage bizarre, je pense pouvoir m'en sortir. J'ai plein de panier, lorsque je clique sur un panier ça affiche bien l'article dans le panier.

C'est juste un réglage, il faut que j'étudier le code pour voir mes erreurs.

Merci encore.
Modifié par Tintin75 (30 Jan 2016 - 14:58)
Ca fonctionne nickel chrome.

Merci pour tes conseils, bon week-end à toi. Smiley smile
Modifié par Tintin75 (30 Jan 2016 - 17:13)