Création d'une base de donnée
guilich
Messages postés
412
Statut
Membre
-
guilich Messages postés 412 Statut Membre -
guilich Messages postés 412 Statut Membre -
Bonjour,
Voilà, ce que je souhaite faire est je pense assez compliqué, mais mon employeur n'a pas été satisfait par mon travail.
Ce que j'ai proposé était un formulaire mail dans lequel on trouve un champ référence et l'un quantité.
Mon employeur pense lui que cela va engendrer beaucoup d'erreur de saisie, c'est pourquoi il me demande de faire remplir un champ de désignation automatique.
je suppose que je dois créer une base de données, cela n'est pas réelement problématique de créer une base sous access (ce doit être fait avec ça je pense), ma question concerne principalement le moyen d'intégrer ça dans le code.
je vous présente mon code de formulaire ci-dessous
<div align=center>
<form method=POST action=mail.php >
<input type=hidden name=subject value=Commande>
<table>
<tr><td colspan="3">Votre société:</td>
<td width="180"><input type=text name=Societe size=30></td></tr>
<tr><td colspan="3">Votre Email:</td>
<td><input type=text name=Email size=30></td></tr>
<tr><td colspan="3">Objet:</td>
<td><input type=text name=Sujet size=30></td></tr>
<tr><td colspan="3">Informations complémentaires:</td>
<td><p>
<input type=text name=Informations size=30>
</p> </td></tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<tr><td colspan=5><div align="left">Commentaires:<br>
<textarea COLS=50 ROWS=6 name=Commentaire ></textarea>
<br />
</div></td></tr>
</table>
<br />
<br> <input type=submit value=Envoyer> -
<input type=reset value=Annuler>
</form>
</div>
Je vous remercie d'avance pour votre aide :D
Voilà, ce que je souhaite faire est je pense assez compliqué, mais mon employeur n'a pas été satisfait par mon travail.
Ce que j'ai proposé était un formulaire mail dans lequel on trouve un champ référence et l'un quantité.
Mon employeur pense lui que cela va engendrer beaucoup d'erreur de saisie, c'est pourquoi il me demande de faire remplir un champ de désignation automatique.
je suppose que je dois créer une base de données, cela n'est pas réelement problématique de créer une base sous access (ce doit être fait avec ça je pense), ma question concerne principalement le moyen d'intégrer ça dans le code.
je vous présente mon code de formulaire ci-dessous
<div align=center>
<form method=POST action=mail.php >
<input type=hidden name=subject value=Commande>
<table>
<tr><td colspan="3">Votre société:</td>
<td width="180"><input type=text name=Societe size=30></td></tr>
<tr><td colspan="3">Votre Email:</td>
<td><input type=text name=Email size=30></td></tr>
<tr><td colspan="3">Objet:</td>
<td><input type=text name=Sujet size=30></td></tr>
<tr><td colspan="3">Informations complémentaires:</td>
<td><p>
<input type=text name=Informations size=30>
</p> </td></tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<td width="65">Référence</td>
<td width="189"><input type="text" name="Reference[]" value="" size="30" /></td>
<td width="61">Quantité</td>
<td><input type="text" name="Quantite[]" value="" size="30" />
</td>
</tr>
<tr><td colspan=5><div align="left">Commentaires:<br>
<textarea COLS=50 ROWS=6 name=Commentaire ></textarea>
<br />
</div></td></tr>
</table>
<br />
<br> <input type=submit value=Envoyer> -
<input type=reset value=Annuler>
</form>
</div>
Je vous remercie d'avance pour votre aide :D
A voir également:
- Création d'une base de donnée
- Base de registre - Guide
- Creation de site web - Guide
- Creation de compte google - Guide
- Creation compte gmail - Guide
- Media creation tool - Télécharger - Systèmes d'exploitation
40 réponses
j'ai cette erreur qui m'est retournée lorsque je fais
INSERT INTO references VALUES (NULL, '1000-0001', 'article de sport');
INSERT INTO references VALUES (NULL, '1000-0002', 'équipement stéréo');
dans SQL
requête SQL:
INSERT INTO REFERENCES VALUES ( NULL , '1000-0001', 'article de sport' ) ;
MySQL a répondu:Documentation
#1064 - Erreur de syntaxe près de 'references VALUES (NULL, '1000-0001', 'article de sport')' à la ligne 1
INSERT INTO references VALUES (NULL, '1000-0001', 'article de sport');
INSERT INTO references VALUES (NULL, '1000-0002', 'équipement stéréo');
dans SQL
requête SQL:
INSERT INTO REFERENCES VALUES ( NULL , '1000-0001', 'article de sport' ) ;
MySQL a répondu:Documentation
#1064 - Erreur de syntaxe près de 'references VALUES (NULL, '1000-0001', 'article de sport')' à la ligne 1
essaie INSERT INTO `references` (`id` ,`reference` ,`designation`) VALUES (NULL , '1000-0001', 'article de sport');
j'ai beau avoir ajouté une référence dans la base (que je ne retrouve pas d'ailleurs :p)
les lignes ne s'ouvrent toujours pas :(
les lignes ne s'ouvrent toujours pas :(
j'ai fait l'essai avec easyphp pour vérifier si ça ne venait pas de mon serveur, mais non, toujours pareil
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ok, le menu s'ouvre à présent, en revanche, cela me donne ceci
http://www.forfirespirit.com/scr.jpg
La désignation n'apparait pas dans la ligne, je ne sais donc pas encore si l'affichage automatisé de la désignation fonctionne
de plus, les lignes de commande ne s'affichent pas sous IE, que sous firefox
une idée ?
merci d'avance
merci :)
http://www.forfirespirit.com/scr.jpg
<div align="center">
<form method="post" action="mail.php">
<input type="hidden" name="subject" value="Commande"/>
<table>
<tr>
<td>
Votre société:
</td>
<td width="180">
<input type="text" name="Societe" size="30" />
</td>
</tr>
<tr>
<td>
Votre Email:
</td>
<td>
<input type="text" name="Email" size="30" />
</td>
</tr>
<tr>
<td>
Objet:
</td>
<td>
<input type="text" name="Sujet" size="30" />
</td>
</tr>
<tr>
<td>
Informations complémentaires:
</td>
<td>
<p>
<input type="text" name="Informations" size="30" />
</p>
</td>
</tr>
</table>
<script>
function checkQuantity(obj){
if (isNaN(obj.value)){
alert("La valeur rentrée n'est pas valide comme quantité.");
obj.value = 0;
}
}
function addLigne(){
var new_tr = document.createElement("tr");
<?php
echo 'new_tr.innerHTML = \'<td width="65">Référence</td><input type="text" name ="Reference[] value="" size="10""> ';
$link = @mysql_pconnect("mysql5-2", "forfires", "okowgl8w");
@mysql_select_db("forfires", $link);
$result = @mysql_query("SELECT * FROM references ORDER BY reference;");
while ($ligne = @mysql_fetch_assoc($result)){
echo '<option value="'.$ligne["reference"].'">('.$ligne["quantite"].') '.$ligne["designation"].'</option>';
}
echo '</select></td><td width="61">Quantité</td><td><input type="text" name="Quantite[]" value="" size="10" onchange="checkQuantity(this);" /></td><td><input type="button" onclick="this.parentNode.parentNode.removeChild(this.parentNode);" value="Enlever" /></td>\';';
?>
document.getElementById("lignes").getElementsByTagName("tbody")[0].appendChild(new_tr);
}
</script>
<input type="button" onclick="addLigne();" value="Ajouter une référence de commande" />
<table id="lignes">
<tbody>
</tbody>
</table>
<input type="submit" value="Envoyer" /> - <input type="reset" value="Annuler" />
</form>
</div>
La désignation n'apparait pas dans la ligne, je ne sais donc pas encore si l'affichage automatisé de la désignation fonctionne
de plus, les lignes de commande ne s'affichent pas sous IE, que sous firefox
une idée ?
merci d'avance
merci :)
Bonjour,
je reviens vers vous après de nombreuses modifications.
en effet, j'ai tenté l'ajax, et j'ai à peu près réussi mon opération.
il mem anque quelques petits points à éclaircir avant d'avoir complété le travail.
je vous donne les codes avant de m'expliquer
_________________________________________________________________________
________________________________________________________________________
__________________________________________________________________________________
voilà, mon problème actuel étant que je n'arrive pas à mettre plusieurs lignes pour la commande, lorsque je les dupplique, quand j'entre la référence dans la deuxième ligne, la désignation apparait dans la première.
il faudrait donc réussir à recréer cette première ligne, mais de manière autonome, et lorsque je reçois le mail de commande, je reçois ceci
Societe: entreprise
Email: email
Objet: commande :)
Information complementaire: hello
Ref :9 quantite 3 Nom p
enfait, je ne reçois qu'un caractère concernant la ligne de produits !
auriez-vous une idée ?
merci d'avance
je reviens vers vous après de nombreuses modifications.
en effet, j'ai tenté l'ajax, et j'ai à peu près réussi mon opération.
il mem anque quelques petits points à éclaircir avant d'avoir complété le travail.
je vous donne les codes avant de m'expliquer
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans nom</title>
<script src="js.js" language="javascript"> </script>
</head>
<body>
<div align="center">
<form method="post" action="mail.php">
<div align="center">
<table>
<input type="hidden" name="subject" value="Commande"/>
<tr>
<td> Votre société: </td>
<td width="180"><input type="text" name="Societe" size="30" />
</td>
</tr>
<tr>
<td> Votre Email: </td>
<td><input type="text" name="Email" size="30" />
</td>
</tr>
<tr>
<td> Objet: </td>
<td><input type="text" name="Sujet" size="30" />
</td>
</tr>
<tr>
<td> Informations complémentaires: </td>
<td><p>
<textarea name="Informations" cols="30" rows="3"></textarea>
</p></td>
</tr>
</table>
</div>
<form method="post" onsubmit="" action="">
<table width="434" border="0" align="center" cellspacing="0">
<tr>
<td width="64">Reference:</td>
<td width="72">
<input name="Ref" id="Ref" type="text" size="6" onchange="maFonctionAjax(this.value,'Nom');return false";return false">
</td>
<td width="70">Désignation</td>
<td width="132"><input name="Nom" id="Nom" type="text" size="22" /></td>
<td width="54">Quantite:</td>
<td width="54"><input name="Quantite" id="quantite" type="text" size="2" /></td>
</tr>
</table>
<div align="center"></div>
<div align="center"></div>
<div align="center">
<input type="submit" value="Envoyer" />
-
<input type="reset" value="Annuler" />
</div>
</form>
<div id="msg"></div>
</body>
</html>
_________________________________________________________________________
<?
define('LOGIN', "");
define('PASSWORD', "");
define('SERVER', "");
define('BASE', "");
$connexion = mysql_connect (SERVER, LOGIN, PASSWORD) ;
if(!$connexion) {
$message = "Le serveur ".SERVER." ne répond pas correctement. Merci de bien vouloir réessayer dans quelques instants." ;
}
if(!mysql_select_db(BASE, $connexion)) {
$message = "Le base ".BASE." ne répond pas correctement. Merci de bien vouloir réessayer dans quelques instants." ;
}
//TA REQUETE SQL
$requete = "SELECT * FROM guigui WHERE ref='".$_GET['id']."'" ;
$result = mysql_query($requete, $connexion) ;
if(!$result) echo mysql_error();
//TEST DU NOMBRE DE RESULTAT DE TA REQUETE
if (mysql_num_rows($result)>0){
while($news = mysql_fetch_object($result)) {
$resultat = $news->prod; }
//SI IL N'Y A PAS DE RESULAT
}else{$resultat = 'aucune produit ne correspond';}
echo $resultat;
?>
________________________________________________________________________
function maFonctionAjax(Id, Nom)
{
var OAjax;
if (window.XMLHttpRequest) OAjax = new XMLHttpRequest();
else if (window.ActiveXObject) OAjax = new ActiveXObject('Microsoft.XMLHTTP');
//LANCE LE FICHIER PHP AVEC LA VALEUR DU CHAMP ref
OAjax.open('GET',"maPageDeRequPHP.php?id="+Id,true);
OAjax.onreadystatechange = function()
{
if (OAjax.readyState == 4 && OAjax.status==200)
{
if (document.getElementById)
{
//AFFICHE LA REPONSE DANS LE CHAMP nom
document.getElementById('Nom').value=OAjax.responseText;
}
}
}
OAjax.setRequestHeader('Content-type','application/x-www-form-urlencoded');
OAjax.send('Id='+Id+'&Nom='+Nom);
}
__________________________________________________________________________________
<?php
$to = "";
$from = "From: " . $TO;
$subject = "commande";
$message="";
if(isset($_POST['subject'])){
$message.=" Societe: ".$_POST['Societe']."\n";
$message.=" Email: ".$_POST['Email']."\n";
$message.=" Objet: ".$_POST['Sujet']."\n";
$message.="Information complementaire: ".$_POST['Informations']."\n";
$Ref=$_POST['Ref'];
$Quantite=$_POST['Quantite'];
$Nom=$_POST['Nom'];
for($i=0;sizeof($Ref)>$i;$i++){
if($Ref[$i]!="" && $Quantite[$i]!="" && $Nom[$i]!="") $message .=" Ref :".$Ref[$i]." quantite ".$Quantite[$i]." Nom ".$Nom[$i]."\n";
}
}
mail($to, $subject, $message, $from);
Header("Location: l");
?>
voilà, mon problème actuel étant que je n'arrive pas à mettre plusieurs lignes pour la commande, lorsque je les dupplique, quand j'entre la référence dans la deuxième ligne, la désignation apparait dans la première.
il faudrait donc réussir à recréer cette première ligne, mais de manière autonome, et lorsque je reçois le mail de commande, je reçois ceci
Societe: entreprise
Email: email
Objet: commande :)
Information complementaire: hello
Ref :9 quantite 3 Nom p
enfait, je ne reçois qu'un caractère concernant la ligne de produits !
auriez-vous une idée ?
merci d'avance
Dans ta <table width="434"....>
au lieu de name="Ref", met name="Ref[]", idem pour les autres champs, tu pourras ainsi avoir un tableau de valeur directement et donc tu pourras mettre plusieurs lignes en javascript par un appendChild() en cliquant sur un <input type="button" />
au lieu de name="Ref", met name="Ref[]", idem pour les autres champs, tu pourras ainsi avoir un tableau de valeur directement et donc tu pourras mettre plusieurs lignes en javascript par un appendChild() en cliquant sur un <input type="button" />
un code de ce type là ?
merci pour ta réponse
<script language="javascript">
<table width="392" border="0">
<tr>
<td width="61">Référence</td>
<td width="36"><input name="Ref[]" id="Ref" type="text" size="6" onchange="maFonctionAjax(this.value,'Nom');return false"; /></td>
<td width="70">Désignation</td>
<td width="132"><input name="Nom[]" id="Nom" type="text" size="22" /></td>
<td width="51">Quantité</td>
<td width="16"><input name="Quantite[]" id="quantite" type="text" size="2" /></td>
</tr>
function addLigne() {
var new_tr = document.createElement("tr");
new_tr.innerHTML = '<td width="65">Ref</td><input type="text" name ="Ref['+nombre+'] value="" size="6" onchange="maFonctionAjax(this.value,'Nom');return false"; /></td> <td>Nom</td><td><input type="text" name="Nom['+nombre+']" value="" size="15" /></td><td width="61">Quantité</td><td><input type="text" name="Quantite['+nombre+']" value="" size="6" onchange="checkQuantity(this);" /></td><td><input type="button" onclick="nombre--;this.parentNode.parentNode.removeChild(this.parentNode);" value="Enlever" /></td>';
document.getElementById("lignes").getElementsByTagName("tbody")[0].appendChild(new_tr);
nombre++;
}
</script>
merci pour ta réponse
avec ceci les barres ne s'ouvrent pas.
en revanche, ne serait-t-il pas plus simple d'avoir plusieurs lignes directement plutôt que de passer par ce bouton ?
en revanche, ne serait-t-il pas plus simple d'avoir plusieurs lignes directement plutôt que de passer par ce bouton ?
Voila rapidement ce que je pense correct :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta name="generator" content="HTML Tidy for Windows (vers 14 February 2006), see www.w3.org">
<title></title>
</head>
<body>
<form method="post" action="mail.php">
<input type="hidden" name="subject" value="Commande"/>
<table>
<tbody>
<tr>
<td>Votre société</td>
<td width="180">
<input type="text" name="Societe" size="30" />
</td>
</tr>
<tr>
<td>Votre Email</td>
<td>
<input type="text" name="Email" size="30" />
</td>
</tr>
<tr>
<td>Objet</td>
<td>
<input type="text" name="Sujet" size="30" />
</td>
</tr>
<tr>
<td>Informations complémentaires</td>
<td>
<p>
<textarea name="Informations" cols="30" rows="3"></textarea>
</p>
</td>
</tr>
</tbody>
</table>
<table id="articles">
<tbody>
<tr>
<th>Référence</th>
<th>Désignation</th>
<th>Quantité</th>
</tr>
</tbody>
</table>
<input type="button" onclick="addLigne('articles');" value="Ajouter un article" />
<input type="submit" value="Envoyer" />
</form>
<script type="text/javascript">
/*
retourne une liste des nodes correspondantes
fonctions applicables sur la sortie :
snapshotLength : retourne le nombre d'elements
snapshotItem(i): retourne l'element i
*/
function getByAt(parent, balise, attribut, valeur) {
if (valeur!="") {
return document.evaluate(
"//"+balise+"[@"+attribut+"=\""+valeur+"\"]",
parent,
null,
XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
null);
}else{
return document.evaluate(
"//"+balise+"[@"+attribut+"]",
parent,
null,
XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
null);
}
}
function makeXHR(){
var xmlHttp;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("Your browser does not support AJAX!");
return false;
}
}
}
return xmlHttp;
}
function maFonctionAjax(obj){
var xhr = makeXHR();
var input_nom = getByAt(obj.parentNode.parentNode, "input", "name", "Nom[]");
//LANCE LE FICHIER PHP AVEC LA VALEUR DU CHAMP ref
xhr.open('GET',"maPageDeRequPHP.php?id="+encodeURIComponent(obj.value), true);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status==200){
if (document.getElementById){
//AFFICHE LA REPONSE DANS LE CHAMP nom
for (var i=0; i<input_nom.snapshotLength; i++){
input_nom.snapshotItem(i).value = xhr.responseText;
}
}
}
}
//xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded');
xhr.send(null);
return null;
}
function addLigne(table) {
var parent = document.getElementById(table);
if (parent.getElementsByTagName("tbody"))
parent = parent.getElementsByTagName("tbody")[0];
var new_tr = document.createElement("tr");
var td1 = document.createElement("td");
var td2 = document.createElement("td");
var td3 = document.createElement("td");
var td4 = document.createElement("td");
td1.innerHTML = '<input type="text" name="Ref[]" value="" size="6" onchange="return maFonctionAjax(this);" />';
td2.innerHTML = '<input type="text" name="Nom[]" value="" size="15" />';
td3.innerHTML = '<input type="text" name="Quantite[]" value="" size="6" onchange="checkQuantity(this);" />';
td4.innerHTML = '<input type="button" onclick="this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);" value="Enlever" />';
new_tr.appendChild(td1);
new_tr.appendChild(td2);
new_tr.appendChild(td3);
new_tr.appendChild(td4);
parent.appendChild(new_tr);
}
</script>
</body>
</html>
// Fichier mail.php
<?php
$to = "";
$from = "From: " . $_POST['Email'];
$subject = $_POST['subject'];
$message="";
if(isset($_POST['subject'])){
$message.=" Societe: ".$_POST['Societe']."\n";
$message.=" Email: ".$_POST['Email']."\n";
$message.=" Objet: ".$_POST['Sujet']."\n";
$message.="Information complementaire: ".$_POST['Informations']."\n";
foreach($_POST['Ref'] as $key => $value){
$message .=" Ref :".$_POST['Ref'][$key]." quantite ".$_POST['Quantite'][$key]." Nom ".$_POST['Nom'][$key]."\n";
}
mail($to, $subject, $message, $from);
header("Location: l");
}
?>
super, le bouton ouvre bien la ligne, voilà une bonne avancée.
cependant, lorsque j'entre deux références, c'est la même désignation qui s'affiche.
http://www.flyteam.online.fr/formulaire/essai.php
merci beaucoup !
cependant, lorsque j'entre deux références, c'est la même désignation qui s'affiche.
http://www.flyteam.online.fr/formulaire/essai.php
merci beaucoup !
remplace var input_nom = getByAt(obj.parentNode.parentNode, "input", "name", "Nom[]");
par var input_num = obj.parentNode.parentNode.getElementsByTagName("input")[1];
et
for (var i=0; i<input_nom.snapshotLength; i++){
input_nom.snapshotItem(i).value = xhr.responseText;
}
par
input_nom.value = xhr.responseText;
cela devrait marchait.
par var input_num = obj.parentNode.parentNode.getElementsByTagName("input")[1];
et
for (var i=0; i<input_nom.snapshotLength; i++){
input_nom.snapshotItem(i).value = xhr.responseText;
}
par
input_nom.value = xhr.responseText;
cela devrait marchait.
je viens de m'apercevoir que le code ne fonctionne pas avec IE, je travaille avec forefox, et après essai, j'ai vu que l'automatisation n'était pas fonctionelle sous IE
Bonjour, je viens de reprendre mon code, je vous le donne ici
et le fichier qui envoie le mail
mon problème est que dans le mail que je reçois, je n'ai plus les lignes de désignation référence et quantité qui aparaissent.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Bon de commande</title>
<script src="js.js" language="javascript"> </script>
</head>
<body>
<script>var numLign = 0;</script>
<form method="post" action="mail.php">
<p><img src="http://www.forfirespirit.com/5.1/logo_BDI-retrace.jpg" /><br />
<img src="http://www.forfirespirit.com/5.1/Dmpib.jpg" /><br />
<input type="hidden" name="subject" value="Commande"/>
</p>
<table>
<tbody>
<tr>
<td>Votre société</td>
<td width="180">
<input type="text" name="Societe" size="30" />
</td>
</tr>
<tr>
<td>Votre Email</td>
<td>
<input type="text" name="Email" size="30" />
</td>
</tr>
<tr>
<td>Objet</td>
<td>
<input type="text" name="Sujet" size="30" />
</td>
</tr>
<tr>
<td>Informations complémentaires</td>
<td>
<p>
<textarea name="Informations" cols="30" rows="3"></textarea>
</p>
</td>
</tr>
</tbody>
</table>
<form method="post" onsubmit="" action="">
<table border="0" cellspacing="0" id='articles'><tr><td>Référence:</td><td>Désignation:</td><td>Quantité:</td></table>
<div id="msg">
<input type="button" onclick="addLigne('articles');" value="Ajouter un article" />
-
<input type="submit" value="Transmettre la commande" /><br />
</form>
<script type="text/javascript">
//LA FONCTION QUI FAIT PEUR UN PEU PUISQU'ELLE UTILISE DES PROTOCOLES ACTIVEX -> L'AJAX !!
function maFonctionAjax(Id, Nom)
{
var OAjax;
if (window.XMLHttpRequest) OAjax = new XMLHttpRequest();
else if (window.ActiveXObject) OAjax = new ActiveXObject('Microsoft.XMLHTTP');
//LANCE LE FICHIER PHP AVEC LA VALEUR DU CHAMP ref
OAjax.open('GET',"maPageDeRequPHP.php?id="+Id.value,true);
OAjax.onreadystatechange = function()
{
if (OAjax.readyState == 4 && OAjax.status==200)
{
if (document.getElementById)
{
//AFFICHE LA REPONSE DANS LE CHAMP nom
document.getElementById('Nom'+Nom).value=OAjax.responseText;
}
}
}
OAjax.setRequestHeader('Content-type','application/x-www-form-urlencoded');
OAjax.send('Id='+Id+'&Nom='+Nom);
}
function addLigne(table) {
numLign++;
var parent = document.getElementById(table);
var new_tr = document.createElement("tr");
var td1 = document.createElement("td");
var td2 = document.createElement("td");
var td3 = document.createElement("td");
var td4 = document.createElement("td");
td1.innerHTML = '<input type="text" name="Ref" value="" size="8" id="ref01" onchange="return maFonctionAjax(this,'+numLign+');" />';
td2.innerHTML = '<input type="text" name="Nom'+numLign+'" id="Nom'+numLign+'" value="" size="30" />';
td3.innerHTML = '<input type="text" name="Quantite" value="" size="8" onchange="checkQuantity(this.value);" />';
td4.innerHTML = '<input type="button" onclick="this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);" value="Enlever" />';
new_tr.appendChild(td1);
new_tr.appendChild(td2);
new_tr.appendChild(td3);
new_tr.appendChild(td4);
parent.appendChild(new_tr);
}
</script>
</body>
</html>
et le fichier qui envoie le mail
<?php
$to = "";
$from = "From: " . $TO;
$subject = "commande";
$message="";
if(isset($_POST['subject'])){
$message.=" Societe: ".$_POST['Societe']."\n";
$message.=" Email: ".$_POST['Email']."\n";
$message.=" Objet: ".$_POST['Sujet']."\n";
$message.="Information complementaire: ".$_POST['Informations']."\n";
$ref01=$_POST['ref01'];
$Quantite=$_POST['Quantite'];
$Designation=$_POST['Designation'];
for($i=0;sizeof($Ref)>$i;$i++){
if($ref01[$i]!="" && $Quantite[$i]!="" && $Designation[$i]!="") $message .=" ref01 :".$ref01[$i]." Quantite ".$Quantite[$i]." Designation ".$Designation[$i]."\n";
}
}
mail($to, $subject, $message, $from);
Header("Location: l");
?>
mon problème est que dans le mail que je reçois, je n'ai plus les lignes de désignation référence et quantité qui aparaissent.