[MYSQL] Joins
Hallo allemaal,
ik ben gisteren begonnen met het leren van normalisate, en joins ect. Ik kom er al redelijk ver mee alleen zit ik nu vast met dit script:
Deze werkt uitstekend alleen had ik er graag nog iets anders bij gewild. Ik weet niet precies hoe ik het moet uitleggen, maar het nieuws zit in catagorieen omdat niet al het nieuws voor iedereen bedoeld is. Ik heb dus ook nog een tabel genaamd: newssection.
Ik kom er alleen niet uit hoe ik die er ook nog bij kan betrekken. Ik zat zelf te denk aan zoiets:
maar dan krijg ik een mooie: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.newssectionsid ORDER BY N.id DESC LIMIT 2' at line 20 error
Ik wou dus weten is dit mogelijk of niet?
ik ben gisteren begonnen met het leren van normalisate, en joins ect. Ik kom er al redelijk ver mee alleen zit ik nu vast met dit 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
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
<?php
$result = mysql_query("SELECT
N.newstitel,
N.newsmessage,
N.date,
N.newssectionid,
U.username,
U.memberid
FROM
news AS N
INNER
JOIN
members AS U
ON
N.memberid = U.memberid
ORDER BY N.id DESC
LIMIT
2
") or die(mysql_error());
while($r = mysql_fetch_assoc($result)) {
?>
<div class="news_titelbar">
<p class="p1_titelbar">
<?php echo $r['newstitel']; ?>
</p>
<p class="p3_titelbar">
<?php echo $r['username']; ?> @ <?php echo date("F d", strtotime($r['date'])); ?>
</p>
<p class="p2_titelbar">
POSTED BY
</p>
</div>
<p class="p1_content">
<img src="images/COD2.png" alt="COD2">
</p>
<p class="p2_content">
<?php echo $r['newsmessage']; ?>
</p>
<p class="p3_content">
<form method="post" action="#">
<input name="readmore" type="image" src="images/readmore.png" />
<input name="comments" type="image" src="images/comments.png" />
</form>
</p>
<?php
}
?>
$result = mysql_query("SELECT
N.newstitel,
N.newsmessage,
N.date,
N.newssectionid,
U.username,
U.memberid
FROM
news AS N
INNER
JOIN
members AS U
ON
N.memberid = U.memberid
ORDER BY N.id DESC
LIMIT
2
") or die(mysql_error());
while($r = mysql_fetch_assoc($result)) {
?>
<div class="news_titelbar">
<p class="p1_titelbar">
<?php echo $r['newstitel']; ?>
</p>
<p class="p3_titelbar">
<?php echo $r['username']; ?> @ <?php echo date("F d", strtotime($r['date'])); ?>
</p>
<p class="p2_titelbar">
POSTED BY
</p>
</div>
<p class="p1_content">
<img src="images/COD2.png" alt="COD2">
</p>
<p class="p2_content">
<?php echo $r['newsmessage']; ?>
</p>
<p class="p3_content">
<form method="post" action="#">
<input name="readmore" type="image" src="images/readmore.png" />
<input name="comments" type="image" src="images/comments.png" />
</form>
</p>
<?php
}
?>
Deze werkt uitstekend alleen had ik er graag nog iets anders bij gewild. Ik weet niet precies hoe ik het moet uitleggen, maar het nieuws zit in catagorieen omdat niet al het nieuws voor iedereen bedoeld is. Ik heb dus ook nog een tabel genaamd: newssection.
Ik kom er alleen niet uit hoe ik die er ook nog bij kan betrekken. Ik zat zelf te denk aan zoiets:
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
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
<?php
$result = mysql_query("SELECT
N.newstitel,
N.newssectionid,
N.newsmessage,
N.date,
N.newssectionid,
U.username,
U.memberid,
S.newssectionname
FROM
news AS N
INNER
JOIN
members AS U
INNER
JOIN
newssections AS S
ON
N.memberid = U.memberid,
N.newssectionid = S.newssectionsid
ORDER BY N.id DESC
LIMIT
2
") or die(mysql_error());
while($r = mysql_fetch_assoc($result)) {
?>
<div class="news_titelbar">
<p class="p1_titelbar">
<?php echo $r['newstitel']; ?>
</p>
<p class="p3_titelbar">
<?php echo $r['username']; ?> @ <?php echo date("F d", strtotime($r['date'])); ?>
</p>
<p class="p2_titelbar">
POSTED BY
</p>
</div>
<p class="p1_content">
<img src="images/COD2.png" alt="COD2">
</p>
<p class="p2_content">
<?php echo $r['newsmessage']; ?>
</p>
<p class="p3_content">
<form method="post" action="#">
<input name="readmore" type="image" src="images/readmore.png" />
<input name="comments" type="image" src="images/comments.png" />
</form>
</p>
<?php
}
?>
$result = mysql_query("SELECT
N.newstitel,
N.newssectionid,
N.newsmessage,
N.date,
N.newssectionid,
U.username,
U.memberid,
S.newssectionname
FROM
news AS N
INNER
JOIN
members AS U
INNER
JOIN
newssections AS S
ON
N.memberid = U.memberid,
N.newssectionid = S.newssectionsid
ORDER BY N.id DESC
LIMIT
2
") or die(mysql_error());
while($r = mysql_fetch_assoc($result)) {
?>
<div class="news_titelbar">
<p class="p1_titelbar">
<?php echo $r['newstitel']; ?>
</p>
<p class="p3_titelbar">
<?php echo $r['username']; ?> @ <?php echo date("F d", strtotime($r['date'])); ?>
</p>
<p class="p2_titelbar">
POSTED BY
</p>
</div>
<p class="p1_content">
<img src="images/COD2.png" alt="COD2">
</p>
<p class="p2_content">
<?php echo $r['newsmessage']; ?>
</p>
<p class="p3_content">
<form method="post" action="#">
<input name="readmore" type="image" src="images/readmore.png" />
<input name="comments" type="image" src="images/comments.png" />
</form>
</p>
<?php
}
?>
maar dan krijg ik een mooie: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.newssectionsid ORDER BY N.id DESC LIMIT 2' at line 20 error
Ik wou dus weten is dit mogelijk of niet?
Gesponsorde koppelingen:
http://www.phphulp.nl/php/tutorials/3/479/
Werk deze maar eens door, de syntax van je Multiple join query is niet goed.
Werk deze maar eens door, de syntax van je Multiple join query is niet goed.
Edit:
Pagina 6 van de tutorial.
Pagina 6 van de tutorial.
Gewijzigd op 01/01/1970 01:00:00 door Robert Deiman
Hardstikke bedankt voor je snelle reactie. Dit was precies wat ik nodig had. Raar tevens dat ik deze tutorial niet kon vinden in de lijst of ik moet er overheen gekeken hebben. In iedergeval werkt hij nu wel zoals het zou moeten.
Klopt het trouwens dat er geen tutorials op phphulp zijn over relations. of kijk ik daar ook weer overheen,.
Klopt het trouwens dat er geen tutorials op phphulp zijn over relations. of kijk ik daar ook weer overheen,.
Relations in MySQL werkt niet goed, daarvoor heb je PostgreSQL of de MySQL InnoDB engine (vanaf MySQL5) nodig. Daarover zijn wel tuts te vinden. En over de opbouw van de database moet je naar normaliseren zoeken.



