J'ai un petit probleme:
Petite explication sur l'outil:
C'est un outil de documentation (donc ou sont rangés des documents...)
J'ai mis en place à coté de chaque document un lien
Lorsque l'on clique sur ce lien, on arrive sur une page de formulaire.
Cette page de formulaire contient uniquement un menu déroulant.
Ce menu déroulant contient l'ensemble des Tags possible (enregistré préalablement dans l'outil).
En cliquant sur le bouton "Submit", le document va etre lié à ce tag.
Ce que je voudrai:
En gros, je voudrai que le tag qui est lié à un document disparaissent du menu déroulant pour le document lié à celui ci (le document pouvant être lié à d'autres tags).
Mon code:
$vd fait référence à un appel de fonction :
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 <form action="../op/op.TagMgr.php" method="post" enctype="multipart/form-data" name="form0_3" onsubmit="return checkForm1('0');"> <input type="Hidden" name="action" value="linktotag"> <input type="Hidden" name="documentid" value="<? echo $_GET['documentid'];?>"> <input type="Hidden" name="versionid" value="<? echo $_GET['version'];?>"> <table> <tr> <td class="inputDescription"><?=getMLText("name")?>:</td> <td> <? print "<select name='name'>"; print "<option value='-1'>-- Choose Tag --</option>"; $tags = getSelectTags(); foreach ($tags as $currTags) { if (!$vd->isLink($currTags)) print "<option value=\"$currTags\""; if ($currTags == $settings->_tags) print " selected"; print ">$currTags"; } print "</select>"; ?> </td> </tr> <tr> <td colspan="2"><br><input type="Submit"></td> </tr> </form> </table>
$vd=getSelectedLink($documentid, $versionid);
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 function getSelectedLink($document, $version) { GLOBAL $db; $queryStr = "SELECT * FROM tblLinkTagDocument WHERE document = ".$document." AND version = ".$version.""; $resArr = $db->getResultArray($queryStr); if (is_bool($resArr) && $resArr == false) return false; else if (count($resArr) != 1) return false; $resArr = $resArr[0]; return new LinkTo($resArr["id"], $resArr["tag"], $resArr["document"], $resArr["version"]); }
Ma fonction isLink:
Mon probleme vient, je pense, de la ligne:
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 function isLink($tag) { GLOBAL $db; $queryStr = "SELECT id FROM tblLinkTagDocument WHERE document = " . $documentid . " AND version = " .$versionid. " AND tag = " . $tag->getID(); echo $queryStr; $resArr = $db->getResultArray($queryStr); if (is_bool($resArr) && $resArr == false) return false; if (count($resArr) != 1) return false; else return true; }
Note : pour l'instant, le menu déroulant ne m'affiche rien du tout et si j'enleve cette ligne, la liste complete des tags apparait ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if (!$vd->isLink($currTags))
Je commence à me perdre ... qq'un peut m'aider?
Partager