begin process at 2012 05 31 05:33:31
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

panier de commande avec phpmyamin


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

panier de commande avec phpmyamin

lundi 19 septembre 2005 à 20:00:55 | panier de commande avec phpmyamin

girvin

Membre Club
Bonjour,
J'essaye de faire un panier d'achat, cependant, je n'arrive pas à ajouter de produit dans mon panier. J'ai bien essayer d'ouvrir les tutos existants, mais même en payant, je ne comprend spas comment on y accède. Je pense toutefois que mon problème est différent puisqu'il se situe au niveau de la boucle expliquée ce-dessous.

Il existe différentes catégories de produits. L'utilisateur en choisit une dans une liste déroulante et un tableau des différents produits de cette catégorie s'affiche.

 Pour générer ce tableau, j'ai fait une boucle (colorée en bleu dans le code)sur ma base de données phpmyamin où se trouve ma table produits.

Le tableau comporte plusieurs colonnes, à savoir, une photo, un descriptif, le prix et une case (checkbox) pour ajouter un produit dans le panier de commande.
Mais comment afficher cette sélection? (en gras dans le code).

merci d'avance,
virginie
<?php
    if(isset($_POST["envoi"])){
                          if($bdd = mysql_select_db('goldidental', $link)) {                
                                   $q="SELECT * FROM Produits  ";
                                        switch ($_POST["requetes"]){
                                            case 1:$q.="WHERE categorie='Amalgames'";break;
                                            case 2:$q.="WHERE categorie='Appareils'";break;
                                            case 3:$q.="WHERE categorie='Blanchiment'";break;
                                            case 4:$q.="WHERE categorie='Ciment '";break;
                                            case 5:$q.="WHERE categorie='Composites'";break;
                                            case 6:$q.="WHERE categorie='Dents'";break;
                                            case 7:$q.="WHERE categorie='Désinfection'";break;
                                            case 8:$q.="WHERE categorie='Disposable'";break;
                                            case 9:$q.="WHERE categorie='Empreintes'";break;
                                            case 10:$q.="WHERE categorie='Endo'";break;
                                            case 11:$q.="WHERE categorie='Fraises'";break;
                                            case 12:$q.="WHERE categorie='Instruments'";break;
                                            case 13:$q.="WHERE categorie='Polissage'";break;
                                            case 14:$q.="WHERE categorie='Produits                       chirurgicaux'";break;
                                        }
                                        if(!empty($_POST["tri"])){
                                            switch ($_POST["tri"]){
                                            case 1:$q.="ORDER BY Nom_Produit ASC";break;
                                            case 2:$q.="ORDER BY Prix_Produit ASC";break;
                                            case 3:$q.="ORDER BY Nom_Produit ASC";break;
                                            }
                                        }                                        
                                    $query = mysql_query($q, $link);
                                    echo"<table id='table_pdt' width='600px'><tr><th>Photo</th><th>Nom</th>
                                            <th>Description</th><th>Prix</th></tr>";
                                                                
                                    while ($row = mysql_fetch_assoc($query)) {
                                                                     
                                        echo"<tr id='ligne_photos'><td id='case_photos'><img     id=\"photos_produits\"
                                                    src=".$row['Photo_Produit']."></td>";
                                        echo" <td> ".$row['Nom_Produit'];"<\td>";
                                        echo" <td> ".$row['Description_Produit'];"<\td>";
                                        echo" <td> ".$row['Prix_Produit'];"<\td>";
                                        echo" <td><form name='quantite' action=".$_SERVER['PHP_SELF']." method='post'>
                                                <input type='checkbox' name='choix' value='$select'/>                                                                                                
                                                <\td></tr>";                                            
                                    }   
                                         
                    
                                    echo"</table>";
                                    if (isset($_POST['requetes'])){
                                    ?>
                                        <input type="submit" name="add" value="ajouter à mon panier"/></form>
                                    <?php ;
                                    }                                    
                                   
                                     if ( isset($_POST['add'])){
                                             foreach($row as $value){
                                                        if (isset($_POST['choix'])){echo 'choix';
                                                                $marequete="INSERT  INTO commandes (produit)                                                             VALUES ('".$row['nom_produit']."')";
                                                                if(mysql_query($marequete,$link)){
                                                                        echo 'ok';
                                                                }else echo 'merdoum';
                                                          }
                                            }

                                     }               
                                                    
                                   
                                    
                              echo mysql_error();    
                            }else{ $message .="<b>Erreur: La BD  n'existe pas!</b><br/>\n";echo $message;}
                        }    
                                                      
                        ?>
lundi 19 septembre 2005 à 21:14:49 | Re : panier de commande avec phpmyamin

J_G

Salut,

Merci d'avoir mis en relief les parties intéressantes de ton code... Vraiment appréciable.

Si je reprend ton code avec le même code de couleur pour t'indiquer quel partie je commente :


 while ($row = mysql_fetch_assoc($query)) {
/* Ici tu vas dérouler tout ton résultat MySQL */
}

/* Tu est sorti de la boucle while */
/* Donc ça veus dire que $row==false */

foreach($row as $value){
/* Désolé, mais $row==false !!! */
/* Jamais tu ne rentreras dans le foreach ...*/                                           
}

.

lundi 19 septembre 2005 à 21:19:37 | Re : panier de commande avec phpmyamin

J_G

Conclusion :

Si tu veux redérouler ton résultat, rembobine le avec la fonction :
mysql_data_seek()

Et n'oubli pas de libérer la ressource à la fin de l'envoi avec :
mysql_free_result()

Voili, bonne chance!
lundi 19 septembre 2005 à 21:36:23 | Re : panier de commande avec phpmyamin

girvin

Membre Club
Merci pour ta réponse rapide!!! Je ne connais pas ces fonctions  mais j'vais essayer.
Encore merci
lundi 19 septembre 2005 à 21:40:04 | Re : panier de commande avec phpmyamin

J_G

Psst : si tu cliques sur les fonctions, t'arrives directe dans la documentation PHP...



lundi 19 septembre 2005 à 23:21:58 | Re : panier de commande avec phpmyamin

girvin

Membre Club
bon, j'ai retourné le problème dans tous les sens , je ne vois pas.
je ne maîtrise pas assez le php.
Le problème vient du  fait que $query n'est pas reconnu (au niveau du code en gras).
J'affiche la partie modifiée de mon code mais je pense que je m'égare.

J'espère qu'il n'est pas trop brouillon.

if (isset($_POST['add'])){ echo'add';
      
        for ($i = mysql_num_rows ($query) - 1; $i >=0; $i--) {
              if (!$seek=mysql_data_seek($query,$i)){
                 $rows=mysql_fetch_row($seek,$i);               
                 continue;
              }             
              if (!($rows = mysql_fetch_assoc($query))) {
                 continue;
              }
            
              if(isset($_POST['choix'])){  
              soit  
                        $marequete="INSERT  INTO commandes (Nom_Produit) VALUES ('".$rows['nom_produit']."')";
                      if(mysql_query($marequete,$link)){
                             echo 'ok';
                   }else echo 'merdoum';
 
              }continue;
        }
            
                   
           ou
          foreach ($rows as $value){echo $rows['Nom_Produit'];
           if (isset($_POST['choix'])){echo 'choix';
             $marequete="INSERT  INTO commandes (Nom_Produit) VALUES ('".$rows['nom_produit']."')";
             if(mysql_query($marequete,$link)){
              echo 'ok';
             }else echo 'merdoum';
           }
          }
         } mysql_free_result($query);                    
       ?>

Merci
mardi 20 septembre 2005 à 08:16:24 | Re : panier de commande avec phpmyamin

J_G

Good Morning !

Non, tu recommences simplement ainsi :


mysql_seek_data($query,0);
while( $row = mysql_fetch_assoc($query) {
     if (isset($_POST['choix'])){echo 'choix';
         $marequete="INSERT  INTO commandes (produit) VALUES ('".$row['nom_produit']."')";
         if(mysql_query($marequete,$link)){
             echo 'ok';
         }else echo 'merdoum';
     }
}
mysql_free_result($query);


Mais je n'arrive pas bien à cerner ce que doit faire ton code !!!


mardi 20 septembre 2005 à 11:02:17 | Re : panier de commande avec phpmyamin

girvin

Membre Club
hello,

J'vais essayé d'être plus claire:
La boucle while en bleu affiche un tableau avec les produits(prix,photos...) de la catégorie choisie par l'utilisateur.

La dernière ligne de la boucle est un checkbox. A coté de chaque ligne produit, l'utilisateur peu cocher cette case, signifiant qu'il veut ajouter ce produit à son caddie.

Lorsque l'utilisateur a terminé, il clique sur le bouton "add"(partie en gras).
Je voulais qu'au clic,if (isset($_POST['add'])){ mon code php vérifie dans chaque ligne si l'utilisateur a choché la case.
if(isset($_POST['choix'])){ 

Le problème , c'est que $query n'est pas reconnu à ce niveau du code (en gras). Mais je ne peu quand même pas le mettre dans la boucle. voilà
ca fait des semaines que je suis dessus........
mardi 20 septembre 2005 à 13:01:19 | Re : panier de commande avec phpmyamin

J_G

Je vais te filer un serieux coup de pousse !
Nome tes checkboxes ainsi :
<input type=checkbox name="chk['<?=$id_produit?>'] value="<?=$nom_produit?>" />

Après l'action submit, tu récupèrera la variable suivante :
$add = $_POST['chk']; // <= c'est un tableau qui comprend toutes les checkboxes cochées !!!
foreach($add as $id_produit => $nom_produit) {
    /* Constriut ta requète SQL ici */
    /* Tu as tout : l'id du produit et son nom */
    /* C'est quasi magique !!! */

    /* ATTENTION : */
    /* si aucune checkbox n'est cochée */
    /* la variable $_POST['chk'] n'existe pas !!! */
    /* Dans ce cas utilise $add = isset($_POST['chk']) ? $_POST['chk'] : array(); */
}

A + ;)

mardi 20 septembre 2005 à 13:03:11 | Re : panier de commande avec phpmyamin

J_G

Pouce, avec un 'c'
Nomme, avec deux 'm'
Récupèreras, avec un 's'

désol' pour l'othographe et la grammaire


1 2 3

Cette discussion est classée dans : case, break, echo, where, categorie


Répondre à ce message

Sujets en rapport avec ce message

problème avec id resource, non compris!!! [ par titigrou ] kikou!!j'ai un gros problème:j'ai un tableau ou je veux afficher le nom des voitures:for ($j=0;$j{ switch ($j) { case 0 : echo"".$voiture."" upload image [ par zizou94 ] bonjourje suis debutant dans la programmation et la je seche. pouvez vous m'aider ?j'ai creer une page pour la gestion des articles et a la ligne ajou upload image [ par zizou94 ] bonjourje suis debutant dans la programmation et la je seche. pouvez vous m'aider ?j'ai creer une page pour la gestion des articles et a la ligne ajou Liste à choix multiple... [ par Ang3lo ] Bonjour à tous,J'aimerai savoir quel est le code à inserer pour récupérer une donné venant d'une liste à chois multiple.Moi je met ça :switch ($source checkbox et initiales [ par titigrou ] voila ce que tu avais fait la dernière fois:function visible(nom, row, col){ if (document.getElementById(nom).checked==1) { document.getElementById(' Un bug dans le script, quelqu'un voit la reponse? [ par benbax ] Voila le script : $dt=include("compteurDT.cpt"); //Contient le nombre x$msn=include("compteurMSN.cpt"); //Contient le nombre x$vnc=include("co Afficher une page en fonction du jour [ par Rimb0 ] Bonjour à tous ! Comme le précise le titre de ce post, je cherche comment il serait possible d'afficher une page en fonction du jour ! Voici le scrip redirection en php [ par Angelina38 ] Bonjour,Je suis en train de développer une fonction menu : Le langage de programmation utilisé est php.function menu($num){ switch ($num) { case 1 :   Switch [ par ToToL ] Bonjour,Premièrement voici mon code :$toto='aa';switch ($toto) {case'bb'</span Plusieurs case dans un switch [ par Rimb0 ] Bonjour à tous !J'ai écrit un bout de code...-------------------------------------case 'video':echo "$d[2] ";echo "(vue $d[0] fois)</span&gt


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,950 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales