quelqu'un peut corriger ce que j'ai fait ? [php/mysql] - Programmation
Marsh Posté le 26-02-2001 à 22:22:06
Salut,
En fait, tu as deux boucles imbriquées. La première boucle sur les catégorie, et la deuxième affiche tous les sites lié à une catégorie QUELLE QUELLE SOIT !
Soit tu ajoute dans le WHERE de ta deuxième requete
"AND categories.categorie=" . $myrow["categorie"]
Soit tu vire ta première boucle et tu affiche la catégorie dans la seconde quand tu détecte quelle a changée.
A+
PS: La 2ème solution est la plus mieux (Moins de requêtes)
Marsh Posté le 26-02-2001 à 22:22:31
essaye de changer le nom de t champs categorie et site, pour mieux comprendre
Marsh Posté le 26-02-2001 à 22:28:07
Allez, j'ai bon coeur ce soir !
<?
$db = mysql_connect("localhost", "login","pass" );
mysql_select_db("betesite",$db);
$links = mysql_query("SELECT * FROM sites, categories WHERE sites.categorie = categories.categorie ORDER BY categories.categorie, sites.site ASC",$db);
$cat="";
while ($myrowsites = mysql_fetch_array($links))
{
if ( $cat != $myrowsites["categorie"] )
{
printf("<BR><font size=5>%s</font><br><BR> \n",$myrowsites["categorie"]);
$cat = $myrowsites["categorie"];
}
printf("<LI><A HREF=\"%s\">%s</A><BR>\n", $myrowsites["url"], $myrowsites["site"]);
}
?>
Marsh Posté le 26-02-2001 à 22:29:17
c'est vrai que c'est stupide de faire une table categorie si j'ai quand meme un champ categorie dans site.
Que je suis neuneu.
oui oui
(désolé, mais il fallait que je dise à tout le monde que je suis neuneu)
Marsh Posté le 26-02-2001 à 22:31:32
merci mara's dad. Je n'en demandais pas tant.
Merci merci merci
Marsh Posté le 26-02-2001 à 22:33:10
C'est stupide si tu n'as que le champs categorie dans la table categories. Mais si tu as d'autres infos alors là c'est tout à fait normal, voire obligatoire !
Marsh Posté le 26-02-2001 à 22:05:39
Voilà, j'ai fait un base de donnée avec une table CATEGORIES et une table SITES.
Dans la table SITES, il y a un champ CATEGORIE, et je voudrais afficher :
CATEGORIE A
-site1 (correspondant à la categorie A)
-site2
CATEGORIES B
-site3 (correspondant à la categorie B)
-site4
Mais ca marche po...
Il m'affiche :
Categorie A:
-tous les liens
Categorie B:
-tous les liens
grrrrrrrrrrrrrrrrrrrrr (non, ca il ne l'affiche pas).
Help pleazzzz
--------------------------------------------------
Voilà le chty script. Merci de jeter un coup d'oeil (et si possible de trouver la bete faute que le neuneu il a faite)
Merci
<?
$db = mysql_connect("localhost", "login","pass" );
mysql_select_db("betesite",$db);
$result = mysql_query("SELECT * FROM categories",$db);
while ($myrow = mysql_fetch_array($result))
{
printf("<BR><font size=5>%s</font><br><BR> \n",$myrow["categorie"]);
$links = mysql_query("SELECT * FROM sites, categories WHERE sites.categorie = categories.categorie ORDER BY sites.site ASC",$db);
while ($myrowsites = mysql_fetch_array($links))
{
printf("<LI><A HREF=\"%s\">%s</A><BR>\n", $myrowsites["url"], $myrowsites["site"]);
}
}