INNER JOIN ?
Ik wil van uit een table van geposte berichten met een INNER JOIN de ID uit dat tabel halen en dan de naam die bij dat ID hoort.
Heb nu dit geprobeert:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
while($link = mysql_fetch_array($result)) {
$post = "SELECT u.User_Name, u.User_ID, r.UserID FROM games AS r INNER JOIN users AS u ON u.User_ID = r.UserID";
$by = mysql_fetch_array(mysql_query($post)) or die (mysql_error());
echo "Je ID is = " .$by['User_Name'];
echo "Dus je naam is ".$link['User_Name'];
}
[/code]
alleen ik krijg het resultaat te zien alleen ALLES is het zelfde ookal heb ik verschillende ID's heb al wat gepuzzeld met welke volgorde van r.UserID en u .User_ID. ook heb ik ze al buiten de while gezet maar ook niks veranderd.
hier voor wat de mysql_fetch_array en assoc.
ben ik nu zo dom of?
while($link = mysql_fetch_array($result)) {
$post = "SELECT u.User_Name, u.User_ID, r.UserID FROM games AS r INNER JOIN users AS u ON u.User_ID = r.UserID";
$by = mysql_fetch_array(mysql_query($post)) or die (mysql_error());
echo "Je ID is = " .$by['User_Name'];
echo "Dus je naam is ".$link['User_Name'];
}
[/code]
alleen ik krijg het resultaat te zien alleen ALLES is het zelfde ookal heb ik verschillende ID's heb al wat gepuzzeld met welke volgorde van r.UserID en u .User_ID. ook heb ik ze al buiten de while gezet maar ook niks veranderd.
hier voor wat de mysql_fetch_array en assoc.
ben ik nu zo dom of?
Gewijzigd op 01/01/1970 01:00:00 door Yoram
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$post = "
SELECT
u.User_Name,
u.User_ID
FROM
games AS r
users AS s
WHERE
u.User_ID = r.UserID
ORDER BY u.User_ID
";
?>
$post = "
SELECT
u.User_Name,
u.User_ID
FROM
games AS r
users AS s
WHERE
u.User_ID = r.UserID
ORDER BY u.User_ID
";
?>
Wel vind ik het 'raar' dat een user 2 userid's heeft.
Wellicht is het slim om dat gewoon GELIJK te maken?
Ik heb een tabel met berichten en een tabel met de inlog gegevens zeg maar.
in de tabel berichten zit een UserID van de user die hem gepost heeft.
in de table users staat voor de ID een naam ik wil dus juist van berichten dat id achterhalen welke naam bij dat ID hoort.
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
SELECT
u.naam,
b.bericht
FROM
berichten AS b
INNER JOIN
users AS u
ON u.id = b.userID
u.naam,
b.bericht
FROM
berichten AS b
INNER JOIN
users AS u
ON u.id = b.userID
Zoiets?
hieronder me hele script:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?php
if($_GET['categorie'] == "Games") {
$tbl_name = "games";
} elseif ($_GET['categorie'] == "Movies") {
$tbl_name = "movies";
}
// Het aantal resultaten uit het database halen
$query = "SELECT COUNT(*) as num FROM $tbl_name";
$total_pages = mysql_fetch_array(mysql_query($query)) or die (mysql_error());
$total_pages = $total_pages['num'];
$targetpage = "index.php?categorie=".$_GET['categorie'];
$limit = 3;
$page = $_GET['page'];
if($page) {
$start = ($page - 1) * $limit;
} else {
$start = 0;
}
// limit vast stellen en er uithalen
$sql = "SELECT * FROM $tbl_name LIMIT $start, $limit";
$result = mysql_query($sql) or die (mysql_error());
if ($page == 0) $page = 1;
$prev = $page - 1;
$next = $page + 1;
$lastpage = ceil($total_pages/$limit);
$pagination = "<table id='pagination'>";
if($lastpage > 1) {
//previous button
if ($page > 1)
$pagination.= "<td class='pagination'> <a href=\"$targetpage&page=$prev\" class='prev'>« previous</a> </td>";
else
$pagination.= "<td class='disable'> <span class=\"disable\"> « previous </span> </td>";
//pages
for ($counter = 1; $counter <= $lastpage; $counter++) {
if ($counter == $page)
$pagination.= "<td class='current'> <span>$counter</span> </td>";
else
$pagination.= "<td class='pagination'> <a href=\"$targetpage&page=$counter\" class='pagination'>$counter</a> </td>";
}
//next button
if ($page < $counter - 1) {
$pagination.= "<td> <a href=\"$targetpage&page=$next\" class='next'>next »</a> </td>";
} else {
$pagination.= "<td class=\"disable\"> <span class=\"disable\"> next » </span> </td>";
}
$pagination.= "</table>\n";
}
// in het loopje zetten om alle resultaten te bekijken
while($link = mysql_fetch_array($result)) {
$post = "SELECT u.User_Name FROM games AS r INNER JOIN users AS u ON u.User_ID = r.UserID";
$by = mysql_fetch_array(mysql_query($post)) or die (mysql_error());
echo 'Je naam is '.$by['User_Name'];
echo 'Het ID is '$link['UserID'];
echo 'Bericht : '.$link['Info'];
</div>';
}
echo $pagination;
[/code]
(let niet op de if als eerste)
Nu enkel ide?
if($_GET['categorie'] == "Games") {
$tbl_name = "games";
} elseif ($_GET['categorie'] == "Movies") {
$tbl_name = "movies";
}
// Het aantal resultaten uit het database halen
$query = "SELECT COUNT(*) as num FROM $tbl_name";
$total_pages = mysql_fetch_array(mysql_query($query)) or die (mysql_error());
$total_pages = $total_pages['num'];
$targetpage = "index.php?categorie=".$_GET['categorie'];
$limit = 3;
$page = $_GET['page'];
if($page) {
$start = ($page - 1) * $limit;
} else {
$start = 0;
}
// limit vast stellen en er uithalen
$sql = "SELECT * FROM $tbl_name LIMIT $start, $limit";
$result = mysql_query($sql) or die (mysql_error());
if ($page == 0) $page = 1;
$prev = $page - 1;
$next = $page + 1;
$lastpage = ceil($total_pages/$limit);
$pagination = "<table id='pagination'>";
if($lastpage > 1) {
//previous button
if ($page > 1)
$pagination.= "<td class='pagination'> <a href=\"$targetpage&page=$prev\" class='prev'>« previous</a> </td>";
else
$pagination.= "<td class='disable'> <span class=\"disable\"> « previous </span> </td>";
//pages
for ($counter = 1; $counter <= $lastpage; $counter++) {
if ($counter == $page)
$pagination.= "<td class='current'> <span>$counter</span> </td>";
else
$pagination.= "<td class='pagination'> <a href=\"$targetpage&page=$counter\" class='pagination'>$counter</a> </td>";
}
//next button
if ($page < $counter - 1) {
$pagination.= "<td> <a href=\"$targetpage&page=$next\" class='next'>next »</a> </td>";
} else {
$pagination.= "<td class=\"disable\"> <span class=\"disable\"> next » </span> </td>";
}
$pagination.= "</table>\n";
}
// in het loopje zetten om alle resultaten te bekijken
while($link = mysql_fetch_array($result)) {
$post = "SELECT u.User_Name FROM games AS r INNER JOIN users AS u ON u.User_ID = r.UserID";
$by = mysql_fetch_array(mysql_query($post)) or die (mysql_error());
echo 'Je naam is '.$by['User_Name'];
echo 'Het ID is '$link['UserID'];
echo 'Bericht : '.$link['Info'];
</div>';
}
echo $pagination;
[/code]
(let niet op de if als eerste)
Nu enkel ide?
Gewijzigd op 01/01/1970 01:00:00 door Yoram
Waarom geen LEFT JOIN?