Requete sql et affichage php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Requete sql et affichage php

Re: Requete sql et affichage php

par atome13 » 14 févr. 2012, 15:02

Merci a toi aussi Moogli

Re: Requete sql et affichage php

par moogli » 14 févr. 2012, 14:34

salut,

une sous requête semble plus appropriée vue que c'est pour un seul membre précis.
select id_produit, produit, image, prix from boutique
where id_produit in ( select id_produit from panier where membre='$username');
ton affiche est correct avec le code.

Tu mélange les " dans les variables c'est pas clair surtout que echo "{$data2["produit"]}"; peux avantageusement être remplacé par echo $data2["produit"]; ^^ (ton code en sera plus clair).

Si tu veux que tout ne s'affiche pas a la suite il faut penser à mettre des saut de ligne (<br />).

@+

Re: Requete sql et affichage php

par atome13 » 14 févr. 2012, 14:33

Ok merci

Pour le champ validate, il est dans panier, dsl j'avais mal lu

Voila ça marche, merci, mais impossible de valider ma commande maintenant.

Ma requête UPDATE ne se fait pas. Tu peux m'aider ?

Re: Requete sql et affichage php

par Shenryu » 14 févr. 2012, 14:27

Remplace par le nom des champs correspondants. Validate par exemple n'est pas dans panier d'après ce que tu as mis mais je l'ai mis dedans et il y a sans doute d'autres erreurs du genre ;)

Re: Requete sql et affichage php

par atome13 » 14 févr. 2012, 14:03

Merci de ta réponse

Le validate sert à valider la commande.

Pour ce qui est du code sql, j'ai essayé mais le tien ne marche pas, je vais tenter de résoudre ça.

Re: Requete sql et affichage php

par Shenryu » 14 févr. 2012, 10:23

Ton champ validate c'est quoi ?

Sinon pour ta requête, il faut que tu fasses une jointure. Un truc dans le genre :
SELECT b.* FROM boutique b
JOIN panier ON panier.id_produit = b.id_produit
WHERE panier.membre='$username'
AND panier.validate = '0'
ORDER BY b.produit;

Requete sql et affichage php

par atome13 » 13 févr. 2012, 21:55

Bonsoir

J'ai un petit problème avec mon code php et sql aussi je crois :D

Voila, je choisis dans mon panier les articles que les membres ont commandé.

Ma table panier est composée comme ça :

id, membre, id_produit

Le problème, c'est que lorsque je sélectionne un membre pour afficher ses produits, il m'affiche tous les produits à la suite, donc par exemple les produits 1, 15, 32 s'affichent 11532
et de par ce fait, impossible de mettre en forme l'affichage des produits.

Voila le code :
<?php

	// on recupere les produits du membre
	$sql="SELECT id_produit FROM panier WHERE membre='$username' AND validate='0' ORDER BY id_produit";
	$req= mysql_query($sql) or die('Erreur !<br /><br /> Aucun produit dans votre panier');
	while($data=mysql_fetch_assoc($req)){
		echo "{$data["id_produit"]}";// optionnel, c pour vous montrer
		}
		// on recupere les produits en fonction des id produits
	$sql2="SELECT produit FROM boutique WHERE id='$data[id_produit]'";
	$req2= mysql_query($sql2) or die('Erreur SQL !<br />'.$sql2.'<br />'.mysql_error());
	while($data2=mysql_fetch_assoc($req2)){
		echo "{$data2["produit"]}"; // on affiche le nom du produit
		echo "{$data2["image"]}"; // on affiche son image
		echo "{$data2["prix"]}"; // on affiche son prix
		}	

?>

Voici votre panier :

<?php
echo '<br/>';
echo "<br/>
<form method='validate'> 
<input type=submit name='validate' value='Valider la commande'\><br> 
</form> 
"; 
echo '<br/>';

if (isset($_POST['validate'])) {
  $validate="UPDATE panier WHERE membre='$username' AND id_produit='$data[id_produit]' SET validate='$data[id_produit]'";
  $req= mysql_query($ajout);
  if ($req) { // si le insert s'est correctement déroulé
	header("Location: index.php?site=panier"); 
  echo 'Commande validée';

  }
  else { // sinon
    echo 'Vous n\'avez aucun produit dans votre panier ou votre commande est validée';
  }
} 
 // affichage des liens quoi qu'il arrive
echo '<a href="index.php?site=panier">Voir votre panier</a><br/>';
echo '<br/>';
echo '<a href="index.php?site=boutique">Retour &agrave; la boutique</a>'; 

?>
Si vous pouvez m'aider, merci d'avance.