lien annulé pour panier boutique en sql
Dernière réponse : dans Programmation
Salut.
Encore un nouveau probleme pour les programmeurs en herbe.
j'ai fabriqué une boutique en ligne,qui est geré par base mysql.
j'ai un panier qui contient les produits de mon client.
Le panier est une table sql.
(chaque utilisateur a sa propre table, donc son propre panier).
Comment faire pour appliquer un lien qui permetré d'effacer une ligne de la table.
Pour être plus precis: chaque ligne de la table contient les renseignements du produit:
(il y a 3 champs)
-PRODUIT -TAILLE -QUANTITE
Comment ajouter un champ (annuler) qui permetré d'effacer la ligne correspondant au produit.
N'hesitez pas a me demander plus de détails, si vous n'avez pas saisi.
MERCI pour votre aide.
Encore un nouveau probleme pour les programmeurs en herbe.
j'ai fabriqué une boutique en ligne,qui est geré par base mysql.
j'ai un panier qui contient les produits de mon client.
Le panier est une table sql.
(chaque utilisateur a sa propre table, donc son propre panier).
Comment faire pour appliquer un lien qui permetré d'effacer une ligne de la table.
Pour être plus precis: chaque ligne de la table contient les renseignements du produit:
(il y a 3 champs)
-PRODUIT -TAILLE -QUANTITE
Comment ajouter un champ (annuler) qui permetré d'effacer la ligne correspondant au produit.
N'hesitez pas a me demander plus de détails, si vous n'avez pas saisi.
MERCI pour votre aide.
Autres pages sur : lien annule panier boutique sql
Lassé par la pub ? Créez un compte
Et bien oui, si un panier = une table il faut que tu rajoute un champ par table où un numero est incrementé.
Un numero unique pour chaque article du panier.
Tu n'as plus qu'a faire un bouton "supprimer" qui renvoi le numero de l'article du panier a supprimer.
Et comme l'a dit notre ami Jarash, une petite requette delete from avec ta variable numéro de l'article a supprimer.
Sly.
Un numero unique pour chaque article du panier.
Tu n'as plus qu'a faire un bouton "supprimer" qui renvoi le numero de l'article du panier a supprimer.
Et comme l'a dit notre ami Jarash, une petite requette delete from avec ta variable numéro de l'article a supprimer.
Sly.
c'est ce que je suis en train de faire , mais sa s'avere tres compliqué, exemple de mon code :
$produit = $produit;
$taille = $taille;
$quantite = $quantite;
$annule = "<a href=\"?delete\">effacer</a>";
// on ecrit les variables dans la table
$table="$_SESSION";
$query = "INSERT INTO $table(produit,taille,quantite,annule)";
$query .= " VALUES('$produit','$taille','$quantite','$annule')";
$result = mysql_query($query);
if (isset($_GET["delete"])) {
$SQL = "DELETE FROM $_SESSION"
. " WHERE produit = 'eclectikblanc'";
mysql_query($SQL);}
Comme tu peux le voir j'arrive a inserer un lien effacer pour chaque ligne , mais pour l'instant sa n'efface qu'un produit spécifique en l'occurence :
le produit : 'eclectikblanc'
Toute la dificulté réside dans le fait de pouvoir creer un lien coorespondant au produit de la igne et non pas a un produit prédefini....
je ne sais pas comment faire..
[/color]
$produit = $produit;
$taille = $taille;
$quantite = $quantite;
$annule = "<a href=\"?delete\">effacer</a>";
// on ecrit les variables dans la table
$table="$_SESSION";
$query = "INSERT INTO $table(produit,taille,quantite,annule)";
$query .= " VALUES('$produit','$taille','$quantite','$annule')";
$result = mysql_query($query);
if (isset($_GET["delete"])) {
$SQL = "DELETE FROM $_SESSION"
. " WHERE produit = 'eclectikblanc'";
mysql_query($SQL);}
Comme tu peux le voir j'arrive a inserer un lien effacer pour chaque ligne , mais pour l'instant sa n'efface qu'un produit spécifique en l'occurence :
le produit : 'eclectikblanc'
Toute la dificulté réside dans le fait de pouvoir creer un lien coorespondant au produit de la igne et non pas a un produit prédefini....
je ne sais pas comment faire..
[/color]
Dans ta table panier il te faut rajouter un champ "num" par exemple, ce sera ta clé primaire ce champ "num" sera du "int", unique (forcément puisque 1 numero sera egal a un article) et en auto-increment (comme ca tu n'as pas a gerer ca
).
Voila pour la table.
Ensuite sur ta page d'affichage du panier, je ne sais pas comment tu as gerer ca, mais quand tu recuperes les infos des produits (une ligne par produit) tu recuperes aussi le numero du produit (num).
Et donc ton lien "supprimer" tu le fais pointer vers une page (ou une fonction) avec "num" en parametre. Et tu as juste a faire un delete_from avec le "num".
Voila.
Bon courage A+
Sly.
).Voila pour la table.
Ensuite sur ta page d'affichage du panier, je ne sais pas comment tu as gerer ca, mais quand tu recuperes les infos des produits (une ligne par produit) tu recuperes aussi le numero du produit (num).
Et donc ton lien "supprimer" tu le fais pointer vers une page (ou une fonction) avec "num" en parametre. Et tu as juste a faire un delete_from avec le "num".
Voila.
Bon courage A+
Sly.
j'ai fais un champ ID dans ma table et je lui est apliqué la fonction AUTO_INCREMENT de mysql
pour qu'il creer une nouvelle ID a chaque ligne mais mysql me repond:
ERREUR !! Incorrect column specifier for column 'id'
[/color]
je ne vois pas ou est l'erreur ? je l'ai mis en varchar(25)
aurais tu une idée , est ce bien ca qu'il faut faire ?
pour qu'il creer une nouvelle ID a chaque ligne mais mysql me repond:
ERREUR !! Incorrect column specifier for column 'id'
[/color]
je ne vois pas ou est l'erreur ? je l'ai mis en varchar(25)
aurais tu une idée , est ce bien ca qu'il faut faire ?
ok sa fonctionne, chaque ligne ajouté dans le panier possede son propre numero dans le champ "num"
(le champ "num" est auto_incrementé)
mais maintenant, comment incrementer la fonction :
DELETE * FROM $table where num ='1'
......................................................................................
Car je dis ceci :
$produit = $produit;
$taille = $taille;
$quantite = $quantite;
$annule = "<a href=\"?delete\">effacer</a>"; ";
$query = "INSERT INTO $table(produit,taille,quantite,annule)";
$query .= " VALUES('$produit','$taille','$quantite','$annule')";
$result = mysql_query($query);
if (isset($_GET["delete"])) {
$SQL = "DELETE FROM $_SESSION"
. " WHERE num = '1'";
mysql_query($SQL);}
"
. " WHERE num = '1'
DELETE FROM $_SESSION"
. " WHERE num = '2'
etc............
(j'espere avoir été clair)
merci pour votre aide.
[/color]
(le champ "num" est auto_incrementé)
mais maintenant, comment incrementer la fonction :
DELETE * FROM $table where num ='1'
......................................................................................
Car je dis ceci :
$produit = $produit;
$taille = $taille;
$quantite = $quantite;
$annule = "<a href=\"?delete\">effacer</a>"; ";
$query = "INSERT INTO $table(produit,taille,quantite,annule)";
$query .= " VALUES('$produit','$taille','$quantite','$annule')";
$result = mysql_query($query);
if (isset($_GET["delete"])) {
$SQL = "DELETE FROM $_SESSION"
. " WHERE num = '1'";
mysql_query($SQL);}
"
. " WHERE num = '1'
DELETE FROM $_SESSION"
. " WHERE num = '2'
etc............
(j'espere avoir été clair)
merci pour votre aide.
[/color]
Les quelques lignes que tu montres la servent a creer un nouveau panier.
Quand tu affiches un panier existant tu vas bien faire appel a ta base pour afficher les infos.
Coupler avec une petite boucle pour l'affichage de tout tes articles.
C'est a ce moment la où il faut que tu recuperes ta variable "num". Comme ca chaque ligne (donc chaque article) recupere son numero.
Et ton lien supprimer va se servir de cette variable pour supprimer le bon article.
Sly.
Quand tu affiches un panier existant tu vas bien faire appel a ta base pour afficher les infos.
Coupler avec une petite boucle pour l'affichage de tout tes articles.
C'est a ce moment la où il faut que tu recuperes ta variable "num". Comme ca chaque ligne (donc chaque article) recupere son numero.
Et ton lien supprimer va se servir de cette variable pour supprimer le bon article.
Sly.
comment puis-je faire ca ?
voici mon code pour le moment:
j'insere un lien DELETE dans un champ "ANNULE"
pour chaque ligne.
Chaque ligne a son champ caché "num" auto_incrementé (son identité)
$annule = "<a href=\"?delete\">effacer</a>";
<?
if (isset($_GET["delete"])) {
$SQL = "DELETE FROM $_SESSION"
. " WHERE num = '1'";
mysql_query($SQL);}
?>
Qui me sert a suprimer la ligne correspondante au champ "num"
Le champ dupliqué a chaque ligne est toujours le meme : <a href=\"?delete\">effacer</a>
je sais, on m'a dis de declarer ma variable dans le "while()", mais j'y arrive po.
Pourais tu m'expliquer comment faire exactement pour incrementer ma variable 1 dans "num"
ou pour faire en sorte que mon lien annule prenne en consideration ma nouvelle ligne ?
PS; je suis completement paumé !!! lol
:crying:
merci.[/color]
voici mon code pour le moment:
j'insere un lien DELETE dans un champ "ANNULE"
pour chaque ligne.
Chaque ligne a son champ caché "num" auto_incrementé (son identité)
$annule = "<a href=\"?delete\">effacer</a>";
<?
if (isset($_GET["delete"])) {
$SQL = "DELETE FROM $_SESSION"
. " WHERE num = '1'";
mysql_query($SQL);}
?>
Qui me sert a suprimer la ligne correspondante au champ "num"
Le champ dupliqué a chaque ligne est toujours le meme : <a href=\"?delete\">effacer</a>
je sais, on m'a dis de declarer ma variable dans le "while()", mais j'y arrive po.
Pourais tu m'expliquer comment faire exactement pour incrementer ma variable 1 dans "num"
ou pour faire en sorte que mon lien annule prenne en consideration ma nouvelle ligne ?
PS; je suis completement paumé !!! lol
:crying:
merci.[/color]
Re,
On va reprendre un peu plus au debut.
Pour afficher le contenu de ton panier, tu fais une requete pour recup toute les infos concernant ce meme panier, et avec une boucle ca va te creer une ligne pour chaque article.
Dans chaque ligne tu affiches bien les infos de l'article, tu peux donc associer la variable "num" que tu recuperes dans ta base (tu mets ca dans un champ cacher). Tu as donc bien pour chaque ligne un article different, avec toute les infos s'y rapportant y compris l son numero unique: "num".
Dans ton lien annuler, tu envois cette variable "num" vers une page de suppression qui l'utilisera comme identifiant pour supprimer le bon article dans ta base.
Je prefere t'expliquer plutot que te donner des morceau de code ou te le faire carrement. Tu progressera plus comme ca.
Tu as la demarche maintenant a toi de coder, avec un ensemble de fonctions simples ca se fera tres bien.
Sly.
On va reprendre un peu plus au debut.
Pour afficher le contenu de ton panier, tu fais une requete pour recup toute les infos concernant ce meme panier, et avec une boucle ca va te creer une ligne pour chaque article.
Dans chaque ligne tu affiches bien les infos de l'article, tu peux donc associer la variable "num" que tu recuperes dans ta base (tu mets ca dans un champ cacher). Tu as donc bien pour chaque ligne un article different, avec toute les infos s'y rapportant y compris l son numero unique: "num".
Dans ton lien annuler, tu envois cette variable "num" vers une page de suppression qui l'utilisera comme identifiant pour supprimer le bon article dans ta base.
Je prefere t'expliquer plutot que te donner des morceau de code ou te le faire carrement. Tu progressera plus comme ca.
Tu as la demarche maintenant a toi de coder, avec un ensemble de fonctions simples ca se fera tres bien.
Sly.
RE:
Afficher le "num" pour chaque ligne , jusqu'ici tous va bien ,j'y arrive.
Mais ce que je saisi moins c'est quand tu dis :
slyjohns a écrit :
Dans ton lien annuler, tu envois cette variable "num" vers une page de suppression qui l'utilisera comme identifiant pour supprimer le bon article dans ta base.
Moi j'ai mis comme lien annuler dans le champ "annule" cette ligne de commande :
<a href=\"?delete\">effacer</a>
Je ne vois pas comment je peux récuperer la variable
$val["num"] et la mettre dans mon lien ?
[/color]
Surement que je ne dois pas utiliser ce genre de lien?
Peux tu me donner plus de détails ?
(je suis debutant, il ya encore une semaine , je ne savais meme pas me connecter a une base sql , lol)
merci
Afficher le "num" pour chaque ligne , jusqu'ici tous va bien ,j'y arrive.
Mais ce que je saisi moins c'est quand tu dis :
Citation :
slyjohns a écrit :
Dans ton lien annuler, tu envois cette variable "num" vers une page de suppression qui l'utilisera comme identifiant pour supprimer le bon article dans ta base.
Moi j'ai mis comme lien annuler dans le champ "annule" cette ligne de commande :
<a href=\"?delete\">effacer</a>
Je ne vois pas comment je peux récuperer la variable
$val["num"] et la mettre dans mon lien ?
[/color]
Surement que je ne dois pas utiliser ce genre de lien?
Peux tu me donner plus de détails ?
(je suis debutant, il ya encore une semaine , je ne savais meme pas me connecter a une base sql , lol)
merci
En faite tu n'as meme pas besoin d'un champ cacher, tu recuperes ta variable "num" tu la stock dans $id_article.
Et pour ton lien ce sera un truk du genre supprim.php?num=$id_article
Comme ca dans ta page supprim.php tu pourras recuperer "num" pour supprimer to article.
Bon la c'est un exemple pour que tu comprenne bien le fonctionnement, on preferera peut etre passer les variables autrement: de facon cachées, mais c'est une autre histoire lol.
Sly.
Et pour ton lien ce sera un truk du genre supprim.php?num=$id_article
Comme ca dans ta page supprim.php tu pourras recuperer "num" pour supprimer to article.
Bon la c'est un exemple pour que tu comprenne bien le fonctionnement, on preferera peut etre passer les variables autrement: de facon cachées, mais c'est une autre histoire lol.
Sly.
:lool:
Ca y est , j'ai le truc, bon j'vais pas mentir, apres 7 heures de casses têtes en essayant toutes les possibilités , j'ai fini par craquer et je suis allé pomper un peu, et j'ai fini par trouver:
En mettant le lien directement dans le "while" il se multiplie autant qu'il y a de ligne et du coup grâce à une astuce on récupère la variable "num" de cette ligne et on l'envois à la commande "delete from $table where num=$del".
LA fameuse ligne de commande:
<A href="<?echo $URL."?del=".$val["num"]; ?>">suprimer</A>
[/color]
Sa tue !
En tout cas merci pour tout SLY !
LE ZAO
Ca y est , j'ai le truc, bon j'vais pas mentir, apres 7 heures de casses têtes en essayant toutes les possibilités , j'ai fini par craquer et je suis allé pomper un peu, et j'ai fini par trouver:
En mettant le lien directement dans le "while" il se multiplie autant qu'il y a de ligne et du coup grâce à une astuce on récupère la variable "num" de cette ligne et on l'envois à la commande "delete from $table where num=$del".
LA fameuse ligne de commande:
<A href="<?echo $URL."?del=".$val["num"]; ?>">suprimer</A>
[/color]
Sa tue !
En tout cas merci pour tout SLY !
LE ZAO
Lassé par la pub ? Créez un compte