PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 26-10-2010 12:56:13

quaresma
Membre
Inscription : 10-05-2009
Messages : 42

Problème de requête

Bonjour à toutes et tous,

J'ai deux tables menus et contenus :


CREATE TABLE menus (id_menu INT NOT NULL AUTO_INCREMENT, lib_menu VARCHAR (100) NOT NULL, id_parent INT, image_menu VARCHAR (100), url_page VARCHAR (100), ordre_menu INT, PRIMARY KEY (id_menu));

CREATE TABLE contenu (id_contenu INT NOT NULL AUTO_INCREMENT, categorie VARCHAR (100) NOT NULL, nom_lien VARCHAR (40), photo_contenu VARCHAR (40), lieu VARCHAR (40), titre VARCHAR (40), dateetnbrepage VARCHAR (20), editeur VARCHAR (40), texte TEXT, ordre_contenu INT, PRIMARY KEY (id_contenu));
 

Sur mon site, j'ai un menu à gauche qui correspond à la table menus, dont voici le code PHP/SQL :

<div id="menu">
<?php
require("identification/connexion_sql.php");
// on attaque le php ici
// dans un premier temps on recupere les menus de niveau 1 donc ceux qui ont l'id_parent egal a 0
$req1 = "SELECT id_menu, lib_menu FROM menus WHERE id_parent='0' ORDER BY ordre_menu" or die ("impossible d'effectuer la requête");
$rep1 = mysql_query($req1);
while($row1 = mysql_fetch_array($rep1)) {

// on affiche le menu de niveau 1
echo "<div class=\"menu\" id=\"menu".$row1['id_menu']."\" onclick=\"afficheMenu(this)\"><a href=\"#\">".$row1['lib_menu']."</a></div><br>\n";
// ensuite on fait une seconde requete pour chercher les sous menus de ce niveau, s'il y en a on les affiche, sinon on ne fait rien

$req2="SELECT id_menu, lib_menu FROM menus WHERE id_parent='".$row1['id_menu']."' ORDER BY ordre_menu"  or die ("impossible d'effectuer la requête");
$rep2=mysql_query($req2);
$nb2=mysql_num_rows($rep2);
if (isset($nb2) && $nb2>0) {

echo "<div id=\"sousmenu".$row1['id_menu']."\" style=\"display:none\"><br>\n";
while ($row2=mysql_fetch_array($rep2)) {
$num = $row2['id_menu'];
$lib = htmlentities($row2['lib_menu']);
print '<div class="sousmenu"><a href="contenu.php?num='.$num.'&lib='.$lib.'">'.$lib.'</a></div><br>';
}
echo "</div>\n";

}
}
?>
</div>

Lorsque je clique sur un un lien du sous-menu, je vais vers une page nommée contenu.php? pour laquelle je transmets des variables ($num et $lib)

Cette page contenu.php devrait afficher les noms des liens correspondant au sous-menu cliqué, mais j'ai un soucis dans la requête de cette page.

Voici le code PHP/SQL qui ne fonctionne pas. Je n'ai pas d'erreur, tout simplement lorsque je clique sur un lien du sous-menu le contenu correspondant ne s'affiche pas :

<?php
$ca = htmlentities($_GET['lib']);
$idm = $_GET['num'];
require("identification/connexion_sql.php");

$requete = "Select id_contenu, nom_lien, categorie FROM contenu, menus WHERE contenu.categorie = (SELECT lib_menu FROM menus WHERE menus.lib_menu='$ca') ORDER BY contenu.ordre_contenu";
$reponse = mysql_query($requete) or die ("impossible d'effectuer la requête");
while($affiche = mysql_fetch_array($reponse)) {
$liencontenu = htmlentities($affiche['nom_lien']);
$id_contenu = $affiche['id_contenu'];

print '<div id="lien" class="lien"><a href="fiche.php?id='.$id_contenu.'&nomlien='.$liencontenu.'" class="lien">'.$liencontenu.'</a></div>';

}
mysql_close();
?>

Pour mieux comprendre, voici la page où je fais les tests : Site

Merci beaucoup pour votre aide.

Hors ligne

#2 26-10-2010 14:05:14

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : Problème de requête

put1, je reve !!!!!!
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script>
bon, j'ai ma poclain, mais je préfère faire ma tranchée a la petite cuillère big_smile:D
bah, une tranchée de 2m de profondeure et 10 m de long, c'est pas terrible, ça ne m’impressionne pas smile

a++

Hors ligne

#3 26-10-2010 15:36:51

moogli
Modérateur
Inscription : 08-05-2009
Messages : 336
Site Web

Re : Problème de requête

salut,

heu c'est quoi qui va pas en fait ?

a vue de nez ce que tu nous montre n'est pas le bon code, c'est la page contenue.php complète ça ?

(tu dois avoir une erreur d'aiguillage quelque part)

@+


Il en faut peu pour être heureux pompompompompompompompompompompom

Hors ligne

#4 30-10-2010 11:20:39

quaresma
Membre
Inscription : 10-05-2009
Messages : 42

Re : Problème de requête

Bonjour,
c'est bon j'ai réussi.

Merci tout de même et bonne journée

Hors ligne

Pied de page des forums