Gegevens uit 2 tabellen nodig

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Timo Kleinhout

Timo Kleinhout

15/04/2011 11:04:03
Quote Anchor link
Hallo,

Ik moet gegevens uit 2 tabellen hebben (met join) maar weet niet zo goed hoe dat moet :-(

tabel klant:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
+ + + + + + + + + + + + + + + + + + +
+ gebruikersnaam |  code  | korting +
+ - - - - - - - - - - - - - - - - - +
+      Piet      |  goud  |    12   +
+ - - - - - - - - - - - - - - - - - +
+       Jan      |  brons |    8    +
+ - - - - - - - - - - - - - - - - - +


tabel code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
+ + + + + + + + + + + + + + + + + + +
+       code          |   korting   +
+ - - - - - - - - - - - - - - - - - +
+     papier          |       0     +
+     brons           |       8     +
+     zilver          |      10     +
+      goud           |      12     +
+ + + + + + + + + + + + + + + + + + +


Nu moet ik dus de kortings percentage hebben uit de tweede tabel en die moet ik dan invullen bij de kortigs tabel bij de eerste.

dus zo:
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

UPDATE klanten SET korting = ' !!KORTING UIT TABEL 2!! '
WHERE code = '$_POST'

?>



Dus als ik een code verstuur via POST moet hij de korting uit de tweede tabel halen...

Hopelijk snappen jullie het!

mvg
 
PHP hulp

PHP hulp

16/02/2025 13:15:28
 
John D

John D

15/04/2011 11:10:30
Quote Anchor link
Grappig maar je datamodel is verkeerd. alle informatie uit de tabel code komt ook in de tabel klant (code, korting). Maar goed: Om de korting op te halen doe je een select op de tabel code. select korting uit tabel code where code = $_POST. Vervolgens doe je je update.
Gewijzigd op 15/04/2011 11:11:53 door John D
 

15/04/2011 14:28:26
Quote Anchor link
Bij mysql kan je ook een select in een update stoppen.
Maar goed, ik zou niet weten waarom je nog hier mee verder zou willen gaan.
 
Timo Kleinhout

Timo Kleinhout

15/04/2011 15:43:07
Quote Anchor link
Karl Karl op 15/04/2011 14:28:26:
Bij mysql kan je ook een select in een update stoppen.
Maar goed, ik zou niet weten waarom je nog hier mee verder zou willen gaan.


Wat bedoel je met, "Ik zou niet weten waarom je hier mee verder zou willen gaan."?
 
John D

John D

15/04/2011 15:47:43
Quote Anchor link
omdat je datamodel niet in orde is, omdat je minimaal het veld code of het veld korting uit de tabel klant moet halen.
 
Arjan -

Arjan -

15/04/2011 15:55:47
Quote Anchor link
Het beste is om het zo te doen (want ik neem aan dat elke code een vaste korting heeft):

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
+ + + + + + + + + + + + + + + +
+ gebruikersnaam |  code_id   +
+ - - - - - - - - - - - - - - -
+      Piet      |  1         +
+ - - - - - - - - - - - - - - -
+       Jan      |  2         +
+ - - - - - - - - - - - - - - -


tabel code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
+ + + + + + + + + + + + + + + + + + ++ + + + + + + + + + + +
+       code_id      |    code_naam      |   code_korting  +
+ - - - - - - - - - - - - - - - - - - - - - - - - - - -    +
+     1              |    papier         |       0         +
+     2              |    brons          |       8         +
+     3              |    zilver         |      10         +
+     4              |     goud          |      12         +
+ + + + + + + + + + + + + + + + + + ++ + + + + + + + + + + +


Nu kan je met behulp van een join op je tabel "code" de bijbehorende korting en code_naam opvragen.

Bijvoorbeeld:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
SELECT
k.gebruikersnaam,
c.code_naam,
c.code_korting
FROM
klant k
LEFT JOIN
code c
ON
c.code_id = k.code_id
WHERE
k.gebruikersnaam = 'Piet'
Gewijzigd op 15/04/2011 15:59:27 door Arjan -
 
Timo Kleinhout

Timo Kleinhout

15/04/2011 16:05:01
Quote Anchor link
Bedankt! Het is gelukt ;-)

Toevoeging op 15/04/2011 16:05:04:

Bedankt! Het is gelukt ;-)
 



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.