Création d'une base de donnée

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
Configuration: Windows XP
Firefox 3.0.1

40 réponses

Résumé de la discussion

Un formulaire de commande souffre d’erreurs de saisie, et l’objectif est d’ajouter une désignation automatique via une base de données pour remplacer les libellés manuels des produits. Les solutions évoquées couvrent soit la création d’une base MySQL (ou Access en tant que solution locale), soit l’utilisation de PHP pour interroger les données et générer des champs. Parmi les propositions, l’option consistant à créer une table de références et à alimenter des menus déroulants depuis le serveur permet d’ajouter plusieurs lignes et d’éviter les saisies répétitives. En cas de déploiement web, il est recommandé d’éviter Access et d’opter pour une architecture web avec MySQL et PHP, et d’utiliser des éléments dynamiques tels que des champs [] et des requêtes INSERT/SELECT.

Bobot (l’IA à votre service)
  1. Bonjour, je viens de reprendre mon code, je vous le donne ici

    <!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&eacute;t&eacute;</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&eacute;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.
    1. 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
      1. n'y a-t-il pas une variable à insérer pour le champ 'nom' afin qu'il soit indépendant ?
        1. Contributeur
          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.
          1. Contributeur
            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&eacute;t&eacute;</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&eacute;mentaires</td>
            						<td>
            							<p>
            								<textarea name="Informations" cols="30" rows="3"></textarea>
            							</p>
            						</td>
            					</tr>
            				</tbody>
            			</table>
            			<table id="articles">
            				<tbody>
            					<tr>
            					    <th>R&eacute;f&eacute;rence</th>
            					    <th>D&eacute;signation</th>
            						<th>Quantit&eacute;</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");
            	}
            ?> 
            
            1. 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 ?
              1. un code de ce type là ?

                <script language="javascript">
                <table width="392" border="0">
                  <tr>
                    <td width="61">R&eacute;f&eacute;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&eacute;signation</td>
                    <td width="132"><input name="Nom[]" id="Nom" type="text" size="22" /></td>
                    <td width="51">Quantit&eacute;</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
                1. Contributeur
                  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" />
                  1. 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

                    <!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&eacute;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
                    1. ok, le menu s'ouvre à présent, en revanche, cela me donne ceci

                      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&eacute;t&eacute;:
                      				</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&eacute;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&eacute;f&eacute;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&eacute;</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 :)
                      1. j'ai fait l'essai avec easyphp pour vérifier si ça ne venait pas de mon serveur, mais non, toujours pareil
                        1. 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 :(
                          1. Contributeur
                            essaie INSERT INTO `references` (`id` ,`reference` ,`designation`) VALUES (NULL , '1000-0001', 'article de sport');
                            1. 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
                              • 1
                              • 2