Avatar billede kodak Mester
30. september 2019 - 15:53 Der er 9 kommentarer og
1 løsning

Compair MySQL Tabeller

Jeg har to MySQL tabeller jeg prøver at udlæse med PDO.

fra "tbl_user" skal jeg bruge:
"firstname" & "lastname" "WHERE user_location = :location"

fra "tbl_user_location" skal jeg bruge:
"firstday" & "lastday" hvis user_id = tbl_user.user_location_id

har prøvet med:
SELECT `firstname`,`lastname` FROM tbl_user LEFT JOIN tbl_user_location ON tbl_user.user_location_id = tbl_user_location.user_id WHERE user_location = :location

Men jeg får ikke firstday & lastday
Avatar billede arne_v Ekspert
30. september 2019 - 16:04 #1
tbl_user.user_location_id = tbl_user_location.user_id

ser suspekt ud.

tbl_user.user_location_id = tbl_user_location.id

eller

tbl_user.id = tbl_user_location.user_id

virker mere naturlige.
Avatar billede kodak Mester
30. september 2019 - 16:54 #2
Den første bliver den lidt sur over.
den anden henter et eller andet men ikke noget jeg kan genkende.
Avatar billede kodak Mester
30. september 2019 - 16:56 #3
skal jeg udlæse $row anderledes?
Avatar billede kodak Mester
30. september 2019 - 17:04 #4
Med:

"SELECT * FROM tbl_user LEFT JOIN tbl_user_location ON tbl_user.user_location_id = tbl_user_location.user_id WHERE user_location = :location"

Får jeg fat i firstname & lastname (fra: tbl_user)
så mangler jeg at få fat i firstday & lastday (fra: tbl_user_location)
Avatar billede arne_v Ekspert
30. september 2019 - 17:18 #5
De burde komme helt af sig selv, naar du selecter *.
Avatar billede kodak Mester
30. september 2019 - 17:26 #6
tbl_user
+----+------------------+-----------+----------+
| id | user_location_id | firstname | lastname |
+----+------------------+-----------+----------+
|  1 | 5d8eaad0b883c    | Peter    | Parker  |
|  2 | 5d8eab0856c0f    | John      | Rambo    |
|  3 | 5d8eab47e6efd    | Kent      | Clark    |
|  4 | 5d8eabc49943b    | John      | Carter  |
|  5 | 5d8eac3720204    | Harry    | Potter  |
+----+------------+-----------+----------------------+

tbl_user_location
+----+---------------+-----------+----------+---------------+
| id | user_id      | firstday  | lastday    | user_location |
+----+---------------+-----------+----------+---------------+
|  1 | 5d8eaad0b883c | 1987-06-10 | 2019-01-01 | 1            +
|  2 | 5d8eab0856c0f | 1997-06-10 | 2019-01-01 | 4            +
|  3 | 5d8eab47e6efd | 1997-06-10 | 2019-01-01 | 1            +
|  4 | 5d8eab47e6efd | 1997-06-10 | 2019-01-01 | 4            +
|  5 | 5d8eabc49943b | 1998-06-10 | 2019-01-01 | 2            +
|  6 | 5d8eac3720204 | 1998-06-10 | 2019-01-01 | 6            +
|  7 | 5d8eac3720204 | 1998-06-10 | 2019-01-01 | 1            +
+----+---------------+-----------+----------+---------------+
Avatar billede kodak Mester
30. september 2019 - 19:43 #7
Nu har jeg prøvet frem og tilbage med det ene og det andet.
Men jeg får ikke firstday & lastday

og jeg har prøvet at gradere mig:
SELECT tbl_user_location.*, tbl_user.*
FROM tbl_user, tbl_user_location
WHERE tbl_user.user_location_id = tbl_user_location.user_id AND tbl_user_location.user_location = :location"
Avatar billede arne_v Ekspert
30. september 2019 - 19:57 #8
Godt at se data.

Jeg ville proeve:

SELECT firstname,lastname,firstday,lastday
FROM tbl_user JOIN tbl_user_location ON tbl_user.user_location_id = tbl_user_location.user_id
WHERE tbl_user_location.user_location = :location"
Avatar billede arne_v Ekspert
30. september 2019 - 20:00 #9
Og se hvad der er i:

$ROW['firstname']
$ROW['lastname']
$ROW['firstday']
$ROW['lastday']

Hvis de to sidste ser tomme ud, saa proev og check formateringen.
Avatar billede kodak Mester
30. september 2019 - 21:25 #10
Jeg lavede en dumme fejl.
jeg manglede en præfix.
så den funker nu.
Takker for hjælpen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester