Bonjour à tous,
j'ai un soucis de requêtes. en fait grâce au javascript mon utilisateur utilise un select pour afficher un nombre de champs de formulaires. voici la structure.
[javascript]
<select id="nbadresse" onChange="document.getElementById('adresses').innerHTML = document.getElementById(this.value).innerHTML;" name="nbadresse">
<option value="a0">0</option>
<option value="a1">1</option>
<option value="a2">2</option>
<option value="a3">3</option>
<option value="a4">4</option>
<option value="a5">5</option>
</select>
[/javascript]
en fonction de la selection,
chaque div apparait, à savoir si on clique sur l'option 1 le div associé au a1 apparait.
jusque la il n'y a pas de problemes.
J'ai donc créé plusieurs formulaires.
qui sont nommés différement,
exemple pour le div a1:
[javascript]
<div id="a1" style="display:none;"><table> <tr>
<td>
<img src="images/home.png" width="128" height="128">
</td>
<td>
<p align="center"><font size="2" face="Verdana"><b>. : : Autre Adresse 1 : : .</b></font></p>
<br>
<br>
<p>
<label for="titre_adresse1"><font size="2" face="Verdana"><b>Libellé de l'adresse</font></b></label>
<input type="text" name="a1titre_adresse1">
<label for="rue_adresse1"><font size="2" face="Verdana"><b>Rue</font></b></label>
<input type="text" name="a1rue_adresse1">
<label for="complement1_adresse1"><font size="2" face="Verdana"><b>Complément</font></b></label>
<input type="text" name="a1complement1_adresse1">
<label for="a1complement2_adresse1"><font size="2" face="Verdana"><b>Complément</font></b></label>
<input type="text" name="a1complement2_adresse1">
<label for="a1code_postal_adresse1"><font size="2" face="Verdana"><b>Code Postal</font></b></label>
<input type="text" name="a1code_postal_adresse1">
<label for="ville_adresse1"><font size="2" face="Verdana"><b>Ville</font></b></label>
<input type="text" name="a1ville_adresse1">
<label for="pays_adresse1"><b><font size="2" face="Verdana">Pays</font></b></label>
<select name="a1pays_adresse1">
<option value="CA">Canada</option>
<option value="ZM">Zambia</option>
<option value="ZW">Zimbabwe</option>
</select>
</p>
</td>
</tr>
</table></div>
[/javascript]
j'ai abrégé le select pays ^^
mais a titre d'exemple voici le div 2 pour que vous voyiez comment j'ai nommé les champs selon cette structure:
[javascript]
<div id="a2" style="display:none;"><table><tr>
<td>
<img src="images/home.png" width="128" height="128">
</td>
<td>
<p align="center"><font size="2" face="Verdana"><b>. : : Autre Adresse 1 : : .</b></font></p>
<br>
<br>
<p>
<label for="titre_adresse1"><font size="2" face="Verdana"><b>Libellé de l'adresse</font></b></label>
<input type="text" name="a2titre_adresse1"><label for="rue_adresse1"><font size="2" face="Verdana"><b>Rue</font></b></label>
<input type="text" name="a2rue_adresse1">
<label for="complement1_adresse1"><font size="2" face="Verdana"><b>Complément</font></b></label>
<input type="text" name="b1complement1_adresse1">
<label for="complement2_adresse1"><font size="2" face="Verdana"><b>Complément</font></b></label>
<input type="text" name="a2complement2_adresse1">
<label for="code_postal_adresse1"><font size="2" face="Verdana"><b>Code Postal</font></b></label>
<input type="text" name="a2code_postal_adresse1">
<label for="ville_adresse1"><font size="2" face="Verdana"><b>Ville</font></b></label>
<input type="text" name="a2ville_adresse1">
<label for="pays_adresse1"><b><font size="2" face="Verdana">Pays</font></b></label>
<select name="a2pays_adresse1">
<option value="CA">Canada</option>
<option value="US">United States of America</option>
<option value="GB">United Kingdom (Great Britain)</option>
<option value="AU">Australia</option>
</select>
</p>
</td>
</tr></table>
<table><tr>
<td>
<img src="images/home.png" width="128" height="128">
</td>
<td>
<p align="center"><font size="2" face="Verdana"><b>. : : Autre Adresse 2 : : .</b></font></p>
<br>
<br>
<p>
<label for="titre_adresse2"><font size="2" face="Verdana"><b>Libellé de l'adresse</font></b></label>
<input type="text" name="b2titre_adresse2"><label for="rue_adresse2"><font size="2" face="Verdana"><b>Rue</font></b></label>
<input type="text" name="b2rue_adresse2">
<label for="complement1_adresse2"><font size="2" face="Verdana"><b>Complément</font></b></label>
<input type="text" name="b2complement1_adresse2">
<label for="complement2_adresse2"><font size="2" face="Verdana"><b>Complément</font></b></label>
<input type="text" name="b2complement2_adresse2">
<label for="code_postal_adresse2"><font size="2" face="Verdana"><b>Code Postal</font></b></label>
<input type="text" name="b2code_postal_adresse2">
<label for="ville_adresse2"><font size="2" face="Verdana"><b>Ville</font></b></label>
<input type="text" name="b2ville_adresse2">
<label for="pays_adresse2"><b><font size="2" face="Verdana">Pays</font></b></label>
<select name="b2pays_adresse2">
<option value="CA">Canada</option>
<option value="US">United States of America</option>
<option value="GB">United Kingdom (Great Britain)</option>
<option value="ZW">Zimbabwe</option>
</select>
</p>
</td>
</tr></table></div>
[/javascript]
Pour l'inclusion dans ma bdd j'ai fait ceci:
<?php if ($_POST['nbadresse']=='a1') { ?>
<?php
$sql = 'UPDATE client
SET titre_adresse1 = "'.mysql_real_escape_string($_POST['a1titre_adresse1']).'",
rue_adresse1 = "'.mysql_real_escape_string($_POST['a1rue_adresse1']).'",
complement1_adresse1 = "'.mysql_real_escape_string($_POST['a1complement1_adresse1']).'",
complement2_adresse1 = "'.mysql_real_escape_string($_POST['a1complement2_adresse1']).'",
code_postal_adresse1 = "'.mysql_real_escape_string($_POST['a1code_postal_adresse1']).'",
ville_adresse1 = "'.mysql_real_escape_string($_POST['a1ville_adresse1']).'",
pays_adresse1 = "'.mysql_real_escape_string($_POST['a1pays_adresse1']).'"
WHERE code_client= "'.mysql_real_escape_string($_POST['code_client']).'"
';
mysql_query($sql) or die(__LINE__.mysql_error().$sql);
echo "Les adresses supplémentaires ont bien été enregistrées";
?>
<?php } ?>
<?php if ($_POST['nbadresse']=='a2') { ?>
<?php
$sql = 'UPDATE client
SET titre_adresse1 = "'.mysql_real_escape_string($_POST['a2titre_adresse1']).'",
rue_adresse1 = "'.mysql_real_escape_string($_POST['a2rue_adresse1']).'",
complement1_adresse1 = "'.mysql_real_escape_string($_POST['a2complement1_adresse1']).'",
complement2_adresse1 = "'.mysql_real_escape_string($_POST['a2complement2_adresse1']).'",
code_postal_adresse1 = "'.mysql_real_escape_string($_POST['a2code_postal_adresse1']).'",
ville_adresse1 = "'.mysql_real_escape_string($_POST['a2ville_adresse1']).'",
pays_adresse1 = "'.mysql_real_escape_string($_POST['a2pays_adresse1']).'",
titre_adresse2 = "'.mysql_real_escape_string($_POST['b2titre_adresse2']).'",
rue_adresse2 = "'.mysql_real_escape_string($_POST['b2rue_adresse2']).'",
complement1_adresse2 = "'.mysql_real_escape_string($_POST['b2complement1_adresse2']).'",
complement2_adresse2 = "'.mysql_real_escape_string($_POST['b2complement2_adresse2']).'",
code_postal_adresse2 = "'.mysql_real_escape_string($_POST['b2code_postal_adresse2']).'",
ville_adresse2 = "'.mysql_real_escape_string($_POST['b2ville_adresse2']).'",
pays_adresse2 = "'.mysql_real_escape_string($_POST['b2pays_adresse2']).'"
WHERE code_client= "'.mysql_real_escape_string($_POST['code_client']).'"
';
mysql_query($sql) or die(__LINE__.mysql_error().$sql);
echo "Les adresses supplémentaires ont bien été enregistrées";
?>
le soucis c'est qu'il n'enregistre rien sauf le pays par défaut. j'ai pourtant veillé scrupuleusement a ce que les champs n'aient pas le meme nom. je ne sais pas comment résoudre le soucis.
Edit: la coloration syntaxique X(HTML) n'a pas fonctionnée