Limiet binnen PHP
Ik laat vanuit MYSQL met behulp van PHP dingen uit de database tonen. Het tonen werkt alleen het limiet en order werkt niet. Hij ordert niet en er zit geen limiet op. Ik krijg geen errors. Dit is de code:
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
class Article {
public function fetch_all() {
global $pdo;
$query = $pdo->prepare("SELECT * FROM articles");
$query->execute();
return $query->fetchAll();
}
public function fetch_data($article_id) {
global $pdo;
$query = $pdo->prepare("SELECT * FROM articles WHERE article_id = ? ORDER BY date_time DESC LIMIT 0, 4 ");
$query->bindValue(1, $article_id);
$query->execute();
return $query->fetch();
}
}
?>
class Article {
public function fetch_all() {
global $pdo;
$query = $pdo->prepare("SELECT * FROM articles");
$query->execute();
return $query->fetchAll();
}
public function fetch_data($article_id) {
global $pdo;
$query = $pdo->prepare("SELECT * FROM articles WHERE article_id = ? ORDER BY date_time DESC LIMIT 0, 4 ");
$query->bindValue(1, $article_id);
$query->execute();
return $query->fetch();
}
}
?>
Wat moet ik veranderen?
Alvast bedankt
Gewijzigd op 02/06/2015 19:53:23 door Randy vsf
Hoe bedoel je een record?
Aaaaanyway. Je zou twee parameters mee kunnen geven aan fetch_all?
Bijvoorbeeld $direction (toegestane waarden "asc" of "desc", kies een zinnige default, bijvoorbeeld "desc" (nieuwste bericht eerst)) en $limit (een numerieke waarde).
Deze parameters controleer je op een geldige vorm (val anders terug op een default) en deze (geldige waarden) verwerk je vervolgens in je query.
Gewijzigd op 02/06/2015 20:23:52 door Thomas van den Heuvel
Alle artikelen? Wie gaat 'alle' artikelen bekijken?
Een limiet van 25 is meestal wel handig.
Hoe zou ik dat in de code plaatsen en waar?
Julian Rouw op 02/06/2015 19:48:26:
Hij ordert niet en er zit geen limiet op. Ik krijg geen errors. Dit is de code:
$query = $pdo->prepare("SELECT * FROM articles");
$query = $pdo->prepare("SELECT * FROM articles");
Dat klopt als een bus:
• “Hij ordert niet” omdat er geen ORDER BY in de query staat.
• “Er zit geen limiet op” omdat er geen LIMIT in de query staat.
Eerst even de basisbeginselen van een SELECT aanleren/opzoeken voordat je een huiswerkvraag post.
Dit is de code
Het werkt. Iedereen bedankt voor het meedenken!!
Ik loop tegen nog een probleem aan. Als ik een bericht plaats, laat hij het bericht niet gelijk zien. Dan moet ik eerst nog een bericht aanmaken voordat ie pas laat zien. Wat kan ik hier aan doen?
Wat jij wilt is LIMIT 0, 4
PHP (en andere programma's) beginnen te tellen bij 0.
Of de shorthand, LIMIT 4