ZooBoole
-
25 janv. 2009 à 18:20
zoby44
Messages postés818Date d'inscriptionvendredi 3 novembre 2006StatutMembreDernière intervention 7 avril 2010
-
25 janv. 2009 à 23:35
Bonjour,
Ben, ma préocupation est la suivant: j'ai un petit programme "maison" que je fais en php. Le programme me permet de vendre des produits que j'airais enregistré comme stock.
A la vente, je doit fournir le :
* nom du client:
* le produit à vendre:
*la quantité:
Seulement, je voudraire vendre plusieurs produits à la fois. c'est-à-dire faire kelke chose du genre:
* nom du client:
* le produit à vendre1 / quantité1:
* le produit à vendre2 / quantité2:
* le produit à vendre3 / quantité3:
----------------infiniment--------------
J'ai donc chercher sur le net un script qui me permet de générer dynamiquement les champs (produit à vendre1 / quantité1)
Mais je n'arrive pas pas maintenant à récupérer les données de ces champs qui sont en javascript alors ke je veux le récupérer en php, faire des calculs et les enregistrer dans la base de données.
Voici le code de ma page:
<?php
if(isset($_POST['ok']) and $_POST['ok']="ok"){
if(isset($_POST["np"])){
if(isset($_POST["classe"])){
if(isset($_POST["prod[0]"]) and isset($_POST["qte[0]"])){
if(isset($_POST["sta"])){
//error_reporting(E_NOTICE ^ E_ALL);
include"param.php";
$rq=mysql_query("SELECT * FROM stkm_restes WHERE classe='$classe'") or die(mysql_error());
$nbre=mysql_num_rows($rq);
$don=mysql_fetch_array($rq);
mysql_free_result($rq);
$pri=$don["prix"];
$qreste=$don["reste"];
if($nbre!="" and $qreste>=$qte){
mysql_query("INSERT INTO stkm_ventes VALUES ('','$classe', '$qte', '$np', '$status', '$pri', '$date')") or die(mysql_error());
$rq=mysql_query("SELECT * FROM stkm_restes WHERE classe='$classe'") or die(mysql_error());
while($o=mysql_fetch_array($rq)){
$vendu=$o["vendu"];
$reste=$o["reste"];
$vendu_f=$vendu+$qte;
$reste_f=$reste-$qte;
//$pu=$o["prix"];
//$prix_total=$qte*$pu;
mysql_query("UPDATE stkm_restes SET vendu='$vendu_f', reste='$reste_f' WHERE classe='$classe'") or die(mysql_error());
}mysql_close();
}else{$e="Le stock de ce document est insuffisant ou est terminé vous ne pouvez vendre.";}
$c="<div align='left' style=='width:200px; border:1px solid green'>
<u>Bilant de la vente:</u> <br>
Client: $np <br>
$classe: $qte | $pu | $prix_total fcfa<br>
[ <a href='javascript:history.back()' style='background-color:lightyellow; text-decoration:none'>Vendre un autre ?</a> ]";
}
}else{$e="Précisez la quantité svp.";}
}
}else{$e="Problème avec le champ 'nom client'.";}
}
?>
<head>
<script language="javascript1.4" type="text/javascript">
function ajoutTemplate(idTemplate)
{
var tableau = document.getElementById('templates');
var newRow = tableau.insertRow(tableau.rows.length-1);
var newCell = newRow.insertCell(0);
tableau.rows[(tableau.rows.length-2)].cells[0].align='left';
newCell.style.visibility="hidden";
newCell = newRow.insertCell(1);
newCell.innerHTML = '<tr><td><select name="prod['+(idTemplate-1)+']"><?php
include"param.php";
$red=mysql_query("select classe from stkm_stock ") or die(mysql_error());
while($da=mysql_fetch_array($red)){
print"<option>".$da[classe]."</option>";
}mysql_close();
?></select> <input type="text" name="qte['+(idTemplate-1)+']]" size="1" style="height:20px; border:1px solid #cccccc; color:#990000" onkeyup="verif_nombre(this);"></td></tr>';
}
</script>
<script language="javascript1.4" type="text/javascript">
/* Pour faire une vérification sans autoriser le point ("."), suivez les instructions qui sont écrites en commentaire */
function verif_nombre(champ)
{
var chiffres = new RegExp("[0-9\.]"); /* Modifier pour : var chiffres = new RegExp("[0-9]"); */
var verif;
var points = 0; /* Supprimer cette ligne */
for(x = 0; x < champ.value.length; x++)
{
verif = chiffres.test(champ.value.charAt(x));
if(champ.value.charAt(x) == "."){points++;} /* Supprimer cette ligne */
if(points > 1){verif = false; points = 1;} /* Supprimer cette ligne */
if(verif == false){champ.value = champ.value.substr(0,x) + champ.value.substr(x+1,champ.value.length-x+1); x--;}
}
Et par pitié, utilise les balises "code" dans le forum, ça a l'avantage de garder l'indentation de ton code, honnêtement, je n'ai pas eu le courage de lire tout ton script, mais je pense que ce que je viens de te dire devrais t'aider. Et n'oublie pas de mettre