Création d'une base de donnée

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
A voir également:

40 réponses

guilich Messages postés 412 Statut Membre 76
 
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
0
vignemail1 Messages postés 1262 Statut Contributeur 259
 
essaie INSERT INTO `references` (`id` ,`reference` ,`designation`) VALUES (NULL , '1000-0001', 'article de sport');
0
guilich Messages postés 412 Statut Membre 76
 
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 :(
0
guilich
 
j'ai fait l'essai avec easyphp pour vérifier si ça ne venait pas de mon serveur, mais non, toujours pareil
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
guilich Messages postés 412 Statut Membre 76
 
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 :)
0
guilich Messages postés 412 Statut Membre 76
 
pas d'idée ? ;(
0
guilich Messages postés 412 Statut Membre 76
 
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
0
vignemail1 Messages postés 1262 Statut Contributeur 259
 
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" />
0
guilich Messages postés 412 Statut Membre 76
 
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
0
guilich Messages postés 412 Statut Membre 76
 
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 ?
0
vignemail1 Messages postés 1262 Statut Contributeur 259
 
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");
	}
?> 
0
guilich Messages postés 412 Statut Membre 76
 
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 !
0
vignemail1 Messages postés 1262 Statut Contributeur 259
 
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.
0
guilich Messages postés 412 Statut Membre 76
 
non, l'affichage automatisé ne se fait plus :(
0
guilich Messages postés 412 Statut Membre 76
 
n'y a-t-il pas une variable à insérer pour le champ 'nom' afin qu'il soit indépendant ?
0
guilich Messages postés 412 Statut Membre 76
 
pas d'idée pour rendre les deux lignes indépendantes ?
0
guilich Messages postés 412 Statut Membre 76
 
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
0
guilich Messages postés 412 Statut Membre 76
 
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.
0
guilich Messages postés 412 Statut Membre 76
 
no solution à ça ? :(
0
guilich Messages postés 412 Statut Membre 76
 
petit up, on ne sait jamais...
0