Bonjour,
Je sais que le nom du post n'est pas très clair mais j'ai vraiment du mal à formuler mon problème (et me faire comprendre d'un moteur de recherche, du coup :/).
J'ai dans ma base de données des champs correspondant à des domaines, des directions et qui ressemblent à ça :
Direction des Activités Métier et Maîtrise d'Ouvrage
Direction de l’Organisation
Direction de la Communication
J'effectue une requête simple (affiche les équipes appartenant à cette direction ou ce domaine par exemple) mais évidemment, avec les apostrophes, ça coince (et vous remarquerez que ce n'est pas les mêmes : ' ou ’ ). La requête ne se fait pas, il faudrait qu'elle ressemble à :
L'utilisateur ne saisit rien, toutes ces données sont stockées et donc, il navigue par menu.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 select direction, domaine, equipe from service where direction='Direction des Activités Métier et Maîtrise d''Ouvrage' group by direction, domaine, equipe order by direction, domaine, equipe"
J'ai essayé addslashes(), pg_escape_string() mais rien n'y fait. Et même str_replace() mais du coup, ma requête ne donne rien...
Voici mon code, qui sera peut être plus clair que moi..
Le menu pour accéder à la page qui détaille les infos d'une direction
L'affichage qui coince...
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 <li><a href="#">Directions<!--[if IE 7]><!</a><![endif] [if lte IE 6]><table><tr><td><![endif]--> <?php $c=connec_base (); $r=pg_exec ($c , "select distinct direction from service where direction !='' order by direction"); echo "<ul>"; for ($i=0; $i<pg_numrows($r); $i++) { $l=pg_fetch_array($r,$i); echo "<li><a href='det_direction.php?iddir=$l[direction]'>".$l["direction"]."</a></li>"; } echo "</ul>"; deco_base (); ?> <!--[if lte IE 6]></td></tr></table></a><![endif]--> </li>
Existerait-il une autre solution que de remplacer les données dans la base ? Si non, comment fonctionne la fonction replace de POSTGRESQL dans ce cas ? car :
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 <?php $direction=$_GET['iddir']; echo "<h1>Liste des équipes de $direction</h1><br/>"; $c=connec_base (); $r=pg_exec ($c , "select direction, domaine, equipe from service where direction='$direction' group by direction, domaine, equipe order by direction, domaine, equipe"); $l=pg_fetch_array($r,$i); echo "<ul>"; //pour tous les tuples résultats de la requete for ($i=0; $i<pg_numrows($r); $i++) { $l=pg_fetch_array($r,$i); echo "<li><strong>".$l["equipe"]."</strong> (".$l["domaine"].")</li>"; } echo "</ul>"; deco_base (); ?>
ne fonctionne pas... :/
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select replace (direction,''',' ') from service
En vous remerciant d'avance et en espérant avoir été claire..
Partager