Left join werkt niet naar behoren

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

J C

J C

07/12/2016 04:10:47
Quote Anchor link
Ik heb de volgende query
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
<?php
//vakanties
$start = date('Y-m-d', $_GET['start']);
$end = date('Y-m-d', $_GET['end']);
$sql = "SELECT mw_vakantie.id as id, mw_gegevens_id as title, mw_vakantie.reden as name, date_format(begin, '%Y-%m-%dCET%H:%i:%s+02:00') as start, date_format(eind, '%Y-%m-%dCET%H:%i:%s+02:00') as end
        FROM mw_vakantie LEFT JOIN mw_gegevens USING (mw_gegevens_id) WHERE begin BETWEEN '{$start}' AND '{$end}'"
;
$result = mysqli_query($connection, $sql);
if (mysqli_num_rows($result) > 0) {
    while ($booking = mysqli_fetch_assoc($result)) {
        $booking['color'] = '#FF4500';
        $bookings_array[] = $booking;
    }
}

?>


In het tabel mw_vakanties staat een regel met als mw_gegevens_id met als waarde 195
In het tabel mw_gegevens staat een regel met als mw_gegevens_id met als waarde 195 en mw_gegevens_vnaam met de waarde Jasper

Als ik bovenstaande query gebruik krijg ik netjes de waarde 195 terug. Maar zodra ik in de query mw_gegevens_id vervang door mw_gegevens_vnaam, dan wordt er geen waarde terug gegeven.

Wat ik ervan begrijp is dat de 2 tabellen niet samengevoegd. Ik kan me alleen niet meer bedenken wat ik fout heb gedaan.
Hopelijk kunnen jullie mij op weg helpen.
- Ariën -:
Typfout uit topictitel gehaald.
Gewijzigd op 07/12/2016 20:26:45 door - Ariën -
 
PHP hulp

PHP hulp

23/04/2024 12:01:19
 
Ivo P

Ivo P

07/12/2016 09:52:13
Quote Anchor link
ik zou eens beginnen met de query eens overzichtelijk te typen.

Op tactische plekken eens op enter drukken, komt de leesbaarheid ten goede.

Verder zou ik de query niet in php ontwikkelen maar eerst direct aan de database voeren (bijvoorbeeld met PHPMyAdmin of HeidiSQL)

Je krijgt dan ook foutmeldingen te zien, want daar doe je hier nu niets mee.

"Tabel" is trouwens niet onzijdig. Je mag de "de" als lidwoord gebruiken.
http://woordenlijst.org/#/?q=tabel
Gewijzigd op 07/12/2016 09:53:11 door Ivo P
 
Thomas van den Heuvel

Thomas van den Heuvel

07/12/2016 14:17:24
Quote Anchor link
Quote:
mw_gegevens_vnaam

Komt die dan in beide tabellen voor? En als dat al zo is, lijkt mij dat tevens een ontwerpfout. Het lijkt mij onverstandig om twee tabellen op grond van tekst aan elkaar te fietsen (tenzij je niet anders kan).

Quote:
PHPMyAdmin of HeidiSQL

Of gewoon een prompt ;).
 
J C

J C

07/12/2016 20:22:12
Quote Anchor link
Nee mw_gegevens_vnaam komt alleen voor in het tabel mw_gegevens.
Ik zet hem ook als mw_gegevens.mw_gegevens_vnaam in de query.
 



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.