Bonjour,
voilà, je créée un site pour mon entreprise, sur lequel je dois créer un bon de commande informatisé sur lequel lorsque l'on entre une référence, la désignation apparait automatiquement.
voilà ce que j'ai donc créé dans ma base de données
CREATE TABLE IF NOT EXISTS `references` (
`id` int(20) unsigned NOT NULL auto_increment,
`reference` varchar(50) NOT NULL,
`designation` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
INSERT INTO `references` (`id` ,`reference` ,`designation`) VALUES (NULL , '900907', 'pochettes');
mon fichier php de commande est lui constitué de ce code
<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("base de données", "utilisateur", "mot de passe");
@mysql_select_db("base de données", $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>
cela me donne donc le formulaire suivant :
http://www.forfirespirit.com/5.1/commande2.php
en ajoutant une ligne et en insérant la référence, la 'case' désignation n'apparaît pas, je ne sais donc pas si l'automatisation fonctionne. il faut donc que j'arrive à la faire apparaitre...
enfin, ce menu de formulaire ne fonctionne que sous firefox, en clikant sur le bouton 'Ajouter une référence de commande' ne fonctionne pas sous IE.
Auriez-vous une idée de réponse pour toutes ces questions ?
merci d'avance