ugrás a tartalomhoz

Egymás után adatlekérések mysqlből

lamase · 2005. Júl. 24. (V), 18.20
PafileDB-t (www.phparena.net/pafiledb.php) használok, és szeretném lekérni mysqlből az utoljára hozzáaadott fájlok listáját. Ezzel nem is lenne gond, csak van benne egy kis csavar..

pafiledb_cat tartalmazza a kategóriák listáját, itt van nekem egy X ($cat_id=1) és egy Y ($cat_id=2) főkategóriám. Ugyan ebbe a pafiledb_cat -be vannak az alkategóriák is, hat darab, de amire nekem szükségem van azok a következő alkategóriák: A ($cat_id=3), B ($cat_id=4), C ($cat_id=5). Az alkategóriákat úgy különbözteti meg a főkategóriától, hogy a cat_parent-nek értéket, ad, az-az melyik cat_id -jű főkategóriához tartozik. Jelen esetben az A, B és a C alkategóriának a cat_parentje 1.

Ezekbe az alkategóriákba kerülnek a fájlok, a fájlokat a pafiledb_files -ba írja bele. Azt, hogy egy-egy fájl melyik ALkategóriához tartozik azt file_catid sor tárolja.

Nekem arra lenne szükségem, hogy az X kategóriához tartozó összes alkategóriából kiválogassa az utoljára hozzáaadott 10 fájlt dátum szerint.

Remélem érhetően sikerült fogalmaznom. :) Itt egy próbálkozás, de sajnos nem jó, mert csak az 'A' alkategóriából válogatja ki a fájlokat.
  1. <?php  
  2. $DBHost="xxx";   
  3. $DBUser="xxx";   
  4. $DBPass="xxx";   
  5. $DBName="xxx";   
  6. mysql_connect("$DBHost","$DBUser","$DBPass");   
  7. mysql_select_db("$DBName");   
  8.   
  9. $result = mysql_query("SELECT * FROM pafiledb_cat WHERE cat_parent='2'");  
  10. $num = mysql_num_rows($result);  
  11. while ($record = mysql_fetch_object($result)) {  
  12.     $cat_id = "$record->cat_id";  
  13.   
  14.     $query = "SELECT * FROM pafiledb_files WHERE file_catid='$cat_id,' ORDER BY file_time DESC limit 10";  
  15.     $result = mysql_query($query);   
  16.         while ($record = mysql_fetch_object($result)) {  
  17.             $file_id = "$record->file_id";  
  18.             $file_name = "$record->file_name";  
  19.             $file_dls = "$record->file_dls";   
  20.   
  21.         echo"<a href=\"downloads.php?file=1&file_id=$file_id\" title=\"Letöltések: $file_dls\">$file_name</a><br>";   
  22.        }  
  23. }  
  24. ?>  
 
1

JOIN ?

tiku I tikaszvince · 2005. Júl. 24. (V), 18.38
Mi lenne ha összekapcsolnád a két táblát, és úgy próbálnád a lekérdezést?
  1. $query = "SELECT * FROM pafiledb_files LEFT JOIN pafiledb_cat ON pafiledb_cat.cat_id=pafiledb_files.cat_id WHERE cat_parent='$cat_parent' ";  
vagy valami ehez nagyon hasonló...

TikuVoltam
Ma is holnap fekszünk le, mint tegnap
2

lehet közel a

lamase · 2005. Júl. 25. (H), 00.38
lehet közel a megoldás
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in dl.php on line 12