Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3630 connectés 

 


Dernière réponse
Sujet : [PHP] interroger plusieurs tables
Profil supprimé

m@nou a écrit a écrit :

SELECT nom_cat,nom_sscat FROM categories,sscategories where categories.id_cat=sscategories.id_cat




 
si je fais :
 
$result = mysql_query("SELECT nom_cat,nom_sscat FROM categories, sscategories where categories.id_cat=sscategories.id_cat ", $db);
 
while( $rowcat = mysql_fetch_object($result) )
  {
    echo $rowcat->nom_cat;
   }
 
et tout le toutim.... ça marche c'est formidable !! j'ai même rajouté de quoi faire des tris différents :)))))


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion

m@nou a écrit a écrit :

SELECT nom_cat,nom_sscat FROM categories,sscategories where categories.id_cat=sscategories.id_cat




 
si je fais :
 
$result = mysql_query("SELECT nom_cat,nom_sscat FROM categories, sscategories where categories.id_cat=sscategories.id_cat ", $db);
 
while( $rowcat = mysql_fetch_object($result) )
  {
    echo $rowcat->nom_cat;
   }
 
et tout le toutim.... ça marche c'est formidable !! j'ai même rajouté de quoi faire des tris différents :)))))

j'ai pourtant essayé de faire :
 
while( $rowsscat = mysql_fetch_object($resultsscat) )
{
  while( $rowcat = mysql_fetch_object($resultcat) )
  {
    echo $rowcat->nom_cat;
  }  
}
 
mais c'est idem....
 
je vais essayer cet am les solutions qui m'ont été données ici...
merci :)
omega2 Bon, les autres t'on donner la solution idéale.
Pour ton message d'erreur, c'est apr ce que t'as deux variables :
$rowsscat qui est un objet et que t'affecte bien
$rowcat   qui n'est définis nulle part et qui n'est donc pas un objet
(erreur bète qui arrive à tout le monde)
je crois qu'on peut dire des jours :)))) en fait, j'ai commencé de bloquer grave au bout de quelques heures.... mais quand c'est bloqué, c'est bloqué... y'a plus rien à faire que lancer un sos.... je pensais y arriver seul... mais là, je regrette de pas avoir demandé plus tôt :))
m@nou pô de koi :D
le forum est fait pour çà.
 
vaut mieux poser çà question que rester bloquer des heures voire des journées entières devant son pb ;)

 

[edit]--Message édité par m@nou--[/edit]

Vous êtes trop sympas les mecs (y'a peut-être des filles...) !!!
 
Vous me mâchez le travail en plus !!  
 
A charge de revanche :)))
 
En plus c'est pour un site matos informatique :)) il pourra peut-être vous servir :))))
FLY LM Tiens un petit code pour répondre à ton pb :
 
<?php
 
 $connect = mysql_connect("$host","$user","$password" );  
 
 $query = "SELECT c.nom_cat,s.nom_sscat FROM categories AS c, sscategories AS s WHERE c.id_cat=s.id_cat ORDER BY c.nom_cat";
 $result = mysql_db_query("$db",$query) or die ("Requête invalide" );
     
     
     
     $cat="";
 while($row = mysql_fetch_object($result))  
 {  
  if($cat!=$row->nom_cat)
  {
   echo "<br><b>".$row->nom_cat."</b><br>";  
   }
     
  $cat = $row->nom_cat;
  echo "     ".$row->nom_sscat."<br>";  
 }
 
?>
Mich une solution aussi : dans ta table "Categories" tu ajoutes un champ "Parent" dans lequel tu mets 0 si c'est une categorie, ou le code de la categorie parente si c'est une sous-categorie.
Premiere requete : tu recuperes les categories :
select code from table where parent=0
pour chaque code
   select * from table where parent=code
   pour chaque sous categorie trouvee
     traitement
   finpour
finpour
oui c'est bien une jointure que je veux faire... mais pourquoi que je l'ai pas dis tout de suite ????
 
merci pour la requête tout faite :))
 
je ne savais pas que l'on pouvais faire des jointures en Mysql :))
m@nou çà s'appelle faire une jointure :D
t'as besoin d'une seule requête du genre
 
SELECT nom_cat,nom_sscat FROM categories,sscategories where categories.id_cat=sscategories.id_cat
 
tu peux mettre des alias sur les tables pour raccourcir un peu ta clause "WHERE" et tu peux aussi ajouter ton critère de tri avec la clause "ORDER BY"
 
 
SETI çà kil te faut ?? :D
je bute là-dessus depuis un moment...
 
j'ai deux tables :
 
CREATE TABLE categories (
id_cat SMALLINT(255) UNIQUE NOT NULL AUTO-INCREMENT,
nom_cat VARCHAR(255) NOT NULL,
PRIMARY KEY(id_cat));
 
CREATE TABLE sscategories (
id_sscat SMALLINT(255) UNIQUE NOT NULL AUTO-INCREMENT,
id_cat SMALLINT(255) NOT NULL,
nom_sscat VARCHAR(255) NOT NULL,
PRIMARY KEY(id_sscat));
 
et je voudrais afficher, dans un tableau, la liste de toutes les catégories et
sous-catégories associées...
 
voilà ce que j'essaye mais sans succès :
 
$db = mysql_connect("host", "login", "password" );
mysql_select_db("ma_base",$db);
 
if ("sscat"==$page)
{
$resultcat = mysql_query("SELECT * FROM categories ORDER BY nom_cat", $db);
$resultsscat = mysql_query("SELECT * FROM sscategories ORDER BY nom_sscat",
$db);
}
 
<table border="1" cellpadding="5">
<tr>
<td bgcolor="#ffffec" colspan="2">
<b><center>LISTE DES SOUS-CATEGORIES DE LA BASE D'EXPLOITATION</b></center>
</td>
</tr>
<tr>
<td bgcolor="#ffffec">
<b>Catégories</b>
</td>
<td bgcolor="#ffffec">
<b>Sous-catégories</b>
</td>
</tr>
<tr>
<td bgcolor="#fffff9">
<?
while( $rowsscat = mysql_fetch_object($resultsscat) )
{
echo $rowcat->nom_cat;
}
?>
</td>
<td bgcolor="#fffff9">
<?
echo $rowsscat->nom_sscat;
}
mysql_close();
?>
</td>
</tr>
</table>
 
y'a peut-être une ou deux erreurs de ; et de } mais c'est un copier/coller
foireux :))
 
l'erreur c'est : "$rowcat n'est pas un objet" au niveau de l'affichage de la
catégorie en face de la sous catégorie (qui fonctionne bien elle...)
 
merci :))

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)