Php/formulaire, chagement d'affichage dans un select...
noSnoR
Messages postés62Date d'inscriptionsamedi 5 mars 2005StatutMembreDernière intervention11 avril 2006
-
9 juin 2005 à 12:22
noSnoR
Messages postés62Date d'inscriptionsamedi 5 mars 2005StatutMembreDernière intervention11 avril 2006
-
9 juin 2005 à 14:21
Comment pourrions nous afficher dans un formulaire les données d'une table MySql ?
Je sais faire pour les 'text' ou autre submit, mais ce qui me bloque ce sont les 'select'...
Il faut faire une fonction pour retourner la valeur de la table, mais
comment faire pointer le select à l'effichage sur la valeur de ce
return ?
Enfin pour plus de clarté voici mon code
(pour info : nom de la table : Client, id à recupérer : id_type_structure)
(Une deuxieme chose, cette page à deux fonction ; l'une, créer un
nouveau 'client' [enfin l'inscrire dans la table], et l'autre, une fois
qu'il est créé de le modifier...
<?php
if (isset($_GET['id'])){
$action = 'modif';
$id = '?id='.$_GET['id'];
$req = 'SELECT * FROM client WHERE id_client='.$_GET['id'];
$resultat = mysql_query($req);
$data = mysql_fetch_array($resultat);
$nom = $data['nom'];
$pnom = $data['prenom'];
$adresse = $data['adresse'];
$postal = $data['code_postal'];
$ville = $data['ville'];
$mail = $data['mail'];
$tel = $data['tel'];
$fax = $data['fax'];
$portable = $data['portable'];
$type = $data['type_client'];
$struct = $data['structure'];
$submit = 'Modifier';
}else{
$action = 'create';
$id = '';
$submit = 'Créer';
$nom = '';
$pnom = '';
$adresse = '';
$postal = '';
$ville = '';
$mail = '';
$tel = '';
$fax = '';
$portable = '';
$type = '';
$struct = '';
}
function typestructure($id_type_structure){
$req = 'SELECT * FROM type_structure WHERE id_type_structure='.$_GET['id'];
$resultat = mysql_query($req);
$data = mysql_fetch_array($resultat);
while($data = mysql_fetch_array($resultat))
{
$id_type_structure = $data['id_type_strucure'];
}//c'est ici que je commence à ne plus pouvoir repondre à mon attente...
return $id_type_strucure;
}
?>
<HTML>
<script language="javascript">
<!--
function controle(formulaire){
var message="";
if (formulaire.nom.value=="") {message += "Il n'y a pas de nom\n";}
if (formulaire.pnom.value=="") {message += "Il n'y a pas de prénom\n";}
if (formulaire.adresse.value=="") {message += "Il n'y a pas d'adresse\n";}
if (formulaire.codepostal.value.length<5) {message += "Il n'y a pas de code postal\n";}
if (formulaire.ville.value=="") {message += "La ville n'est pas indiquée\n";}
if (formulaire.mail.value=="") {message += "L'E-mail n'est pas indiqué\n";}
if (formulaire.tel.value.length<10) {message += "Il n'y a pas de numero de telephone\n";}
if (formulaire.struct.value=="") {message += "Le nom de la structure n'est pas indiquée\n";}
if ( message != "") {
alert(message);
return false;
}
else{
return true;
}
}
function num(n){
var chaine = new String(n.value);
if (! chaine.match("^[0-9]*$") )
n.value=chaine.substring(0,n.value.length-1);
chaine = "";
}
function is_email(email)
{
var chaine = new String(email.value);
if (! chaine.match("^[\w.-]+@[\w.-]+\.\w{1,4}$") )
Type :, <select name="type"><option
value="Prospect">Prospect</option><option
value="Client">Client</option></select>,
----
Nom de la structure :, ">,
//c'est le select d'ici qui me pose probleme... il me faut une fonction
permettant de changer l'affichage du select //suivant l'ID_client
recupéré plus haut.
----
Type de structure :, <select name="typestruct"><option
value="1">Association</option><option
value="2">Entreprise</option><option
value="3">Particulier</option>
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 9 juin 2005 à 13:16
Hello,
normalement, on cree le formulaire dans la boucle de la requete. Ainsi on genere dynamiquement les <option>.
Avec ton systeme je peux te proposer 2 choses :
- tu fais une 2eme requete juste pour cet id, entre tes balises
<select></select> en generant un <option> avec pour
valeur l'id dans la boucle sur ta requete.
- si tu gardes ta requete comme maintenant, mets ces id dans un tableau
: $tabID[] = $row_requete['id'] (c'est un exemple, j'ai la flemme de
remonter tout en haut voir le nom de ta requete, de ton id etc lol).
Puis dans ton formulaire, encore une fois entre tes deux balises select
ouvrante et fermante, tu boucles sur ce tableau pour generer les
differentes balises option.
noSnoR
Messages postés62Date d'inscriptionsamedi 5 mars 2005StatutMembreDernière intervention11 avril 2006 9 juin 2005 à 14:21
et bien en fait je crois que non... j'ai du créer une nouvelle table,
pour ajouter une fonction, et le code deviendrait incomprhensible, trop
de refenrement à une truc externe...... enfin ça marche, c'est le
principal.