10 berichten tonen en vervolgens nieuwe pagina aanmaken

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Roy Dekker

Roy Dekker

30/06/2010 13:30:50
Quote Anchor link
Goedemiddag leden,

Ik zit momenteel met een probleem. In mijn gastenboek overzicht worden alle laatste berichtjes onder elkaar gezet, en dit dus oneindig. Wat is voor mij de kortste weg om 10 berichten te laten tonen waarna vervolgens automatisch een nieuwe pagina wordt aangemaakt.

Ik zie jullie reacties graag en snel tegemoet haha, release zou volgende week al moeten plaatsvinden.

link naar website

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
<?php $getmessy = mysql_query("SELECT * FROM `fv_guestbook` ORDER BY `id` DESC ");

if(mysql_num_rows($getmessy) ==0){

echo "Wees de eerste! laat dus snel een bericht achter.";
}
else{
$bgset = "1";

echo '<div id="Guestbook">';
while($gbrows=mysql_fetch_array($getmessy)){
if($bgset==1){
    
echo '<ul class="Guestbook1">
    <li>Bericht: '
.$gbrows['postmessage'].'</li>
    <br><li>door: <b>'
.$gbrows['postname'].'</b> op '.$gbrows['postdate'].'</li>
  </ul><br>'
;

$bgset="2";
}
else {
echo '<ul class="Guestbook1">
    <li>Bericht: '
.$gbrows['postmessage'].'</li>
    <br><li>door: <b>'
.$gbrows['postname'].'</b> op '.$gbrows['postdate'].'</li>
  </ul><br>'
;
$bgset = "1";
 }
}

echo '</div>';
}

    
?>
Gewijzigd op 30/06/2010 13:35:25 door Roy Dekker
 
PHP hulp

PHP hulp

28/11/2024 19:35:15
 
Dalando De Zuil

Dalando De Zuil

30/06/2010 13:32:22
Quote Anchor link
Je gebruikt quote voor de code. Maar hier heb je ook [. code] tags!
Gewijzigd op 30/06/2010 13:34:49 door Dalando De Zuil
 
Justin S

Justin S

30/06/2010 13:55:15
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$getmessy = mysql_query("SELECT * FROM `fv_guestbook` ORDER BY `id` DESC ");


Aanpassen naar:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$getmessy = mysql_query("SELECT id, postmessage, postname, postdate FROM fv_guestbook ORDER BY id DESC LIMIT 0,10");


Wat is er anders:
De backticks: `id` zijn niet netjes om te gebruiken.
Daarnaast gebruik jij * om alle velden op te halen, netter is om dit gewoon uit te schrijven. Dus de velden die je nodig hebt op te halen (bijvoorbeeld: SELECT id, naam, adres).
Ik heb een LIMIT toegevoegd. Dit specificeerd het aantal velden dat er moet worden opgehaald. Jij wil de laatste items ophalen dus gebruik je 0,10 als waarde. Als je bijvoorbeeld de nrs. 5 t/m 10 op wil halen gebruik je 5,10.

Succes!
 
Roy Dekker

Roy Dekker

30/06/2010 14:36:59
Quote Anchor link
Nu haalt die idd de eerste 10 op wat ook de bedoeling is. Maar de overige aantal berichten moeten dan bijv op pagina 2 komen te staan. Hoe ga ik dit eigenlijk aanpassen.

Dus met if en else
Gewijzigd op 30/06/2010 14:37:24 door Roy Dekker
 
Justin S

Justin S

30/06/2010 14:41:38
Quote Anchor link
Kijk even naar dit script.
Anders kan je ook hier nog even kijken!
 
Mark L

Mark L

30/06/2010 14:44:53
Quote Anchor link
via LIMIT. Je kunt links maken. Onderaan je pagina:

pag 1, 2, 3 ... etc. etc. en dat link 1 heeft: pagina.php?page=0, link 2 heeft dan pagina.php?page=10, link 3 heeft pagina.php?page=20
zo kun je doorgaan. (dit hoeft trouwens niet per se stappen van tien te zijn, ligt er net aan hoe je het zelf wilt doorvoeren en ontwikkelen).

Dan kun je in je query dit gebruiken:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
 $page
= 0;
 if (isset($_POST['page'])) {
     $page = (int)$_POST['page'];
 }

 $getmessy = mysql_query("SELECT id, postmessage, postname, postdate FROM fv_guestbook ORDER BY id DESC LIMIT ".$page.",10");
?>


't Systeem is eigenlijk zeer simpel. Er zijn genoeg pagination-scripts/voorbeelden te vinden op internet (en ook op deze site)
 



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.