Limiet binnen PHP

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

02/06/2015 19:48:26
Quote Anchor link
Hallo,

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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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();
    }
}


?>


Wat moet ik veranderen?

Alvast bedankt
 
PHP hulp

PHP hulp

17/11/2024 23:14:14
 
Randy vsf

Randy vsf

02/06/2015 19:53:02
Quote Anchor link
Als je maar 1 record ophaalt. Hoe wilt hij ze dan ordenen en limiteren?
Gewijzigd op 02/06/2015 19:53:23 door Randy vsf
 

02/06/2015 20:03:35
Quote Anchor link
Hoe bedoel je een record?
 
Thomas van den Heuvel

Thomas van den Heuvel

02/06/2015 20:22:50
Quote Anchor link
Waarom maak je gebruik van OOP en vervolgens global $pdo :/.

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
 
Eddy E

Eddy E

02/06/2015 20:36:21
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$query
= $pdo->prepare("SELECT * FROM articles");
?>


Alle artikelen? Wie gaat 'alle' artikelen bekijken?
Een limiet van 25 is meestal wel handig.
 

04/06/2015 16:28:11
Quote Anchor link
Hoe zou ik dat in de code plaatsen en waar?
 
Ward van der Put
Moderator

Ward van der Put

04/06/2015 17:53:50
Quote Anchor link
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");

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.
 

04/06/2015 19:47:04
Quote Anchor link
De limiet werkt, alleen de order niet. Als ik de order toevoeg toont ie niks meer. Is het helemaal leeg.
Dit is de code

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$query
= $pdo->prepare("SELECT * FROM articles LIMIT 1, 4 ORDER BY date DESC ");

?>
 
- Ariën  -
Beheerder

- Ariën -

04/06/2015 19:52:19
Quote Anchor link
Die LIMIT is verkeerd geplaatst, gebruik dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$query
= $pdo->prepare("SELECT * FROM articles ORDER BY date DESC LIMIT 1, 4");
?>
 

04/06/2015 20:04:30
Quote Anchor link
Het werkt. Iedereen bedankt voor het meedenken!!
 

07/06/2015 12:19:38
Quote Anchor link
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?
 
Eddy E

Eddy E

07/06/2015 20:17:34
Quote Anchor link
LIMIT 1, 4 == start vanaf nummer 1 (sla bericht 0 dus over!) en dan 4 stuks.
Wat jij wilt is LIMIT 0, 4

PHP (en andere programma's) beginnen te tellen bij 0.
 
- wes  -

- wes -

08/06/2015 13:49:14
Quote Anchor link
Of de shorthand, LIMIT 4
 



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.