problème de récupération de variable d'un tableau foreach as key
Posté : 20 oct. 2015, 09:59
bonjour à tous.
j'ai des soucis sur l'enregistrement de devis.
il se pose sous 3 étapes:
page devis.php (tableau avec choix des produits , prix, etc...)
page f2.php (récupération des choix)
page enregistrement-devis.php (insertion dans mes tables devis et detail_devis)
mon problème est le suivant:
comment alimenter ma table detail_devis.
j'ai essayé plusieurs truc mais rien y fait....
du coup j'ai effacé cette partie
j'ai des soucis sur l'enregistrement de devis.
il se pose sous 3 étapes:
page devis.php (tableau avec choix des produits , prix, etc...)
Code : Tout sélectionner
$sql="SELECT * FROM registre_client WHERE id='$_GET[id]'";
$req = mysql_query($sql)or die(mysql_error());
$data = mysql_fetch_assoc($req);
echo '<section><h2>Devis client pour '.$data['client_nom'].' '.$data['client_prenom'].'</h2>';
echo '<form method="POST" action="f2.php?id='.$_GET['id'].'&action=generer">';
$date=date("d-m-Y");
echo'<center><table id="devis">
<thead>
<tr>
<th colspan=5>';
$sql1 = 'SELECT COUNT(*) AS nb FROM devis WHERE id';
$retour1 = mysql_query($sql1);
$donnees1 = mysql_fetch_array($retour1);
$num_devis = date('y').'-'.$donnees1['nb'].'-'.$data['id'];
echo '<input name="num_devis" type="name" value="'.$num_devis.'" id="num_devis" /></br>
<input name="date" type="name" value="'.$date.'" id="date" /></br>
<input name="client_id" type="text" value="'.$data['client_id'].'"/></br>
<input name="client_nom" type="text" value="'.$data['client_nom'].'"/></br>
<input name="client_prenom" type="text" value="'.$data['client_prenom'].'"/></br>
<select name="choix">
<option value="FACTURE">FACTURE</option>
<option value="DEVIS">DEVIS</option>
</select>
</th>
</tr></thead>
<tbody>
<tr><td></td><td> Description </td><td> Prix en euros </td><td> Quantitée </td></tr>';
$sql = "SELECT * FROM produit";
$req = mysql_query($sql)or die(mysql_error());
while($data = mysql_fetch_assoc($req))
{
$prod = array( array('ref_produit'=>$data['ref_produit'], 'nom_produit'=>$data['nom_produit'], 'prix_produit'=>$data['prix_produit']));
//echo '<form method="post" action="photo1.php">';
foreach($prod as $key =>$data)
{
echo'<tr><td></td><td>'.$data['nom_produit'].'</td>
<td>'.$data['prix_produit'].'</td>
<input type="hidden" name="produit['.$data['ref_produit'].'][prix_produit]" value="'.$data['prix_produit'].'">
<input type="hidden" name="produit['.$data['ref_produit'].'][nom_produit]" value="'.$data['nom_produit'].'">
<td><select name="produit['.$data['ref_produit'].'][quantite]">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select><br /></td></tr></tbody>';
}
}
echo '<thead><tr><th colspan=5><a href="./fpdf/pdf4.php"target="_blank"><img src="./images/pdf.png" alt="pdf"></a><input type="submit" value="générer le devis">
</th></tr></thead></table></center></form></br></section></br>Code : Tout sélectionner
$sql="SELECT * FROM registre_client WHERE id=$_GET[id]";
echo $sql;
$req = mysql_query($sql)or die(mysql_error());
$data = mysql_fetch_assoc($req);
echo '<form method="POST" name="insertion" action="enregistrement-devis.php">
<section><h2>Devis/Facture pour '.$data['client_nom'].' '.$data['client_prenom'].'</h2>';
$mail = $data['client_email'];
$client=array($data['client_nom'], $data['client_prenom'], $data['client_adresse'], $data['client_cp'], $data['client_ville'], $data['client_telephone']);
$id_personne = $data['client_id'];
$type = $_POST['choix'];
echo'<table><tr><td width="400">';
echo $_POST['choix'];
echo' n°';
$num_devis = $_POST['num_devis'];
echo '<input name="num_devis" size=9 type="text" value="'.$num_devis.'">';
$date=date("d-m-Y");
echo'</td><td><input name="date" size=9 type="text" value="'.$date.'"></td>
<td><input name="client_id" size=9 type="text" value="'.$data['client_id'].'"/></td></tr></table>
<center><table id="devis">
<tr><th> Ref </th><th width=200> Titre </th><th width=100> Prix unitaire </th><th width=100> Quantitée </th><th width=100> Prix </th></tr>';
if(isset($_POST['produit']))
{
foreach($_POST['produit'] as $key =>$data)
{
if(!empty($data['quantite']))
{
echo '<tr><td><input size=6 name="ref_produit[]" type="text" value="'.$key.'"></td>
<td><input name="nom_produit[]" type="text" value="'.$data['nom_produit'].'"></td>
<td><input size=9 name="prix_produit[]" type="text" value="'.$data['prix_produit'].'"></td>
<td><input size=9 name="quantite[]" type="text" value="'.$data['quantite'].'"></td>
<td><input size=9 name="t[]" type="text" value="'.($data['prix_produit']*$data['quantite']).'"></td></tr></tbody>';
$_SESSION['panier']['produit'][$key]=$data;
$t=($data['prix_produit']*$data['quantite']);
$total += $t;
}
}
}
echo'<tr><td colspan=3></td><td><b>TOTAL:</b></td><td name="total" id="total"><input name="total" size=9 type="text" value="'.$total.'">
</td></tr></table>Code : Tout sélectionner
echo'<section><h2>Résultat</h2>';
$num_devis = $_POST['num_devis'];
$id_client = $_POST['client_id'];
$date = $_POST['date'];
$total = $_POST['total'];
$sql = "INSERT INTO devis (id, num_devis, client_id, date, total) VALUES ('', '$num_devis', '$id_client', '$date', '$total')";
$requete=mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
/*foreach ($_POST['ref_Produit'] as $key => $value)
{
$num_devis = $_POST['num_devis'];
$ref_Produit = $_POST['ref_Produit'];
$nom_produit = $_POST['nom_produit'];
$prix_produit = $_POST['prix_produit'];
$quantite = $_POST['quantite'];
$t = $_POST['t'];
$sql2 = "INSERT INTO detail_devis (id, num_devis, ref_Produit, nom_produit, prix_produit, quantite, t) VALUES ('', $num_devis'.$key.', '.$key.', $nom_produit'.$key.', $prix_produit'.$key.', $quantite'.$key.', $t'.$key.')";
$requete2=mysql_query($sql2) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error());
}*/
if($requete)
{
echo'<h1>Enregistrement du devis éfectué</h1>';
}
else
{
echo("L'insertion à échouée") ;
}
echo'</section></br>';comment alimenter ma table detail_devis.
j'ai essayé plusieurs truc mais rien y fait....
du coup j'ai effacé cette partie