bonjour,
mon problème a été traité dans certains forums mais je ne trouve pas de solution
j'ai deux listes : la première affiche les types d'incidents c'est à dire :
1.problèmes liés au réseau
2.problème software et système.
3.problème hardware des équipements.
4.Demande d’achat de matériel ou de consommable.
la deuxième liste consite en l'affichage des éléments liés à chaque type :
en selectionnant le type réseau dans la première liste, les éléments correspondants à ce meme type seront affichés :
1. coupure de la liaison.
2.adressage IP.
3.priblème VPN.
4 .... etc
voici ces quelques lignes de codes que j'ai developpé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 <?php $result = db_connect(); if (!$result) die(mysql_error()); // selection de la base de données $select = mysql_select_db($dbName,$result); if (!$select) die(mysql_error()); ?> <? $Result=mysql_query("select * from hd_type_incident")or die(mysql_error()); $nb = mysql_num_rows($Result); $ListDir = '<option value="0">Type incident</option>'; while ($tmpObject = mysql_fetch_object($Result)) //tant qu'il y a des types d'incidents, on les affiche { $ListDir .= '<option value="'.$tmpObject->id_type_incident.'">'.$tmpObject->type_incident.'</option>'; } ?> <td width="15%" > <select name="fk_type_incident" id="fk_type_incident"> <?=$ListDir?> </select> <? mysql_close(); ?> </td> <?php $result = db_connect(); if (!$result) die(mysql_error()); // selection de la base de données $select = mysql_select_db($dbName,$result); if (!$select) die(mysql_error()); ?> <? $Res=mysql_query("select * from hd_sous_type_incident where fk_type_incident= $fk_type_incident")or die(mysql_error()); $nb1 = mysql_num_rows($Res); $ListDiv = '<option value="0">Sous type incident</option>'; while ($tmpObject = mysql_fetch_object($Res)) //tant qu'il y a des sous types d'incidents, on les affiche { $ListDiv .= '<option value="'.$tmpObject->id_sous_type_incident.'">'.$tmpObject-> sous_type_incident.'</option>'; } ?> <td > <select name="fk_sous_type_incident" id="fk_sous_type_incident"> <?=$ListDiv?> </select> <? mysql_close(); ?>
dans la deuxième requète j'ai tenté de récupérer la valeur du select de la première requète![]()
voici mes tables :
les erreurs affichées :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 CREATE TABLE `hd_type_incident` ( `id_type_incident` int(11) NOT NULL auto_increment PRIMARY KEY, `type_incident` text NOT NULL, `description` text NOT NULL, `fk_user` int(11), FOREIGN KEY(fk_user) REFERENCES hd_utilisateur(id_user) ON DELETE CASCADE ON UPDATE CASCADE, INDEX(fk_user) )TYPE=INNODB;"; CREATE TABLE `hd_sous_type_incident` ( `id_sous_type_incident` int(11) NOT NULL auto_increment PRIMARY KEY, `sous_type_incident` text NOT NULL, `description` text NOT NULL, `fk_type_incident` int(11), FOREIGN KEY(fk_type_incident) REFERENCES hd_type_incident(id_type_incident) ON DELETE CASCADE ON UPDATE CASCADE, INDEX(fk_type_incident) )TYPE=INNODB;"; CREATE TABLE `hd_incident` ( `id_incident` int(11) NOT NULL auto_increment PRIMARY KEY, `fk_type_incident` int(11) NOT NULL default '', `fk_sous_type_incident` int(11) NOT NULL default '', `fk_statut` int(11), `fk_users` int(11), `fk_user` int(11), `Date_creation` date, `Date_échéance` date, `Date_fermeture` date, `objet` varchar(200) NOT NULL default '', `message` varchar(200) NOT NULL, FOREIGN KEY(fk_type_incident) REFERENCES hd_type_incident(id_type_incident) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY(fk_sous_type_incident) REFERENCES hd_sous_type_incident(id_sous_type_incident) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY(fk_statut) REFERENCES hd_statut(id_statut) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY(fk_user) REFERENCES hd_utilisateur(id_user) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY(fk_users) REFERENCES hd_utilisateur(id_user) ON DELETE CASCADE ON UPDATE CASCADE, INDEX(fk_type_incident), INDEX(fk_user), INDEX(fk_users), INDEX(fk_sous_type_incident), INDEX(fk_statut) )TYPE=INNODB;";
Erreur de syntaxe près de '' à la ligne 1 , j'ignore de quelle ligne il s'agit !!!
et il n'ya que deux champs qui sont affichés : type incident et l'utilsateur qui a envoyé l'incident sous forme de listes , mais en cliquant une deuxième fois sur le bouton envoyer ya tout qui s'affiche mais impossible de lier les deux listes type incident et sous types incident " il n' ya q'un seul sous type qui s'affiche .
autre question pensez vous qu'à chaque requète select, il faut se connecter à la base de données et selectionner la table et fermer la base ??
ps: je ne veut pas utiliser du Javascript.
voilà j'espère etre bien claire et merci pour vos suggestions.
cordialment
Partager