Data ophalen twee verschillende tabellen MySQL

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Peter  paul

peter paul

03/03/2015 17:34:09
Quote Anchor link
Zoals de titel al aan geeft zou ik graag de data op halen van twee verschillende tabellen in mijn MySQL DB. Deze tabellen hebben helemaal geen verband en ik kan dan ook niet "join" gebruiken.

Ik kan uiteraard in de while-loop van een van de tabellen de andere ophalen. Maar dat lijkt me niet echt efficiënt aangezien ik dan elke keer dat ik door de while-loop ga weer de zelfde data ophaal.

<code>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php

$query1
= "SELECT * FROM table1";
$result1 = mysqli_query($connect, $query1);
 
    while ($row1 = mysqli_fetch_array($result1))
    {

    
    $query2 = "SELECT * FROM table2";
    $result2 = mysqli_query($dbc, $query);

        while ($row2 = mysqli_fetch_array($query)){
         
         
        }
     }


?>

</code>

Mijn vraag is dan ook is er een andere manier??
 
PHP hulp

PHP hulp

10/05/2021 21:25:26
 
Frank Nietbelangrijk

Frank Nietbelangrijk

03/03/2015 18:00:03
Quote Anchor link
Ik kan me niet voorstellen dat er geen enkele relatie (mogelijk) is tussen de twee tabellen als je dit gaat doen
 
Thomas van den Heuvel

Thomas van den Heuvel

03/03/2015 18:29:14
Quote Anchor link
Als het ophalen van de resultaten van table2 verder op geen enkele manier afhankelijk is van de huidige resultaatrij van table1, waarom staan deze whiles dan in elkaar in plaats van naast elkaar?

Oftewel, is er een reden waarom je deze opzet hanteert terwijl je zelf aangeeft dat deze twee tabellen verder op geen enkele manier samenhangen?

Waarom niet gewoon:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$query1
= "SELECT * FROM table1";
$result1 = mysqli_query($connect, $query1);
while ($row1 = mysqli_fetch_array($result1)) {
    // ...
}

$query2 = "SELECT * FROM table2";
$result2 = mysqli_query($connect, $query2);
while ($row2 = mysqli_fetch_array($result2)){
    // ...
}
?>

Als je de resultaten na afloop op een of andere manier toch wilt combineren (en dat de reden is dat je telkens een tabel opnieuw controleert) kun je deze misschien tussentijds opslaan in PHP, bijvoorbeeld via arrays? Dan, na afloop van het (eenmalig) ophalen van je gegevens uit beide tabellen ga je rekenen met de PHP-arrays.
 
Peter  paul

peter paul

03/03/2015 19:12:43
Quote Anchor link
Bedankt, ik heb voor het laatste gekozen om er een PHP-array van te maken.
Gewijzigd op 03/03/2015 19:13:23 door peter paul
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

03/03/2015 19:20:49
Quote Anchor link
Of gewoon met één query zonder in PHP met array te gaan lopen klooien:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT * FROM table1 CROSS JOIN table2
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.