Kan je ook van twee databases selecteren?
Dit werkt niet:


 $query2        = "SELECT naam,prijs FROM producten WHERE id = ".$row1['productID'];
    $result2    = mysql_query($query2) or die (mysql_error());
    $row2        = mysql_fetch_array($result2);
    $query3        = "SELECT naam,prijs FROM producten2 WHERE id = ".$row1['productID'];
    $result3    = mysql_query($query3) or die (mysql_error());
    $row3       = mysql_fetch_array($result3);


$query1        = "SELECT * FROM winkelwagen WHERE ip ='".$_SERVER['REMOTE_ADDR']."'";
$result1    = mysql_query($query1) or die (mysql_error());
$query4        = "SELECT * FROM winkelwagen2 WHERE ip ='".$_SERVER['REMOTE_ADDR']."'";
$result4    = mysql_query($query4) or die (mysql_error());


Hij laat alleen de producten van winkelwagen2 zien.
Gebruik liever MySQLi. Verder kan je ook een connectie-argument gebruiken.

Maar waarom zet je alles niet gewoon in een enkele database?
Zou kunnen, maar ik wil producten op een aparte pagina laten zien, wel in zelfde winkelmand.
Als alles op dezelfde pagina staat wordt het onoverzichtelijk

Voorbeeld:
Fietsen
Brommers

Hoe doe ik dit dan?

Edit: Ben dit script nog aan het passen de queries verander ik later naar mysqli

[size=xsmall]Toevoeging op 31/10/2015 16:41:10:[/size]

Het is namelijk beter om alles in 1 database te hebben anders moet ik er 12 aanmaken
Zo ver ik weet is het niet mogelijk om een query op 2 verschillende databases tegelijkertijd uit te voeren.

Je maakt eerst een databaseverbinding, dit is altijd met één database.
Vervolgens voer je via die verbinding een query uit.

Bedoel je niet 2 tabellen in plaats van 2 databases ?
Volgens mij kan je de mysql_select_db() achterwege laten en de tabellen aanroepen zoals:

databasenaam.tabel

Achter één connectie kunnen meerdere databases zitten.



en hoe doe je dat?
Eh.... zoals ik zeg?
Queries aanpassen met de databasenaam erin?

Ik neem aan dat de inlog verder hetzelfde is?

Maar, waarom wil je nou meerdere databases gebruiken, en niet alles overhevelen naar één database?
Als je een JOIN gebruikt kun je je gewenste resultaat volgens mij behalen.

Of de manier van je data opslaan de goede manier is, valt volgens mij nog te bespreken.

Een klein voorbeeldje:

SELECT 
* 
FROM 
winkelwagen
INNER JOIN winkelwagen2 
WHERE 
winkelwagen.ip ='{$_SERVER['REMOTE_ADDR']}' AND
winkelwagen2.ip ='{$_SERVER['REMOTE_ADDR']}'


Heb je overigens al eens nagedacht over het filteren op IP adres?
Wat als ik met 2 computers kijk naar je website vanaf het zelfde ip adres?
Dan zie ik op beide computers dezelfde winkelwagen?
Winkelwagens per IP? Ik vind het een no-go. In dat geval kan je beter met PHP-sessions werken.
Of anderzijds deze in de database op te slaan, aan de hand van een uniek ID in je cookie en je database.
PeterK: met een JOIN koppel je tabellen in 1 tabel.
Ik kan me niet voorstellen dat dit werkt:


SELECT database_een.naam, database_twee.adres
FROM database_een.tabel_namen, database_twee.tabel_adressen
WHERE database_twee.tabel_adressen.postcode = '1234AB'
AND database_een.tabel_namen.voorletters = 'J.A.'
Volgens mij zou zoiets gewoon moeten werken.

Reageren