Vorige - volgende

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Mirjam

Mirjam

26/01/2004 23:08:00
Quote Anchor link
Ik ben bezig met een gastenboek en de bijdragen worden als volgt opgeslagen in een .txt bestand:
datum1||naam1||email1||lid1||website1||bericht1
datum2||naam2||email2||lid2||website2||bericht2
enz ...enz...

Nu wil ik deze gegevens netjes weergeven en daarvoor heb ik het volgende bedacht om alles weer te geven. Dit werkt goed, maar ik wil 5 bijdragen per keer op een pagina. Ik zoek dus een vorige - volgende script dat ingepast kan worden in het onderstaande script gedeelte.
Ik kom er zelf niet meer uit !!!

<table border="0" cellpadding="0" cellspacing="0" width="60%" style="font-family: Verdana; font-size: 8 pt">

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
<?php

  $gastenboek
=file('berichten.txt');

$gastenboek=array_reverse($gastenboek);
foreach ($gastenboek as $line)  {
list($datum,$naam,$email,$lid,$website,$bericht)=explode('||',$line);

//check of er een website is
if ($website == "") {$link="";}
else {$link= "<a href=\"$website\" target=\"_blank\"><img border=\"0\" src=\"home.gif\" alt=\"Bezoek de website van $naam\"></a>";}

//check email
if ($email == "") {$mail="";}
else {$mail="<a href=\"mailto:$email\"><img border=\"0\" < src=\"email.gif\" alt=\"Stuur $naam een e-mail\"></a>";}

//check lidmaatschap
if ($lid == "") {$lid="";}
else {$lid="<img border=\"0\" < src=\"geen2.gif\" alt=\"$naam is lid van onze club\"></a>";}

echo"
    <tr>
      <td width=\"25%\"><b>$naam</b></td>
      <td width=\"40%\">$link $mail $lid</td>
    </center>
    <td width=\"35%\"><i>$datum</i></td>
  </tr>
  
  <tr>
    <td width=\"100%\" colspan=\"3\"><br>$bericht<br><br><br></td>
  </tr>
<tr>
    <td width=\"100%\" colspan=\"3\">
            <hr align=\"left\">

    </td>
  </tr>"
;
 }


?>

</table>
 
PHP hulp

PHP hulp

23/12/2024 16:14:28
 
Arend a

Arend a

27/01/2004 00:43:00
Quote Anchor link
Een lelijke oplossing die werkt is de volgende

Je roept je pagina aan met pagina.php?pagina=3

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
<?
$aantalpp
= 5;
# 5 entries per pagina

$gastenboek=file('berichten.txt');
$gastenboek=array_reverse($gastenboek);

if (!isset($_GET['pagina'])) { $pagina = 1; }

for ($i = $aantalpp*($pagina-1); $i <= $aantalpp*pagina; $i++) {
$line = $gastenboek[$i];
list($datum,$naam,$email,$lid,$website,$bericht)=explode('||',$line);

//check of er een website is
if ($website == "") {$link="";}
else {$link= "<a href=\"$website\" target=\"_blank\"><img border=\"0\" src=\"home.gif\" alt=\"Bezoek de website van $naam\"></a>";}

//check email
if ($email == "") {$mail="";}
else {$mail="<a href=\"mailto:$email\"><img border=\"0\" < src=\"email.gif\" alt=\"Stuur $naam een e-mail\"></a>";}

//check lidmaatschap
if ($lid == "") {$lid="";}
else {$lid="<img border=\"0\" < src=\"geen2.gif\" alt=\"$naam is lid van onze club\"></a>";}

echo"
    <tr>
      <td width=\"25%\"><b>$naam</b></td>
      <td width=\"40%\">$link $mail $lid</td>
    </center>
    <td width=\"35%\"><i>$datum</i></td>
  </tr>
  
  <tr>
    <td width=\"100%\" colspan=\"3\"><br>$bericht<br><br><br></td>
  </tr>
<tr>
    <td width=\"100%\" colspan=\"3\">
            <hr align=\"left\">

    </td>
  </tr>"
;
 }



if (!$pagina <= 1) { printf ('<a href="%s?pagina=%s">Vorige</a>', basename ($PHP_SELF), $pagina -1); }
# Er is geen vorige pagina, want het pagina nummer is minder of gelijk aan 1, dus geven we geen vorige, anders wel.

$laatste = ceil(count($gastenboek)/$aantalpp);
# omhoog afgerond: het aantal invoegingen / het aantal entries per pagina, dat is de laatste pagina in het gasten boek.

if (!$pagina >= $laatste) { printf ('<a href="%s?pagina=%s">Volgende</a>', basename ($PHP_SELF), $pagina +1); }

?>

</table>

Je hebt de code, je mag 'm zelf nog ff inpassen in je layout.
Gewijzigd op 27/01/2004 11:55:00 door Arend a
 
Mirjam

Mirjam

27/01/2004 01:15:00
Quote Anchor link
Bedankt voor je reactie maar ik krijg de volgende error:

Parse error: parse error in C:\apache\htdocs\mijn gastenboek\bekijk2.php on line 46

Line 46 =
if (!$pagina =< 1) { printf '<a href="%s?pagina=%s">Vorige</a>', basename ($PHP_SELF), $pagina -1; }
Gewijzigd op 27/01/2004 01:16:00 door Mirjam
 

27/01/2004 09:11:00
Quote Anchor link
ermmmm misschien de , in een puntkomma (;) veranderen? :$
 
Arend a

Arend a

27/01/2004 11:57:00
Quote Anchor link
Excuus, drie kleine fouten:
1: Er stond twee keer de code voor 'vorige'
2. Een van de twee had een fout waar =< in plaats van <= werd gebruikt om minder en gelijk aan te geven.
3. printf stond niet tussen haakjes, dat vind php niet erg fijn.

Ik heb mijn vorige post aangepast, daar staat nu, voorzover ik weet werkende code.
 
Mirjam

Mirjam

27/01/2004 14:36:00
Quote Anchor link
Allemaal bedankt, en dit is het uiteindelijk geworden. Van allerlei site's heb ik snippers gebruikt om tot het volgende eindresultaat te komen.

De pagina moet als volgt aangeroepen worden:
test.php?start=0

Hier is het script, wellicht heeft een ander er ook nog iets aan:


<center>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="font-family: Verdana; font-size: 8 pt">
<tr>
<td width="100%">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$amount
=5;
    
  $gastenboek=Array();

  $gastenboek=file('berichten.txt');

?>
<b>Berichten
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $start+1; ?>
tot en met
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo min($start+$amount,sizeof($gastenboek)); ?>
</b><br><i>(Totaal
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo sizeof($gastenboek); ?>
berichten)</i></p>

<hr align="left">
<br>
</td>
</tr>
</table>
</center>

<table border="0" cellpadding="0" cellspacing="0" width="60%" style="font-family: Verdana; font-size: 8 pt">

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
<?php

$gastenboek
=array_reverse($gastenboek);
  for ($i=$start;$i<$start+$amount && $i<sizeof($gastenboek);$i++) {
         list($datum,$naam,$email,$lid,$website,$bericht)=explode('||',$gastenboek[$i]);

//check of er een website is
if ($website == "") {$link="";}
elseif ($website =="http://") {$link="";}
else {$link= "<a href=\"$website\" target=\"_blank\"><img border=\"0\" src=\"home.gif\" alt=\"Bezoek de website van $naam\">";}

//check email
if ($email == "") {$mail="";}
else {$mail="<a href=\"mailto:$email\"><img border=\"0\" < src=\"email.gif\" alt=\"Stuur $naam een e-mail\"></a>";}

//check lidmaatschap
if ($lid == "") {$lid="";}
else {$lid="<img border=\"0\" < src=\"geen2.gif\" alt=\"$naam is lid van onze club\">";}

echo"
    <tr>
      <td width=\"25%\"><b>$naam</b></td>
      <td width=\"40%\">$link $mail $lid</td>
    </center>
    <td width=\"35%\"><i>$datum</i></td>
  </tr>
  
  <tr>
    <td width=\"100%\" colspan=\"3\"><br>$bericht<br><br><br></td>
  </tr>
<tr>
    <td width=\"100%\" colspan=\"3\">
            <hr align=\"left\">
    </td>
  </tr>"
;
}

?>

</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="font-family: Verdana; font-size: 8 pt">
<tr>
<td width="100%">
<p align="center">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
if ($start>0) echo '<A href="test.php?start='.max(0,$start-$amount).'"><img border="0" src="meer2.gif" alt="Lees de vorige berichten ..." width="30" height="8"></a></A> ';

$regels = sizeof($gastenboek); if(!$n) { $n = 0; } else { $n = intval($n); }

{
for($i = 0; $i < $regels; $i+=$amount) { if($regels > $i) { echo(" [<a href='test.php?start=$i'>".($i/$amount+1)."</a>]"); } } }


          if ($start+$amount<sizeof($gastenboek)) echo ' <A href="test.php?start='.($start+$amount).'"><img border="0" src="meer.gif" alt="Lees de volgende berichten ..." width="30" height="8"></a></A>';
?>
</td>
</tr>
</table>

Hier vind je het gastenboek online:
http://www.nummer11.nl/gastenboek
Gewijzigd op 27/01/2004 15:01:00 door Mirjam
 



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.