Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/10/2011, 09h14   #1
Invité de passage
 
Homme
Webmaster
Inscription : septembre 2011
Messages : 17
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Maine et Loire (Pays de la Loire)

Informations professionnelles :
Activité : Webmaster
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2011
Messages : 17
Points : 0
Points : 0
Par défaut Modification requete choix produits

Bonjour,

Je dois effectuer une modification sur une liste de sélection de produit. Actuellement, la liste se présente avec des boutons radio et le choix est unique mais on souhaite désormais sélectionner un ou plusieurs produits.

J'ai donc remplacer les radio par des checkbox mais je suis perdu dans l’élément qu'il faut modifier en code pour que les produits soient inscris en BDD.

Je pense avoir trouvé la zone de code ou cela est géré :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
<td><?php 
$q = "SELECT vtiger_productcf.productid,productname FROM vtiger_products INNER JOIN vtiger_productcf ON vtiger_productcf.productid = vtiger_products.productid WHERE cf_1647 LIKE '%RR'";
$db->query($q);
while($db->next_record()){
	?>
<input type="checkbox" name="cadeau" id="cadeau" value="<?php echo $db->f("productid"); ?>" /> <?php echo $db->f("productname"); ?><br />
<?php 
}
 
?>
 
</td></tr>
Qu'en pensez-vous ? Croyez-vous que c'est à cette étape que l'on peux demander l'enregistreemnt du ou des produits sélectionné(s) ?

Merci d'avance,

Colo
colobe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 10h35   #2
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 029
Points : 18 328
Points : 18 328
Envoyer un message via MSN à CinePhil
Ça c'est l'endroit où est fabriquée la liste des options de choix, pas l'endroit où on récupère le choix de l'utilisateur et où on insère ce choix quelque part dans la BDD.

Mais tu peux déjà modifier cette partie pour faire à la place une liste à choix multiple.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 11h14   #3
Nouveau Membre du Club
 
Aurélien LEQUOY
Inscription : février 2011
Messages : 33
Détails du profil
Informations personnelles :
Nom : Aurélien LEQUOY

Informations forums :
Inscription : février 2011
Messages : 33
Points : 35
Points : 35
Ce topic a besoin d'être déplacé dans débutant, non ?
Aurélien LEQUOY est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 11h24   #4
Invité de passage
 
Homme
Webmaster
Inscription : septembre 2011
Messages : 17
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Maine et Loire (Pays de la Loire)

Informations professionnelles :
Activité : Webmaster
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2011
Messages : 17
Points : 0
Points : 0
Effectivement, j'ai remplacé les radio par des checkbox dans ce fragment de code.

A la fin de ma page, j'ai le code du bouton de validation, est-ce ici ?

Code :
1
2
3
<?php if(!isset($_POST['valider_cadeau_plusieurs'])){?>
<input type="submit" name="valider" id="valider" value="Valider" onClick="validation_checkbox();return document.MM_returnValue;" />
<?php } ?>
Merci pour votre aide en tout cas.

Pour ce qui est du déplacement, et bien je ne sais pas, qui décide ? Sachant que mon sujet a déjà été déplacé par un modérateur, je pense qu'il est au bon endroit non ?
colobe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 11h32   #5
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 029
Points : 18 328
Points : 18 328
Envoyer un message via MSN à CinePhil
Citation:
Envoyé par colobe Voir le message
A la fin de ma page, j'ai le code du bouton de validation, est-ce ici ?

Code :
1
2
3
<?php if(!isset($_POST['valider_cadeau_plusieurs'])){?>
<input type="submit" name="valider" id="valider" value="Valider" onClick="validation_checkbox();return document.MM_returnValue;" />
<?php } ?>
Oui. Le bouton ne doit apparaître que si le formulaire n'a aps encore été soumis par l'utilisateur.

Citation:
Pour ce qui est du déplacement, et bien je ne sais pas, qui décide ? Sachant que mon sujet a déjà été déplacé par un modérateur, je pense qu'il est au bon endroit non ?
Normalement, la modération sur DVP est invisible mais puisque le sujet est abordé dans la discussion...

Le titre de la discussion est "Modification requête choix produits" et cette discussion a été postée d'abord dans le forum MySQL.
Le contenu du sujet, et notamment du code proposé, suggérait qu'il s'agissait plutôt d'une discussion concernant PHP et MySQL, d'où le déplacement de la discussion par votre serviteur dans le présent forum.

Jusqu'ici, la discussion tourne plutôt effectivement sur des sujets de débutant en PHP mais dans le premier message il y a aussi ceci :
Citation:
je suis perdu dans l’élément qu'il faut modifier en code pour que les produits soient inscris en BDD.
Et là il y a des chances qu'on aborde la partie SQL non ?
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 12h06   #6
Invité de passage
 
Homme
Webmaster
Inscription : septembre 2011
Messages : 17
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Maine et Loire (Pays de la Loire)

Informations professionnelles :
Activité : Webmaster
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2011
Messages : 17
Points : 0
Points : 0
Effectivement, ce qui me questionne c'est l'inscription en BDD du ou des produits sélectionné(s).

Je pense que l'inscription est par ici :

Code :
1
2
3
4
 
$q3="INSERT INTO vtiger_inventoryproductrel (id, productid, sequence_no, quantity, listprice, product_name, tax1, type_cadeau) VALUES ('".$db2->f("salesorderid")."','".$_POST['cadeauRDV']."','".($db4->f("sequence_no")+1)."','1','0','".$db5->f("productname")." (Cadeau RDV)','0','RR')";
		$db3->query($q3);
		$db3->next_record();
et du coup on la réutilise pour l'affichage dans la liste finale ici :
Code :
1
2
3
4
5
6
7
8
 
$q3="INSERT INTO vtiger_inventoryproductrel (id, productid, sequence_no, quantity, listprice, product_name, tax1, type_cadeau) VALUES ('".$crmid."','".$_POST['cadeauRDV']."','1','1','0','".$db5->f("productname")." (Cadeau RDV)','0','RR')";
$db3->query($q3);
$db3->next_record();
 
$q = "INSERT INTO vtiger_salesorder (salesorderid, salesorder_no, subject, potentialid, contactid, sostatus, total, subtotal,duedate) VALUES ($crmid, '$salesorder_no','Commande Cadeau RDV (".$_SESSION['potential_no'].")', '".$_SESSION['potentialid']."','".$hotesse_rdv."', 'Non finalisée','0','0','".$_SESSION['date']."')"; 
$dbs->query($q);
$dbs->next_record();
qu'en pensez-vous ? Je n'ai pas d'idée pour qu'il sélectionne le ou les cadeaux proposé(s). Avec ce code, il n'en liste qu'un.

Merci.

Colo
colobe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 12h13   #7
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 029
Points : 18 328
Points : 18 328
Envoyer un message via MSN à CinePhil
Une requête INSERT insère une ou plusieurs lignes dans une table de la BDD. Ce n'est pas fait pour afficher des données ; il faut récupérer les données à afficher avec une requête SELECT.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 14h04   #8
Invité de passage
 
Homme
Webmaster
Inscription : septembre 2011
Messages : 17
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Maine et Loire (Pays de la Loire)

Informations professionnelles :
Activité : Webmaster
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2011
Messages : 17
Points : 0
Points : 0
En fait, juste avant la ligne contenant le $q3=, j'ai ceci :

Code :
1
2
3
4
 
$q3="INSERT INTO vtiger_inventoryproductrel (id, productid, sequence_no, quantity, listprice, product_name, tax1, type_cadeau) VALUES ('".$db2->f("salesorderid")."','".$_POST['cadeauRDV']."','".($db4->f("sequence_no")+1)."','1','0','".$db5->f("productname")." (Cadeau RDV)','0','RR')";
		$db3->query($q3);
		$db3->next_record();
C'est donc cette requête qui affiche les produits "cadeau" ?

Merci.
colobe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 14h32   #9
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 029
Points : 18 328
Points : 18 328
Envoyer un message via MSN à CinePhil
Citation:
Envoyé par colobe Voir le message
En fait, juste avant la ligne contenant le $q3=, j'ai ceci :

Code :
1
2
3
4
 
$q3="INSERT INTO vtiger_inventoryproductrel (id, productid, sequence_no, quantity, listprice, product_name, tax1, type_cadeau) VALUES ('".$db2->f("salesorderid")."','".$_POST['cadeauRDV']."','".($db4->f("sequence_no")+1)."','1','0','".$db5->f("productname")." (Cadeau RDV)','0','RR')";
		$db3->query($q3);
		$db3->next_record();
C'est donc cette requête qui affiche les produits "cadeau" ?

Merci.
Non, c'est une requête d'insertion de données dans la table vtiger_inventoryproductrel.

Pour afficher des données provenant de la BDD, il faut une requête SELECT.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 14h53   #10
Invité de passage
 
Homme
Webmaster
Inscription : septembre 2011
Messages : 17
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Maine et Loire (Pays de la Loire)

Informations professionnelles :
Activité : Webmaster
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2011
Messages : 17
Points : 0
Points : 0
Pfff, n'import' nawak, autant pour moi, je me suis trompé de fragment.

Le fragment avant la requete $q3="INSERT... est

Code :
1
2
3
4
 
$q5="SELECT unit_price,productname FROM vtiger_products WHERE productid='".$_POST['cadeauRDV']."'";
		$db5->query($q5);
		$db5->next_record();
That's better !
colobe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 17h13   #11
Invité de passage
 
Homme
Webmaster
Inscription : septembre 2011
Messages : 17
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Maine et Loire (Pays de la Loire)

Informations professionnelles :
Activité : Webmaster
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2011
Messages : 17
Points : 0
Points : 0
Je pense qu'il faut boucler cette requête non ?
Avez-vous une idée ?

Merci d'avance.
colobe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/10/2011, 15h53   #12
Invité de passage
 
Homme
Webmaster
Inscription : septembre 2011
Messages : 17
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Maine et Loire (Pays de la Loire)

Informations professionnelles :
Activité : Webmaster
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2011
Messages : 17
Points : 0
Points : 0
Bonjour,

Alors j'ai travaillé sur mon fragment de code, j'ai fait la boucle suivante :

Code :
1
2
3
4
5
6
7
 
while ($i=0; $i<count($_POST['cadeauRDV']); $i++; {
 
		$q5="SELECT unit_price,productname FROM vtiger_products WHERE productid='".$_POST['cadeauRDV']."'";
		$db5->query($q5);
		$db5->next_record();
		}
Qu'en pensez-vous ? Apparemment, j'ai une erreur, si vous avez une idée, merci !
colobe est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h35.


 
 
 
 
Partenaires

Hébergement Web