Page 1 sur 2
problème choisir par catégorie en php
Posté : 24 avr. 2012, 19:44
par minou10
Bonjour tout le monde,
en fait je veux regler mon problème si c'est possible je veux qu'on je clique sur un type de categorie il doit m'afficher juste le contenu qui appartient a ce type de catgorie que j'ai deja choisir en départ
je pense je dois utiliser la fonction IF mais je ne sais pas comment faire
Re: problème choisir par catégorie en php
Posté : 24 avr. 2012, 21:37
par xTG
Il faut inclure cette condition dans ta requête SQL (clause WHERE) c'est encore le mieux.
Quand à te diriger, sans plus d'informations et de code cela va être difficile...
Re: problème choisir par catégorie en php
Posté : 25 avr. 2012, 01:18
par Invité
vous pouvez me donné un exemple comme sa je pourrai trouver une solution
ou bien voila mes tables :
table = categorie ( qui stock les types( regions ) de categorie )
table = fiche ( qui stock les informations de l'enregistrement par exemple le nom le prenom et la region cette region est choisi parmi les region de la table categorie sous forme de liste déroulante )
donc mon code sql c'est : select titre from fiche order by titre;
Re: problème choisir par catégorie en php
Posté : 25 avr. 2012, 07:13
par xTG
Voilà ce que cela peut donner :
$sql = 'SELECT mesChamps FROM maTable WHERE monChamp = ' . mysql_real_escape_string($_POST['monChamp']);
Re: problème choisir par catégorie en php
Posté : 25 avr. 2012, 19:41
par minou10
en fait j'ai pas bien compris regardé ce que j'ai fais mais sa marche pas
Code : Tout sélectionner
$demande = "SELECT DISTINCT Titre FROM fiche WHERE region = `". mysql_real_escape_string($_POST['region'])."`";
voila mon code complet
Code : Tout sélectionner
<?php
$demande = "SELECT DISTINCT Titre FROM fiche WHERE region = `". mysql_real_escape_string($_POST['region'])."`";
//$demande = "SELECT Titre FROM fiche WHERE fiche.region = categorie.region ";
$result = mysql_query($demande);
while($data = mysql_fetch_assoc($result))
{
$nb_fiche_fini="SELECT COUNT(*) AS compteur2 FROM `".htmlspecialchars($data['Titre'])."`";
$req_nb_fiche_fini=mysql_query($nb_fiche_fini) ;
$row2 = mysql_result($req_nb_fiche_fini,0) ;
$nb3 = $row2["compteur2"];
//on affiche les informations de l'enregistrement en cours
$region = " select region from fiche ";
$region1 = " select region from categorie ";
if($nb3 == 0){}
//if($region == $region1){
//return (TRUE);
else{
echo '<p> <a href="./categorie.php?f='.$data['Titre'].'">'.preg_replace('/_/',' ',htmlspecialchars($data['Titre'])).'('.$nb3.')</a><br></p>';
//}
}
}
?>
Re: problème choisir par catégorie en php
Posté : 25 avr. 2012, 20:33
par xTG
Il y a quelque chose dans $_POST['region'] ?
Re: problème choisir par catégorie en php
Posté : 26 avr. 2012, 01:04
par minou10
bien sur oui, juste pour me comprendre bien voila une explication :
j'ai une table Fiche qui s'appelle :
id---- Titre------- region
1 -----alvaro -----Cinéma & TV
2 -----carboni-----annuaire
3 -----simo -------Cinéma & TV
4 -----moha ------sport
5 -----molay ------sport
6 -----rachi------- annuaire
voila donc je veux afficher la region te quand je clique sur une region il faut qu'il me donne le titre qui appartient ( merci )
par exemple je choisi sport il faut qu'il m'affiche ( moha et molay )
Re: problème choisir par catégorie en php
Posté : 26 avr. 2012, 08:46
par xTG
Hum j'avais trop vite parcouru ton script, il doit générer une erreur SQL.
Tu utilises des ` au lieu de ' pour entourer une chaîne de caractères dans ton where.
Re: problème choisir par catégorie en php
Posté : 26 avr. 2012, 16:55
par minou10
oui j'ai changé maintenant mais le meme probléme il m'affiche tout les champs en meme temps il m'affiches pas juste le contenu d'une catégorie
<?php
$demande = "SELECT Titre FROM fiche WHERE region = '".mysql_real_escape_string($_POST['region'])."'";
$result = mysql_query($demande);
while($data = mysql_fetch_assoc($result))
{
$nb_fiche_fini="SELECT COUNT(*) AS compteur2 FROM `".htmlspecialchars($data['Titre'])."`";
$req_nb_fiche_fini=mysql_query($nb_fiche_fini) ;
$row2 = mysql_result($req_nb_fiche_fini,0) ;
$nb3 = $row2["compteur2"];
if($nb3 == 0){}
else{
echo '<p> <a href="./categorie.php?f='.$data['Titre'].'">'.preg_replace('/_/',' ',htmlspecialchars($data['Titre'])).'('.$nb3.')</a><br></p>';
}
}
?>
Re: problème choisir par catégorie en php
Posté : 26 avr. 2012, 18:25
par moogli
Salut,
Qu'entend tu par "affiche tout" ?
As tu affiché la réalité SQL pour la rester dans un client SQL ? (phpmyadmin ou équivalent).
À quoi sert la requête à dans le while ?
Tu as fait une table par "titre" ?
Si oui stop tout c'est une très très mauvaise idée.
Le compteur doit être dans la 1ère table. S'il y a plusieurs compteurs alors une table "compteur" peux être préférable (jointure).
@+
Re: problème choisir par catégorie en php
Posté : 26 avr. 2012, 19:25
par minou10
en fait le compteur c'est juste pour compter combien de fiche dans un Titre
en fait Titre est un champ dans la talbe fiche
en fait si c'est possible tu peux m'aider pour changer cette méthode et travaillé avec une liste déroulante par exemple :
Code : Tout sélectionner
<form action="fiche.php" method="post">
<select id="data_region">
<option value="annuaire">annuaire</option>
<option value="Cinéma & TV">Cinéma & TV</option>
<option value="sport">sport</option>
</select>
<input type="submit">
</form>
quand je choisi une categorie il vas me dirigé vers les titres qui appartient a cette categorie !!
Re: problème choisir par catégorie en php
Posté : 27 avr. 2012, 17:08
par minou10
vous etes la ???
Re: problème choisir par catégorie en php
Posté : 27 avr. 2012, 17:35
par moogli
en fait des fois oui des fois non.
on ne va ta faire ton script.
dit nous ce que tu ne sais pas faire et on pourra t'expliquer ou t'orienter vers un tuto
une liste déroulante s'utilise comme le autres champs html (enfin sans le type file mais c'est une autre histoire).
=>
http://www.lephpfacile.com/cours/8-recu ... ormulaires
coté validation du formulaire c'est une simple
Concaténation pour créer la requete SQL
http://www.lephpfacile.com/cours/13-aff ... votre-base
@+
Re: problème choisir par catégorie en php
Posté : 28 avr. 2012, 19:35
par minou10
voila j'ai fais un code regardé mon erreur moi je la trouve pas
<?php echo '<a href="../index.php">Accueil</a> => <a href ="/fichit/includes/Type.php">Consulter les fiches</a> => <a href ="/fichit/includes/fiche.php?f='.$titre1.'">'.$titre1.'</a>'; ?>
</div>
<h1>Fiches Disponibles</h1>
<?php
$demande = "SELECT Titre FROM fiche WHERE region = '$titre1' ORDER BY Nom "
$result = mysql_query($demande);
while($data = mysql_fetch_assoc($result))
{
echo '<p> <a href="./categorie.php?f='.$data['Titre'].'">'.preg_replace('/_/',' ',htmlspecialchars($data['Titre'])).'('.$nb3.')</a><br></p>';
}
}
?>
Re: problème choisir par catégorie en php
Posté : 28 avr. 2012, 23:50
par moogli
vu que le code est incomplet je ne peux que dire que
$titre1 et $data3 n'existent pas et qu'il y a une } en trop a la fin.
C'est surement pas vrai avec le code complet, celui ci serait donc assez pratique.
ton preg_replace peux être remplacé par un str_replace (c'est mieux même dans ce cas).
y a t'il un message d'erreur ?
y a t'il des symptome ? que fait le script, qu'est ce qu'il ne fait pas etc etc
@+