Page 1 sur 1

probleme de requete

Posté : 20 mai 2011, 19:48
par johill
boujour

jai encore un petit probleme sur ma requete je narrive pas a afficher le groupes 1 et le groupe 0

example de ma base de donne

id=12
nom=sslajsk
niveau=10.1.12
groupes=1


id=15
nom=dshfkasd
niveau=10
groupe=0

id=3
nom=sdgfasdg
niveau=10.1
groupes=0

id=13
nom=sslajskcvgdfg
niveau=10.1.10
groupes=0



Code : Tout sélectionner

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <title>tTitre</title> <meta http-equiv='Content-Type' content='text/html;charset=iso-8859-1' > <meta name='keywords' content='Keyword '> <meta name='description'content='tDescription '> </HEAD> <BODY> <p> Bonjour jaslkfjasdlkfjsdkl </p> <? print"<ul>"; $num_p =0; $num_i =0; // pour menu racine $nb_racine =0; mysql_connect('localhost','root','56465156148916'); mysql_select_db('189146519'); $tr_racine = "select niveau as niveau_r, nom as nom_r, lien as lien_r from page where niveau like '__' and groupes=1 or groupes=0 order by niveau"; $rep_racine = mysql_query($tr_racine) or die(mysql_error()."<BR>erreur<BR>$tr_racine"); $nb_rep_racine = mysql_num_rows($rep_racine); while ($list_racine = mysql_fetch_array($rep_racine)) { extract ($list_racine); print"<li>"; print $niveau_r; $tr_sous = "select niveau as niveau_s, nom as nom_s, lien as lien_s from page where niveau like '$niveau_r.__' and groupes=1 or groupes=0 order by niveau"; $rep_sous = mysql_query($tr_sous) or die(mysql_error()."<BR>erreur<BR>$tr_sous"); $nb_rep_sous = mysql_num_rows($rep_sous); if ($nb_rep_sous>0) print "<ul >"; while ($list_sous = mysql_fetch_array($rep_sous)) { extract ($list_sous); print"<li>"; print $niveau_s; $tr_sous_sous = "select niveau as niveau_s_s, nom as nom_s_s, lien as lien_s_s from page where niveau like '$niveau_s.__' and groupes=1 or groupes=0 order by niveau"; $rep_sous2 = mysql_query($tr_sous_sous) or die(mysql_error()."<BR>erreur<BR>$tr_sous_sous"); $nb_rep_sous2 = mysql_num_rows($rep_sous2); if ($nb_rep_sous2>0) print "<ul >"; while ($list_sous2 = mysql_fetch_array($rep_sous2)) {$nb_rep_sous2_max=$nb_rep_sous2; extract ($list_sous2); print"<li>"; print $niveau_s_s; }if ($nb_rep_sous2>0) print "</ul >"; }if ($nb_rep_sous>0) print "</ul >"; }if ($nb_rep_racine>0) print "</ul >"; ?> </BODY> </HTML>

Re: probleme de requete

Posté : 20 mai 2011, 20:39
par xTG
C'est à cause de cela : niveau like '__'
Cette condition n'est jamais respectée à la vue de tes valeurs dans la table.

Re: probleme de requete

Posté : 20 mai 2011, 21:08
par johill
dsl jai pas mis tout les possible

niveau peut etre = 10 et aussi = 10.1 et aussi 10.1.1
en gros sa fait un menu

example :
<lu>
<li>10
<lu>
<li>10.1
<lu>
<li>10.1.1
</lu>

Re: probleme de requete

Posté : 21 mai 2011, 09:25
par xTG
Dans ce cas la recherche se fait sur '10%' et non '__'

Re: probleme de requete

Posté : 24 mai 2011, 22:20
par johill
c pas seulement 10 il a 11.1 et 25.2 et 90.2.3 et ainsi de suite jai pas seleulement 10.xx.xx j'ai tout sa
<li>10</li>
<li>12
<ul>
<li>12.01</li>
<li>12.02</li>
<li>12.03</li>
<li>12.04</li>
</ul>
</li>
<li>13
<ul>
<li>13.01</li>
<li>13.02</li>
<li>13.03</li>
<li>13.04</li>
<li>13.05</li>
<li>13.06</li>
</ul>
</li>
<li>14</li>
<li>15</li>
<li>17</li>
<li>18
<ul>
<li>18.01</li>
<li>18.02</li>
<li>18.03</li>
<li>18.04</li>
</ul>
</li>
<li>19
<ul>
<li>19.01</li>
<li>19.02</li>
<li>19.03</li>
</ul>
</li>
<li>20
<ul>
<li>20.11</li>
<li>20.12</li>
<li>20.13</li>
<li>20.14</li>
<li>20.15</li>
<li>20.16</li>
<li>20.17</li>
<li>20.18</li>
<li>20.19</li>
<li>20.20</li>
<li>20.21</li>
<li>20.23</li>
<li>20.24</li>
<li>20.25</li>
<li>20.26</li>
<li>20.27</li></ul>
et ainsi de suite justequ'99.XX.XX
mon but est par example prendre 10 , 20.13 , 19.03 ... et de les cache au grand public et de les faire affiche selon le mots de passe entres soit le groupe 1,2 ou 3
je n'aurai aucun problème pour la gestion des mots de passe si je sait comment les cache sans que sa dérange l'ordre établie et que les entres se répète pas 2 fois
test mots passe 1 affiche le groupe 1 + le groupe 0 ( grand public)
test mots passe 2 affiche le groupe 2 + groupe 0 et si je le voudrait affiche le groupe 1 aussi

maintenant j’espère avoir été plus clair et je m'excuse pour la perte de temps causez par mon manque de précision
je vous remercie d'adance pour vos reponse je buche sur se probleme depuis deja un bout de temps et jessaie de le resoudre par moi meme mais en vain ....

Re: probleme de requete

Posté : 25 mai 2011, 08:01
par xTG
Tu ne pourras pas filtrer aisément via ta requête, il faut tout récupérer et ensuite filtrer avec PHP.