[PHP/MYSQL]Join INNER of niet, en display van id naar naam

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Freezo
  • Registratie: Februari 2001
  • Laatst online: 13-09 02:13
Gegroet,

Wat heb ik gedaan:
-Tutorials over joinen
-Search op tweakers en google
Maar het lukt me gewoon nog niet. Ik zit nu in India, en heb 56k6 GPRS verbinding,
dus ben wat beperkt om te blijven zoeken. Heb al online met vriend heel lang gechat, maar hij kon
het me niet uitleggen, of hij snapte het niet (frans).

Mijn probleem
Ik heb een database met daarin 2 tabellen.
+Tabel naam : am_pg_cat
-photo_cat_id
-photo_cat_name

+Tabel naam : am_pg_photos
-photo_id
-photo_name
-photo_cat_id

Het gaat hier om een photogallery script.
Structuur is : catagory>galleries>galleryphotos>photo
Bij de pagina die de photo in het groot laat zien, wil ik ook de catagory naam
plaatsen. Niet de photo_cat_id maar de photo_cat_name. (er zijn meer tabellen, maar voor dit geld hetzelfde probleem).

Ik heb met deze queries geprutst:
code:
1
2
$query1 = "SELECT a.*, b.* FROM am_pg_cat a, am_pg_photos b WHERE a.photo_cat_id = b.photo_cat_id";
$query2 = "SELECT * FROM am_pg_photos a INNER JOIN am_pg_cat b (a.photo_cat_id = b.photo_cat_id) WHERE a.photo_cat_id = b.photo_cat_id";


Ik snap dus niet hoe ik van de id een naam kan maken, en hoe ik die kan displayen. Dacht gewoon by query 1 dat ik dan de
$photo_cat_name kon gebruiken, maar lukte niet...

Zit al echt dagen te prutsen ermee, en kan niet altijd online omdat ik niet echt in de stad zit (zit in de himalayas en in de jungle vaak.)

Met mijn ongeluk is het natuurlijk weer hartstikke simple, en heb ik het niet gezien omdat ik er totally in zit, en me hofod aan het
knappen is. Ja, ik weeet het, ben een prutser hehe.

Alle hulp is heel heel erg gewaardeerd.

PS: kick me ass niet ok, heb gewoon wat hulp nodig voor een non-profit org. hier.

Mijn Specs: AMD Thunderbird 850; Asus V7700 Deluxe+Oxygen 1600 SW; 640 mb SDram; 16xdvd speler;32x12x40 Rewriter; 10Mbps Ethernet Adapter; Cordless Desktop; 17,3 TFT Silicon Graphics Flatpanel; 80gig


Acties:
  • 0 Henk 'm!

  • T-MOB
  • Registratie: Maart 2001
  • Laatst online: 22:34
Volgens mij was je er al bijna met je tweede query. Onderstaande query geeft de categorienaam bij een gegeven foto-id "$selected_foto":
SELECT am_pg_cat.photo_cat_name
FROM am_pg_photos
INNER JOIN am_pg_cat ON (am_pg_photos.photo_cat_id = am_pg_cat.photo_cat_id)
WHERE am_pg_photos.photo_id = "$selected_foto"

Regeren is vooruitschuiven


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

PHP:
1
2
3
4
$query = mysql_query("SELECT * FROM am_pg_cat a, am_pg_photos b WHERE a.photo_cat_id = b.photo_cat_id");
while ($row = mysql_fetch_assoc($query)) {
  echo $row['photo_cat_name'] . '<br />';
}

Werkt perfect, lijkt me? :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Freezo
  • Registratie: Februari 2001
  • Laatst online: 13-09 02:13
@-NME- werkte niet, maar hoogst waarschijnlijk omdat ik wat fout deed. Het gaf mij altijd dezelfde catagory naam.

@T-MOB : Yup werkt met dit :
code:
1
$query3 = "SELECT am_pg_cat.photo_cat_name FROM am_pg_photos INNER JOIN am_pg_cat ON (am_pg_photos.photo_cat_id = am_pg_cat.photo_cat_id) WHERE am_pg_photos.photo_id =  $photo_id";


Hartstikke bedankt, zit alweer met me volgende probleem haha, maar zal dit eerst zelf proberen.

PS: ik weet dat [ code ] voor code displayen hier op tweakers is, maar hoe doe je het voor php code?
PHP:
1
2
test
test


Ah simple dus met [ php ] en [ / php ] hehe Ik laat het hier staan mocht iemand het toch afvragen.

Mijn Specs: AMD Thunderbird 850; Asus V7700 Deluxe+Oxygen 1600 SW; 640 mb SDram; 16xdvd speler;32x12x40 Rewriter; 10Mbps Ethernet Adapter; Cordless Desktop; 17,3 TFT Silicon Graphics Flatpanel; 80gig


Acties:
  • 0 Henk 'm!

  • Room42
  • Registratie: September 2001
  • Niet online
Als je wilt zien hoe iemand een bepaalde trick op het forum uitvoerd, kun je ook altijd even de Afbeeldingslocatie: http://gathering.tweakers.net/global/templates/tweakers/images/icons/view.gif knop rechtsboven de post drukken :)

"Technological advancements don't feel fun anymore because of the motivations behind so many of them." Bron


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Freezo schreef op vrijdag 27 mei 2005 @ 19:38:
@-NME- werkte niet, maar hoogst waarschijnlijk omdat ik wat fout deed. Het gaf mij altijd dezelfde catagory naam.
Heb je dan niet stiekem maar één categorie? :P
Ah simple dus met [ php ] en [ / php ] hehe Ik laat het hier staan mocht iemand het toch afvragen.
Het kan ook met [code=php] (en daarmee dus ook [code=vb] en dergelijke). :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Freezo
  • Registratie: Februari 2001
  • Laatst online: 13-09 02:13
@-NME-
Nope had wel weer haha. Thnx in ieder geval voor alles, ben weer een stap verder met een understanding van PHP and MYSQL :) Oh en NME je bent moderator huh?! Well misschien kan je het de rest laten weten (of whatever) maar www.tweakers.net etc is fokkin snel zelfs in India (in de middel of nowhere in the himalayas) via 56k6 verbinding, vergeleken met andere websites....echt toppie!

[ Voor 10% gewijzigd door Freezo op 27-05-2005 20:13 ]

Mijn Specs: AMD Thunderbird 850; Asus V7700 Deluxe+Oxygen 1600 SW; 640 mb SDram; 16xdvd speler;32x12x40 Rewriter; 10Mbps Ethernet Adapter; Cordless Desktop; 17,3 TFT Silicon Graphics Flatpanel; 80gig

Pagina: 1