Scholieren.com forum

Scholieren.com forum (https://forum.scholieren.com/index.php)
-   Software & Hardware (https://forum.scholieren.com/forumdisplay.php?f=20)
-   -   [PHP] Getal optellen is een probleem. (https://forum.scholieren.com/showthread.php?t=538661)

bazzemans 11-07-2003 23:02

[PHP] Getal optellen is een probleem.
 
Ik heb een systeem gemaakt waarmee ik upgeloade foto's kan weergeven op een pagina en de juiste foto wordt geladen dmv. een fotoid die staat weergegeven in de adresbalk. Dat is me allemaal gelukt zonder al te veel moeite.

Nu wilde ik graag een blader systeem bouwen. Zodat je door op volgende en vorige te klikken gewoon door de foto's heen kan scrollen.

Alle fotoid's bestaan echter uit 3 digits en als ik dus ga tellen daarmee door gebruik te maken van PHP haalt hij de eerste nullen weg bij de getallen 1 tot en met 99. Het volgende stukje code heb ik geschreven.

PHP-code:

<?

$vorige = $id - 001;
$volgende = $id + 001;

?>

<a href="bekijken.php?id=<? echo "$vorige"; ?>&album=<? echo "$album"; ?>"><span>Vorige</span></a>
<h1>Foto # <? echo"$id" ?></h1>
<a href="bekijken.php?id=<? echo "$volgende"; ?>&album=<? echo "$album"; ?>"><span>Volgende</span></a>

Weet iemand misschien hoe ik die 2 nullen kan laten behouden?

Enlightenment 11-07-2003 23:17

Door in je database ZEROFILL te gebruiken bij de id table.

Zelf los ik het op door de 1e row b.v. 1000 te maken en dan auto_increment

dan is het dus altijd 4 digits (aangezien 9999 max is, length is dan 4).

bazzemans 11-07-2003 23:20

Je snapt mijn vraag denk ik niet. In de database slaat hij de nullen wel gewoon op, dat wist ik wel voor elkaar te krijgen.

Ik krijg het echter niet voor elkaar om in het bestand waarin de foto's worden geladen de link aan te leggen voor vorige en volgende, omdat hij dan in dat PHP bestand de nullen laat verdwijnen zodra ik er mee ga tellen.

Shoerd 11-07-2003 23:22

Je zou, als je je db niet meer wilt gaan veranderen, ook met wat if-statements kunnen kijken met wat voor een getal je te maken hebt:
PHP-code:

$vorige $id 1;
$volgende $id 1;

if ( 
$id 10 
{
$vorige '00' $vorige;
$volgende '00'.$volgende;
}
else if ( 
$id 100 )
{
$vorige '0'.$vorige;
$volgende '0'.$volgende;



deathz0rz 11-07-2003 23:24

str_pad($id, 3, "0", STR_PAD_LEFT)
( http://php.nederland.net/manual/en/function.str-pad.php )

edit: @Shoerd: mijn manier is netter, en sneller

Shoerd 11-07-2003 23:27

Citaat:

deathz0rz schreef op 11-07-2003 @ 23:24:
str_pad($id, 3, "0", STR_PAD_LEFT)
( http://php.nederland.net/manual/en/function.str-pad.php )

edit: @Shoerd: mijn manier is netter, en sneller

Jep, heb je gelijk in. Ik ken alleen die commands niet uit mn hoofd, omdat ik ze eigenlijk nooit gebruik..

bazzemans 11-07-2003 23:31

deathz0rz bedankt, je manier werkt perfect en dit was ook waar ik naar zocht. Zoals ik kan zien aan je post had ik er zelf ook naar kunnen zoeken, maar wist eerlijk gezegd bij god niet waar ik naar moest zoeken. Bedankt!

Shoerd ook bedankt, je functie zal idd ook werken. Ik heb het ook geprobeerd, maar had wat dingen over het hoofd gezien. IIG toch bedankt...


Alle tijden zijn GMT +1. Het is nu 19:32.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.