Garder <option> en mémoire...
le 21/09/2006 à 02:28
Keika
resalut
voila, en relation direct avec mon précédent post (lier des tables...)
j'aimerai savoir comment faire pour que, dans un formulaire contenant <select><option>, je puisse selectionner plusieurs <option> tout en les gardant en mémoire pour additioner leurs prix...
je mets la partie du code qui m'interesse:
<?php
//On lance une requete SQL en selectionnant la table clients
$sql_recherche_stock = 'SELECT id, produit, prix FROM stock ORDER BY produit ASC;' ;
//On lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req = mysql_query($sql_recherche_stock) or die('Erreur SQL !'.$sql.''.mysql_error());
//On affiche les résultats sous forme d'une liste
echo'<select name="stock">' ;
echo'<option selected value=""> </option>' ;
//On va scanner tous les tuples un par un
while ($data = mysql_fetch_array($req)) {
//On affiche tous les résultats
echo'<option value="'.$data['prix'].'">'.$data['produit'].'</option>' ;
}
echo'</select>' ;
?>
Si je ne suis pas clair dites le.
Merci d'avance
K.
Le PHP --> C'est dur !
le 21/09/2006 à 21:02
Bzh
Si tu valides ton formulaire les un après les autres, utilise une variable de sessions !!
Voili...
Fait un :
<select multiple="multiple" name="stock" size="5">
Comme ca, tu pourras en selectionner plusieurs d'un coup.
Apres, libre à toi de traiter le truc en PHP (a la soumission du formulaire) ou en JS (en live) pour faire la somme.
le 22/09/2006 à 03:35
Keika
Merci LA_GLOBULE pour le multiple
par contre Bzh, j'ai essayé ca avec la variable de session:
<?php
if(isset($_POST['stock'])){
$_SESSION['stock'] = array($_POST['stock']) ;
print($_SESSION['stock']) ;
} ?>
et ca me renvois "Array"... normal me diras-tu... cependant je ne vois pas comment faire comprendre au PHP qu'il y a plusieurs valeur de $_POST['stock']
meme juste avec:
<?php
if(isset($_POST['stock'])){
$_POST['stock'];
print($_POST['stock']) ;
} ?>
ca ne me renvois qu'une seule valeur, la derniere selectionnée dans la liste...
Le PHP --> C'est dur !
<?
$_SESSION['stock'][] = $_POST['stock'];
// à la fin de tous tes post, tu aura un tableau rempli dans ta session et tu pourra l'afficher :
print_r($_SESSION['stock']);
// affichage de type "array(indice => valeur)";
?>
Anasha [php-kiche-nomore]
sinon si tu veu un select multiple :
<?
// pour le form
echo '<select multiple size="5" name="stock[]">';
// et puis pour le traitment
foreach ($_POST['stock'] as $stock) {
$_SESSION['stock'][] = $stock;
}
print_r($_SESSION['stock']);
?>
Anasha [php-kiche-nomore]
le 11/10/2006 à 07:15
Keika
Salut a tous,
merci pour vos reponses. Je suis un peu lent ces temps si parceque je viens juste d'emmenager a Sydney et que je dois emprunter le PC (en correen) de mes co-loc.
Mais passons,
merci anasha pour tes aides. Alors voila ce que j'ai fais sur la base de tes infos:
<?php
if(isset($_POST['stock'])){
foreach($_POST['stock'] as $stock){
$produits[] = $stock ;}
$somme_produits = array_sum($produits) ;
print_r($somme_produits) ;
$prix= $_POST['prix'] ;
$pourcentage= (($prix * 20) / 100) ;
$resultat= ($prix - $pourcentage + $somme_produits) ;
echo'' ;
echo'<form action="./scripts/traitement.php" method="post">' ;
echo'<table summary="Pour encaisser">' ;
echo'<tr><td><input type="text" name="resultat" size="8" value="'.$resultat.'" /></td>' ;
echo'<td><input type="submit" name="caisse" value="Encaisser" /></td></tr>' ;
echo'</table></form>' ;
?>
il se trouve que je recois ces erreurs:
Warning: Invalid argument supplied for foreach() in J:AppsPortableFVPAserverwwwChris_Coiffurepagescaisse.php on line 120
Notice: Undefined variable: produits in J:AppsPortableFVPAserverwwwChris_Coiffurepagescaisse.php on line 124
Warning: array_sum() [function.array-sum]: The argument should be an array in J:AppsPortableFVPAserverwwwChris_Coiffurepagescaisse.php on line 124
Apparament $_POST['stock'] n'est pas compris comme un tableau et que donc ca pose probleme pour tout le reste...
une idee ? peut-etre qu'il vous faut mon formulaire alors le voici:
Ici
merci d'avance
K.
Le PHP --> C'est dur !
le 23/10/2006 à 16:32
Keika
Je remets tout ca au gout du jour.
j'ai toujours un soucis avec ce tableau pourri. je ne comprends pas pourquoi il ne m'enregistre pas tous les produits que je selectionne
Le PHP --> C'est dur !
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: