bonjour je souhaiterais inserer le contenu de plusieurs formulaires dans ma table. la table est: bon(code, Numbon,client,date)
le traitement de la page:
<?php
//require_once('connexion.php');
try{
$bdd=new pdo('mysql: host=localhost;dbname=escfinal;charset=uft8', 'root','');
}
catch(Exception $e)
{
die ('Erreur:'. $e->getMessage());
}
$prod=$_POST['ch0'];
$prix=$_POST['bh1'];
$quant=$_POST['dh2'];
$date=$_POST['date'];
$bon=$_POST['bonre'];
$cli=$_POST['client'];
//$bdd->exec('INSERT INTO bon(codebon,Numbon,client, date) VALUES(' ','$bon','$cli','$date')';
//for($i=1;$i<11;$i++)
//{
// if($i!=1){$rq.=",";}
// $rq.="(".$value[$i][1].",".$value[$i][2].",".$value[$i][3].")";
//echo 'Le jeu a bien été ajouté !';
$req = $bdd->prepare('INSERT INTO produit(codebonrecus,libelleProduit, pu, qtecom,date,qtestock,codeprofoerma) VALUES(:codebon, :produit, :pu, :qteco, :date, :qtesto,:codepro)');
$req->execute(array(
'codebon' => $bon,
'produit' => $prod,
'pu' => $prix,
'qteco' => $quant,
'date' => $date,
'qtesto' => '',
'codepro' => ''
));
$req->closeCursor();
// $req="insert into bon values ('','$bon','$cli','$date')";
//$test=mysql_query($req) or die(mysql_error());
//$sql='insert into produit (code_produit,codebonrecus,libelleProduit,pu,qtecom,date,qtestock,codeprofoerma)
//VALUES';
//echo $pro="insert into produit (code_produit,codebonrecus,libelleProduit,pu,qtecom,date,qtestock,codeprofoerma)
// values('','$bon','$prod','$prix','$quant','$date','','')";
// mysql_query($pro) or die (mysql_error());
header('location:index.php?page=page_comRecu_test');
?>
Bonjour,
OLALA attends on reprend les bases édite ton post met :
et après on va pouvoir t'aider la y a rien pour bosser
bon courage à toi
Bonjour.
bonjour je souhaiterais inserer le contenu de plusieurs formulaires dans ma table
Pour commencer, tu ne peux soumettre qu''un seul formulaire à la fois et non plusieurs, il te faut donc soit faire un formulaire global pour toutes les données à soumettre, soit faire tes différents formulaires et les traiter séparément.
Ensuite, comme il te l'a été dit précédemment, corriges le contenu de ton sujet en mettant la balise de code à la ligne suivante et non sur la même ligne que ta phrase, car tu ne sembles même pas avoir vérifié ce que tu avais posté et ajoutes les autres codes comme il t'a également été dit précédemment.
voici la page
<html>
<head>
<link href="bootstrap-3.3.2-dist/css/bootstrap-theme.min.css" rel="stylesheet" type="text/css">
<link href="bootstrap-3.3.2-dist/css/bootstrap-theme.css" rel="stylesheet" type="text/css">
<link href="bootstrap-3.3.2-dist/js/bootstrap.js" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.Style1 {
font-family: Geneva, Arial, Helvetica, sans-serif;
font-style: italic;
font-weight: bold;
}
.Style2 {font-size: large}
-->
</style>
<link href="bootstrap-3.3.2-dist/css/bootstrap.css" rel="stylesheet" type="text/css">
<p> </p>
<p> <span style="font-style: italic">
<marquee style="color:#FF0000">
<span class="Style2"> BIENVENUE CHEZ ESC TECHNOLOGY </span>
</marquee>
</span> </p>
<script type="text/javascript">
var c,c2, ch, b,b2,bh,d,d2,dh,ch0, ch1, ch2;
// ajouter un champ avec son "name"
function plus(){
c=document.getElementById('cadre');
c2=c.getElementsByTagName('input');
ch=document.createElement('input');
ch.setAttribute('type','text');
ch.setAttribute('name','ch'+c2.length);
ch.setAttribute('placeholder','produit');
ch.setAttribute('required','required');
ch.setAttribute('size','25');
c.appendChild(ch);
document.getElementById('sup').style.display='inline';
b=document.getElementById('cadre');
b2=b.getElementsByTagName('input');
bh=document.createElement('input');
bh.setAttribute('type','text');
bh.setAttribute('name','bh'+b2.length);
bh.setAttribute('placeholder','prix');
bh.setAttribute('required','required');
bh.setAttribute('size','25');
b.appendChild(bh);
document.getElementById('sup').style.display='inline';
d=document.getElementById('cadre');
d2=d.getElementsByTagName('input');
dh=document.createElement('input');
dh.setAttribute('type','text');
dh.setAttribute('name','dh'+d2.length);
dh.setAttribute('placeholder','quantité');
dh.setAttribute('required','required');
dh.setAttribute('size','25');
d.appendChild(dh);
document.getElementById('sup').style.display='inline';
}
// supprimer le dernier champ;
function moins(){
if(c2.length>0){c.removeChild(c2[c2.length-1])}
if(c2.length==0){document.getElementById('sup').style.display='none'};
if(b2.length>0){c.removeChild(b2[b2.length-1])}
if(b2.length==0){document.getElementById('sup').style.display='none'};
if(d2.length>0){c.removeChild(d2[d2.length-1])}
if(d2.length==0){document.getElementById('sup').style.display='none'};
}
</script>
</head>
<fieldset style=" height:250px;">
<h1>
<legend><em>Enregistrement des bons de commandes reçus </em></legend>
</h1>
<form id="frm" method="post" action="traitement_commande.php" >
<table width="324" border="0">
<tr>
<td width="80"><span class="Style1">N°bon</span></td>
<td width="234"><label>
<input type="text" name="bonre">
</label></td>
</tr>
<tr>
<td><span class="Style1">Client</span>: </td>
<td><select name="client" id="client" required="required">
<?php
echo "<option></option> ";
require_once('connexion.php');
$afichcli=mysql_query("select DISTINCT raison_sociale from client") or die (mysql_error());
while($row=mysql_fetch_array($afichcli))
{
echo"<option>$row[0]</option>";
}
echo"</select>";
?>
</select></td>
</tr>
<tr>
<td><span class="Style1">Date Reception </span></td>
<td><label>
<input type="text" name="date" required="required" value="<?php
$datetime=date("d-m-Y");
echo $datetime;
?>"/>
</label></td>
</tr>
</table>
<div id="cadre" style="margin-left:1px;width:1px; margin-right:1px; background-position:center; display:inline"></div>
<p>
<input type= "button" name="=ajout" value="ajouter produit" onClick="plus()" class="btn-success"/>
<input type="submit" value="valider" class="btn-primary"/>
<input type="button" style="display:none" id="sup" value="supprimer" onClick="moins()" class="btn-danger" />
</p>
</form>
</fieldset>
</html>
Alors, il y a plusieurs choses qui ne vont pas.
mysql
, mais plutôt soit utiliser mysqli
ou alors PDO
, d'ailleurs ce que je ne comprends pas, c'est pourquoi tu utilises deux types de méthodes pour le SQL au lieu de n'en utiliser qu'une seule ?<p>
ou autre dans le <head>
surtout que si tu veux définir un titre à ta page pour qu'elle soit affiché dans l'onglet du navigateur par exemple, il te faut utiliser la balise <title>
et ne pas utiliser de balise de formatage, car de toute manière même si tu mets des balises de type <strong>
par exemple (donc de formatage) elles ne seront pas interprété par les navigateurs.<body>
dans ta page.Conclusion, je te recommande fortement de revoir comment utiliser le HTML.
j'utilise PDO
en fait a chaque clic de mon bouton ajouter il y'a des champs qui sont crées automatiquement que je dois renseigner et après quoi les enregistrer dans ma base de donnée avec le bouton validé mais le souci est que quand je valide c'est les enregistrements du 1er clic seulement qui s'enregistre en tant je veux tous les enregistrer. Merci et concernant le côté html je vais revoir
j'utilise PDO
Excuses moi, mais pour moi, ceci :
$afichcli=mysql_query("select DISTINCT raison_sociale from client") or die (mysql_error());
Puis :
$test=mysql_query($req) or die(mysql_error());
Et :
mysql_query($pro) or die (mysql_error());
Ce ne sont pas des requêtes SQL faîtes avec PDO.
oui oui je le sais mais le côté que je veux gerer c'est le pdo j'utilise j'avais commencer le projet avec mysql