login  Naam:   Wachtwoord: 
Registreer je!
 Forum

1 ID zoeken in 3 tables

Offline drunkenoldma - 20/11/2006 00:20 (laatste wijziging 20/11/2006 00:25)
Avatar van drunkenoldmaHTML interesse Ik heb een probleem met mysql en php...
Zal eerst even m'n tables tonen:

Tabel 'characters'
ID Charname
5 Hannes
3 Johan


Tabel 'items'
Item_id owner_id
30 5
22 3
11 5
66 5

Tabel 'weapon'
item_id item_name
30 Short sword
68 Long sword
14 Very long sword
66 Club
12 Axe

Tabel 'Armor'
item_id item_name
99 Robe
22 Skirt
98 plate

Tabel 'etcitem'
item_id item_name
11 ring
25 cape

Ok, nu wil ik dus, datie in tabel characters kijkt naar de id, die id dan zoekt in de tabel 'items' (row 'owner_id'), dan bij Item_id, moet ie zoeken in de drie tabels (etcitem, weapon, armor) naar de item_id nummer en de item_name uitprinten.

Dit is voor een website van een spel, dus ik kan de database niet veranderen...

Ik hoop dat je me begrijpt en kan helpen.

Bedankt
Hannes

5 antwoorden

Gesponsorde links
Offline Martijn1989 - 20/11/2006 00:54
Avatar van Martijn1989 PHP ver gevorderde Die id nummers in die 3 tabbelen zijn allemaal anders? Want anders zou ik een categorie toevoegen aan de kolom items met in welke tabel die staat.

Maar mijn vraag kunnen er in de tabel Armor en etcitem dit staan :

armor :

12 | Chickenskirt
16 | Platebody
21 | Golden shoes

ectitem :

11 | Apple
16 | Ear of a pig
21 | Mobile phone

? Als dat zo is kan het niet en moet je een kolom toevoegen aan de tabel items, anders kan het wel ... maar geef maar eens antwoord eerst ;)
Offline drunkenoldma - 20/11/2006 01:02
Avatar van drunkenoldma HTML interesse neenee, er zijn geen een items dezelfde id...

Citaat:
armor :

12 | Chickenskirt
16 | Platebody
21 | Golden shoes

ectitem :

11 | Apple
16 | Ear of a pig
21 | Mobile phone

Kan dus niet,

  1. armor :
  2.  
  3. 12 | Chickenskirt
  4. 16 | Platebody
  5. 21 | Golden shoes
  6.  
  7. ectitem :
  8.  
  9. 11 | Apple
  10. 15 | Ear of a pig
  11. 20 | Mobile phone

wel.

Offline Martijn1989 - 20/11/2006 01:39
Avatar van Martijn1989 PHP ver gevorderde Dan kan je het waarschijnlijk met een join doen > weet ik niet

of met 3 ifjes :

if(in tabel 1) {

//doe

} elseif(in tabel 2) {

//doe dat

} elseif(in tabel 3) {

// doe dat dan

} else {

//niet gevonden

}

?
Offline drunkenoldma - 20/11/2006 01:42
Avatar van drunkenoldma HTML interesse ahja, dat zal ik es probere, bedankt hé
Offline smoos - 20/11/2006 14:19 (laatste wijziging 20/11/2006 14:19)
Avatar van smoos PHP gevorderde zoiets misschien:
  1. SELECT
  2. items.Item_id AS id,
  3. weapon.item_name,
  4. Armor.item_name
  5. FROM
  6. items
  7. LEFT JOIN weapon ON weapon.item_id = id
  8. LEFT JOIN Armor ON Armor.item_id = id
  9. WHERE
  10. items.Item_id = 5

Niet getest btw?

Voor welk spel is het als ik vragen mag
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.201s