Ik zit met een probleem. Ik heb een database met een aantal velden waar een id in gevoerd word. In een andere database, staat bij dat id een naam. Nu wil ik in een pagina die alle gegevens ophaalt uit de database waar het id staat, de naam die in de andere database bij dat id staat weergeeft. Ik hoop dat ik het een beetje duidelijk uitleg zo. Kan iemand mij helpen?
Hmm ben nog niet bepaald ervaren in PHP, maar voor ik ga zeuren om uitleg zal ik eerst eens gaan googlen op join en www.php.net raadplegen. Hoop en neem aan dat ik er zo wel uit kom.
Hartelijk dank voor je hulp!
Ik kom er niet echt uit.
Heb dit als querry:
<?php
$sql = "SELECT vluchten.nummer, vluchten.type, vluchten.van, vluchten.naar, bestemmingen.bestemmingid FROM vluchten INNER JOIN bestemmingen ON( vluchten.van = bestemmingen.bestemmingid ) WHERE van = ". $_GET['id'] ." OR naar = ". $_GET['id'];
?>
Bij vluchten heb je dus van en naar, beide een id. Bij beide moet dus de bestemming die bij het id in de tabel vluchten hoort, uit bestemmingen gehaald worden. Als ik gewoon '. $row["van"] .' en '. $row["naar"] .' doe, krijg ik nogsteeds de Id's die in de tabel staan tevoorschijn. Wie weet wat ik fout doe?
:)
Gelieve Niet Bumpen:
Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de knop om je tekst aan te passen.
<?php
$sql = "SELECT
vluchten.nummer, vluchten.type, vluchten.van, vluchten.naar, bestemmingen.bestemmingid FROM vluchten INNER JOIN bestemmingen ON( vluchten.van = bestemmingen.bestemmingid ) WHERE van = ". $_GET['id'] ." OR naar = ". $_GET['id'];
?>
Omdat je de naam ook niet ophaalt.
$sql = "SELECT
vluchten.nummer,
vluchten.type,
vluchten.van AS van_id,
vluchten.naar AS naar_id,
bestemmingen.bestemmingid,
bestemmingen.naam AS van
FROM vluchten
LEFT JOIN bestemmingen ON( vluchten.van = bestemmingen.bestemmingid )
WHERE vluchten.van = ". $_GET['id'] ." OR vluchten.naar = ". $_GET['id'];
echo $row['van'] zou nu moeten werken (mits je naam veld ook echt 'naam' heet in bestemmingen).
Het van en naar id kan je nu opvragen met $row['van_id'] en $row['naar_id'].
Hij werkt! Hartstikke bedankt. Maar nu hetzelfde verhaal voor naar.
Zou zelf zeggen dat het zo moet:
( vluchten.van = bestemmingen.bestemmingid AND vluchten.naar = bestemmingen.bestemmingid ) .
Maar dat werkt niet, dan zie ik beide niet meer weergegeven. Hoe zou ik dit moeten oplossen? Ik dacht AND aangezien ook die uit een andere tabel moet komen.
Dit bedoelt u:
( vluchten.van = bestemmingen.bestemmingid OR vluchten.naar = bestemmingen.bestemmingid )
neem ik aan?
Dan krijg ik deze error:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\ofm\luchthavengegevens.php on line 43.
Row 43 is: if (mysql_num_rows($res) >= 1)
Dit:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '( vluchten.van = bestemmingen.bestemmingid OR vluchten.naar = bestemmingen.beste' at line 9
komt eruit.
Weet niemand een oplossing? Want ikzelf kom er echt niet uit. De wat ik nu heb snap ik wel, maar kan uit geen tutorial opmaken hoe ik 2 velden kan joinen.
Gelieve Niet Bumpen:
Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de knop om je tekst aan te passen.