Slechts enkele waarden uit de database echo'en

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Olivier Peeters

Olivier Peeters

13/04/2012 20:15:58
Quote Anchor link
Hallo allen,

mogelijks kom ik met een stomme vraag, maar stomme vragen bestaan niet en ik wil echt wel iets bijleren. Aangezien ik het antwoord niet echt ken, stel ik mn vraag hier.

Ik heb een database met 117 gegevens. Nu ik wil deze kunnen bewerken via een PHP pagina. Tot hiertoe geen problemen met scripten.
Gezien de hoeveelheid aan gegevens wil ik slechts 20 regels (gegevens) per pagina weergeven. Dus zouden er in totaal 6 pagina's moeten komen.
Hoe laat ik alle gegevens uit de database komen, verspreid over de juiste pagina's.

Hopelijk verstaan jullie mij?

Kan iemand uitleggen hoe jullie dit doen?

Groeten,
Olivier
 
PHP hulp

PHP hulp

20/04/2024 11:30:25
 
- SanThe -

- SanThe -

13/04/2012 20:18:14
Quote Anchor link
SELECT ...... LIMIT 0, 20
en dan op de volgende pagina
SELECT ...... LIMIT 20, 20
SELECT ...... LIMIT 40, 20
etc.
 
Olivier Peeters

Olivier Peeters

13/04/2012 20:21:34
Quote Anchor link
^^ Daar was ik ongeveer ook al op gekomen :-)

En hoe weet ik hoe ver ik moet gaan?
Bv. als ik nu 4 gegevens bijvoeg (dan zijn er 121 gegevens in totaal) zou er automatisch een pagina bij moeten komen...

Bedankt voor de hulp!
Groeten,
Olivier
 
Obelix Idefix

Obelix Idefix

13/04/2012 20:35:38
Quote Anchor link
Zoek eens op pagination al dan niet in combinatie met php
 
Php knipper

php knipper

13/04/2012 20:40:16
Quote Anchor link
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
26
27
28
29
30
31
<?php
##instellingen van pagina
        if(isset($_GET['pagina'])) {
            $replay = $_GET['pagina'];
        }
else {
            $replay = "0";
        }

##sql
$req = "select id FROM gebruiker WHERE id='?' ORDER BY id DESC LIMIT ".$replay.",25";

#dit zal 25 gegevens weergeven pagina kan leeg zijn en dan zijn het de eerste gegevens


#voor vanonder de pagina nummers
# de vorige

    if($_GET['pagina'] !== "0") {
        if($_GET['pagina'] >= "0") {
            $vorige_replay = $_GET['pagina'] - "25";
            echo '<a href="?&pagina='.$vorige_replay.'"><-- Vorige |</a>';
        }
    }

##huidige
    if(isset($_GET['pagina'])) {
        echo $_GET['pagina'] / "25";
    }

#volgende
    if((mysql_num_rows($res) >= "25")) {
        $volgende_replay = $_GET['replay'] + "25";
        echo '<a href="?pagina='.$volgende_replay.'">| Volgende --></a>';
    }

?>
simpel maar werkt

je kan (voor meer nummers onderaan) ophalen hoeveel het er zijn en delen door 25 en plus 1 indien comma getal )
Gewijzigd op 13/04/2012 20:41:30 door php knipper
 
Olivier Peeters

Olivier Peeters

13/04/2012 21:17:35
Quote Anchor link
Hallo,

met het pagination-script van deze site => http://www.phphulp.nl/php/script/php-algemeen/pagination-script/1763/paginationscript/1270/ is het gelukt! Bedankt voor de zoektip!

@php knipper, u code werkt niet echt, heb al liggen kijken (inlog en connection toegevoegd, $req aangepast), maar het lukt echt niet...
(Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /Bewerken/index.php on line 55)
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
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
<?php
#Error-reporting aan!
error_reporting(E_ALL);

/* Database instellingen */

// Hostnaam

$hostname = "mysql3.000webhost.com";

// Gebruikersnaam
$username = "a5852590_1";

// Wachtwoord
$password = "*******";

// Database
$database = "a5852590_1";

# Database connectie maken
mysql_connect($hostname,$username,$password) or die(mysql_error());

# Database selecteren
mysql_select_db($database);

/* Einde database instellingen */


if(isset($_GET['pagina'])) {
$replay = $_GET['pagina'];
}
else {
$replay = "0";
}

##sql
$res = "SELECT *
FROM `a5852590_1`.`Atleten`
ORDER BY `Atleten`.`id` ASC
LIMIT "
.$replay.",25";

#dit zal 25 gegevens weergeven pagina kan leeg zijn en dan zijn het de eerste gegevens


#voor vanonder de pagina nummers
# de vorige

if($_GET['pagina'] !== "0") {
if($_GET['pagina'] >= "0") {
$vorige_replay = $_GET['pagina'] - "25";
echo '<a href="?&pagina='.$vorige_replay.'"><-- Vorige |</a>';
}
}

##huidige
if(isset($_GET['pagina'])) {
echo $_GET['pagina'] / "25";
}

#volgende
if((mysql_num_rows($res) >= "25")) {
$volgende_replay = $_GET['replay'] + "25";
echo '<a href="?pagina='.$volgende_replay.'">| Volgende --></a>';
}


?>


Groeten,
Olivier
Gewijzigd op 13/04/2012 21:20:06 door Olivier Peeters
 
Php knipper

php knipper

13/04/2012 23:00:57
Quote Anchor link
heb je dan wel gegevens opgevragen?
ik gaf een sql en ging verder ( dus heb ik geen mysql gebruikt in mijn voorbeeld dat moet je zelf inplanne )
 
Erwin H

Erwin H

13/04/2012 23:09:21
Quote Anchor link
Je voert de query niet uit. Je stopt de query alleen in een string, maar daarmee krijg je nog geen resultaten uit de database. Ergens tussen regels 37 en 55 zal je dus nog een mysql_query() call moeten uitvoeren (en dan regel 55 waarschijnlijk ook nog even aanpassen).
 
Anton Vroemans

Anton Vroemans

14/04/2012 00:57:17
Quote Anchor link
Hey. Ik kom bijna nooit online maar toen ik dit zag moest ik wel. Ik wil even duidelijk melden dat de bovenstaande scripts NIET beveiligd zijn tegen SQL injection!
 
Roel -

Roel -

14/04/2012 01:56:53
Quote Anchor link
Ik heb ook een paginanummeringscript gescreven. Kijk hier maar eens.
En als je lekker in de OOP-sfeer wilt blijven heb ik dit voor je: OO Paginanummering

Waarom zelf functies schrijven wanneer een ander het al gedaan heeft voor je?
Succes! :-)
 
Olivier Peeters

Olivier Peeters

23/04/2012 14:03:21
Quote Anchor link
Uhm, zeer late reactie, maar toch zeer hartelijk bedankt Roel! Je script is getest en goedgekeurd!

Probleem is dus opgelost...

Groeten,
Olivier
 



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.