Dan wil ik uit die 5 databases dus iets selecteren.
Hoe bouw ik nu die ene select op? Kan ik 1 select draaien op 5 connecties?
Zo ja, kan iemand mij opweg helpen?
$query = mysql_query("SELECT connectie1.waarde, connectie2.waarde, connectie3.waarde, connectie4.waarde, connectie5.waarde FROM connectie1.tabel, connectie2.tabel, connectie3.tabel, connectie4.tabel, connectie5.tabel ORDER BY waarde ASC") or die(mysql_error());
$query=mysql_query("SELECT connectie1.waarde, connectie2.waarde, connectie3.waarde, connectie4.waarde, connectie5.waarde FROM connectie1.tabel, connectie2.tabel, connectie3.tabel, connectie4.tabel, connectie5.tabel ORDER BY waarde ASC") or die(mysql_error());
SELECT * FROM `database1`.`tabel`
UNION
SELECT * FROM `database2`.`tabel`
UNION
SELECT * FROM `database3`.`tabel`
UNION
SELECT * FROM `database4`.`tabel`
UNION
SELECT * FROM `database5`.`tabel`
SELECT*FROM`database1`.`tabel`
UNION
SELECT*FROM`database2`.`tabel`
UNION
SELECT*FROM`database3`.`tabel`
UNION
SELECT*FROM`database4`.`tabel`
UNION
SELECT*FROM`database5`.`tabel`
Met joins kan eventueel ook, maar dan krijg je een resultaat van database1 * database2 * etc... dus zou je ontzettend veel records terug krijgen waar je niets aan hebt dus zou je DISTINCT kunnen gebruiken en tis onnodige belasting van je DBMS.
Uuhm.. Ja...
Ik ben me nu de hele middag al aan het blindstaren, dus zie eigenlijk niets meer.. hahaa (tijd voor pauze...)..
Ik heb dus dit:
Tabel 1:
id naam
1 Peter
2 Dirk
3 Marloes
Tabel 2
id naam
1 Sandra
2 Willem
3 Arnoud
etc.
Stel, ik wil nu van alle 5 de tabellen, die dus ook allemaal in een aparte database staan en allemaal een aparte connectie nodig hebben, een overzicht op alfabet maken.
Nu wil ik dus dit resultaat krijgen:
Naam:
Arnoud
Dirk
Marloes
Peter
Sandra
Willem
Als ik de quaries apart doe, dan moet ik ze daarna nog gaan samenvoegen, kan dit?
Of moet ik me toch houden aan 1 query met daarin de 5 connecties?
In het voorbeeld van Diko zie ik ook geen connecties terug. de 5 tabellen (en dus databases) hebben allen een eigen aparte inlog.
<?php
// hier je verschillende verbindingen en je query's
// nu alles in array proppen
while($arr = mysql_fetch_assoc($query1)) {
$result[] = $arr;
}
while($arr = mysql_fetch_assoc($query2)) {
$result[] = $arr;
}
// en zo verder
// even sorteren
asort($result);
// voila, een op alphabet gesorteerde array
<?php
// hier je verschillende verbindingen en je query's
Met het ophalen van de data gaat het fout.
Waar ik "naam" in heb gezet moet je veranderen naar de desbetreffende kolom naam in je tabel (die je wilt ophalen).
Ja, nu krijg ik inderdaad wel een lijst te zien..
EDIT:
Oei, maar nog niet door elkaar. Ik krijg nu 2 keer een lijst te zien, eerst van tebel 1, en daarna van tabel 2. Ik zou ze graag samenvoegen.
Nu heb ik alleen nog 2 problemen.
Probleem 1:
Hoe voeg ik ze nu samen?
Probleem 2:
Stel, ik wil achter de naam de tabelnaam neerzetten.
Dus voorbeeld uit het eerdere voorbeeld:
Citaat:
Tabel 1:
id naam
1 Peter
2 Dirk
3 Marloes
Tabel 2
id naam
1 Sandra
2 Willem
3 Arnoud
Naam:
Arnoud (tabel2)
Dirk (tabel 1)
Marloes (tabel 1)
Peter (tabel 1)
Sandra (tabel 2)
Willem (tabel 2)