Volgende / vorige 10 records

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dennis

Dennis

14/12/2006 14:15:00
Quote Anchor link
Hallo allemaal,

Eindelijk heb ik alles klaar in mijn script om records te deleten, alleen nu wil ik er graag nog een functie in dat hij per pagina 10 records weer geeft.

De eerste 10 echter is geen probleem, dat heb ik met limit 10 gedaan.
Alleen hoe krijg ik die navigatie voor elkaar ?

Hierbij de code van de pagina :
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
<?php
        include("../../incs/connect.php");
          
 ?>

<?php
$sqlout
= "SELECT * FROM vangaart_nieuws ORDER BY id DESC Limit 10"; //nieuwste record bovenaan
$query_naam = mysql_query($sqlout) or die(mysql_error());

if (isset($_GET['id']) && ctype_digit($_GET['id'])){
  $query= "DELETE FROM vangaart_nieuws WHERE id = '".$_GET['id']."'";  
  mysql_query($query) or die(mysql_error());
}



echo "<b>Overzicht Berichten</b>";

echo "<table width=\"100%\" border=\"0\" cellspacing=\"2\" cellpadding=\"2\">\n";

echo "\n<tr bgcolor=\"#666666\">
\n<td>id</td>
\n<td>datum</td>
\n<td>titel</td>
\n<td>record verwijderen?</td>
\n</tr>"
;

while($rij=mysql_fetch_array($query_naam)) {
  if ($kleur == "#666666"){
    $kleur = "#999999";
  }
else{
    $kleur = "#999999";
  }
  
  echo "<tr bgcolor=\"" . $kleur . "\">
  \n<td>"
. $rij['id'] . "</td>
  \n<td>"
. $rij['datum'] . "</td>
  \n<td>"
. $rij['titel'] . "</td>
  \n<td>"
. "<a href=\"index.php?page=verwijderen&id=" . $rij['id'] . "\">Verwijderen?</a>" . "</td>
"
;

}

echo "</table>\n";
echo "<br><br><b>Bericht verwijderd ?</b><br>Klik <a href=\"index.php?page=verwijderen\">hier</a> om pagina te updaten.<br><Br>";

?>
 
PHP hulp

PHP hulp

19/11/2024 08:37:29
 
Stefan van Iwaarden

Stefan van Iwaarden

14/12/2006 14:20:00
Quote Anchor link
je kunt de navigatie op 2 manieren doen.
Je zet in de URL op welke pagina je bent.
Of je zet dit in een sessie.

Maakt niet uit welke van de twee je kiest, maar het komt er op neer dat je die waarde op moet halen. en dan aan de hand daarvan moet berekenen welke 10 records opgehaald moeten worden.
Dus bijv.
pagina = 2 dan is LIMIT 10,10
pagina = 6 dan is LMIT 50,10

oftewel kun je bijv dit maken.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$begin
= ($_GET['p'] - 1) * 10;
$eind = 10;
LIMIT $begin,$eind;
?>

uiteraard nog wel even controleren op input wanneer je met een URL gaat werken.

Hoop dat je hier wat mee kan.
Gewijzigd op 01/01/1970 01:00:00 door Stefan van Iwaarden
 
Dennis

Dennis

14/12/2006 14:35:00
Quote Anchor link
@ Stefan : stefan, ik begrijp wat je bedoeld, alleen ik snap niet hoe ik dat moet inpassen.

:(
 
Jan Koehoorn

Jan Koehoorn

14/12/2006 14:43:00
Quote Anchor link
Deze regel:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
    $sqlout
= "SELECT * FROM vangaart_nieuws ORDER BY id DESC Limit 10"; //nieuwste record bovenaan
?>

zou zoiets moeten worden:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
    $sqlout
= "
        SELECT *
        FROM vangaart_nieuws
        ORDER BY id DESC
        LIMIT "
. $begin . ", 10";
?>

De variabele $begin haal je op met GET, zoals Stefan al zei. Je moet dus een link boven je tabel hebben die er bijv zo uitziet:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
    <a href="?begin=30">30</a>
?>

Zoals ook al eerder gezegd, als je met GET variabelen werkt moet je aan beveiliging doen. Dus kijken met isset ($_GET['begin']) of hij wel gezet is en met is_numeric () of het wel een getal is.
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
 
Dennis

Dennis

14/12/2006 15:04:00
Quote Anchor link
@ Jan : Ik heb het nu zo staan


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
<?php
        include("../../incs/connect.php");
          
 ?>

<?php
    $sqlout
= "
        SELECT *
        FROM vangaart_nieuws
        ORDER BY id DESC
        LIMIT "
. $begin . ", 10";
        
$query_naam = mysql_query($sqlout) or die(mysql_error());

if (isset($_GET['id']) && ctype_digit($_GET['id'])){
  $query= "DELETE FROM vangaart_nieuws WHERE id = '".$_GET['id']."'";  
  mysql_query($query) or die(mysql_error());
}



echo "<b>Overzicht Berichten</b>";

echo "<table width=\"100%\" border=\"0\" cellspacing=\"2\" cellpadding=\"2\">\n";

echo "\n<tr bgcolor=\"#666666\">
\n<td>id</td>
\n<td>datum</td>
\n<td>titel</td>
\n<td>record verwijderen?</td>
\n</tr>"
;

while($rij=mysql_fetch_array($query_naam)) {
  if ($kleur == "#666666"){
    $kleur = "#999999";
  }
else{
    $kleur = "#999999";
  }
  
  echo "<tr bgcolor=\"" . $kleur . "\">
  \n<td>"
. $rij['id'] . "</td>
  \n<td>"
. $rij['datum'] . "</td>
  \n<td>"
. $rij['titel'] . "</td>
  \n<td>"
. "<a href=\"index.php?page=verwijderen&id=" . $rij['id'] . "\">Verwijderen?</a>" . "</td>
"
;

}

echo "</table>\n";
echo "<br><br><b>Bericht verwijderd ?</b><br>Klik <a href=\"index.php?page=verwijderen\">hier</a> om pagina te updaten.<br><Br>
<a href=\"index.php?page=verwijderen&begin=30\">30</a>"
;

?>


en krijg vervolgens deze melding :

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ' 10' at line 4
 
Dion

Dion

14/12/2006 15:17:00
Quote Anchor link
misschien nog een toevoeg voor links nar volgende pagina:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?

$id
= "$GET['id']";
$volgendepagina = "$id + 10";

<
a href="index?id=".$id."> Volgende pagina </a>

?>


hoop dat het werkt. nogal nieuw in php
 
Stefan van Iwaarden

Stefan van Iwaarden

14/12/2006 15:23:00
Quote Anchor link
je kent $begin nergens een waarde toe.

Je moet met een $_GET de juiste pagina uit de URL halen. uiteraard dien je dan bij de link naar de volgende pagina wel de volgende pagina op te geven.

zo dus
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo('<a href="pagina&p='.$p+1.'">'.$p+1.'</a>');
?>
Gewijzigd op 01/01/1970 01:00:00 door Stefan van Iwaarden
 
Dennis

Dennis

14/12/2006 15:32:00
Quote Anchor link
@ Stefan : ik heb het nu zo staan,

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
    $sqlout
= "
        SELECT *
        FROM vangaart_nieuws
        ORDER BY id DESC
        LIMIT "
. $begin . ", 10";

        
$query_naam = mysql_query($sqlout) or die(mysql_error());
$begin = ($_GET['p'] - 1) * 10;
$eind = 10;
LIMIT $begin,$eind;
?>


en helemaal onderaan de pagina dit gezet :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

echo "('<a href="index.php?page=verwijderen&p='.$p+1.'">'.$p+1.'</a>')";

?>


Maar het werkt niet en dat ligt ongetwijfeld aan mijn kennis :D :(
 
Jesper Diovo

Jesper Diovo

14/12/2006 16:55:00
Quote Anchor link
De LIMIT moet in $sqlout zitten, omdat dat met de mysql te maken heeft.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?
     $sqlout
= "
          SELECT *
          FROM vangaart_nieuws
          ORDER BY id DESC
          LIMIT "
. $begin . ", 10";

$query_naam = mysql_query($sqlout) or die(mysql_error());
$begin = ($_GET['p'] - 1) * 10;
?>

De link geeft een fout vanwege je ":
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?
$p
= $_GET['p']; // haal je hier p vandaan?
echo "('<a href=\"index.php?page=verwijderen&p='.$p+1.'</a>')";
?>
 
GaMer B

GaMer B

14/12/2006 18:06:00
Quote Anchor link
Óf je doet het zo:

Edit:
Naar jouw code aangepast, dus copy paste :)


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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<?php

        include("../../incs/connect.php");

 // how many rows to show per page
 $rowsPerPage = 23;
 // by default we show first page
 $pageNum = 1;
 // if $_GET['page'] defined, use it as page number
 if(isset($_GET['page']))
 {

    $pageNum = $_GET['page'];
 }

 // counting the offset
 $offset = ($pageNum - 1) * $rowsPerPage;
$sql = "$sqlout = "SELECT * FROM vangaart_nieuws ORDER BY id DESC Limit 10";
$query = mysql_query($sql) or die(mysql_error());

if (isset($_GET['id']) && ctype_digit($_GET['id'])){
  $query= "
DELETE FROM vangaart_nieuws WHERE id = '".$_GET['id']."'";  
  mysql_query($query) or die(mysql_error());
}

// print the output
echo "
<b>Overzicht Berichten</b>";

echo "
<table width=\"100%\" border=\"0\" cellspacing=\"2\" cellpadding=\"2\">\n";

echo "\n<tr bgcolor=\"#666666\">
\n<td>id</td>
\n<td>datum</td>
\n<td>titel</td>
\n<td>record verwijderen?</td>
\n</tr>"
;
 while($row = mysql_fetch_object($query)) {
if ($kleur == "#666666"){
    $kleur = "#999999";
  }
else{
    $kleur = "#999999";
  }
  
  echo "<tr bgcolor=\"" . $kleur . "\">
  \n<td>"
. $rij['id'] . "</td>
  \n<td>"
. $rij['datum'] . "</td>
  \n<td>"
. $rij['titel'] . "</td>
  \n<td>"
. "<a href=\"index.php?page=verwijderen&id=" . $rij['id'] . "\">Verwijderen?</a>" . "</td>
"
;
}

echo "</table>\n";
echo "<br><br><b>Bericht verwijderd ?</b><br>Klik <a href=\"index.php?page=verwijderen\">hier</a> om pagina te updaten.<br><Br>";

// how many rows we have in database
 $query   = "SELECT COUNT(name) AS numrows FROM pcm";
 $result  = mysql_query($query) or die('Error, query failed');
 $row     = mysql_fetch_array($result, MYSQL_ASSOC);
 $numrows = $row['numrows'];
 // how many pages we have when using paging?
 $maxPage = ceil($numrows/$rowsPerPage);
 // print the link to access each page
 $self = $_SERVER['PHP_SELF'];
 // creating previous and next link
 // plus the link to go straight to
 // the first and last page

 if ($pageNum > 1)
 {

    $page = $pageNum - 1;
    $prev = " <a href=\"$self?page=$page\">«Prev</a> ";
    
    $first = " <a href=\"$self?page=1\">««First Page</a> ";
 }

 else
 {
    $prev  = '&nbsp;'; // we're on page one, don't print previous link
    $first = '&nbsp;'; // nor the first page link
 }

 if ($pageNum < $maxPage)
 {

    $page = $pageNum + 1;
    $next = " <a href=\"$self?page=$page\">Next»</a> ";
    
    $last = " <a href=\"$self?page=$maxPage\">Last Page»»</a> ";
 }

 else
 {
    $next = '&nbsp;'; // we're on the last page, don't print next link
    $last = '&nbsp;'; // nor the last page link
 }
 
// print the navigation link
 echo $first . $prev . " Showing page $pageNum of $maxPage pages " . $next . $last;
 // and close the database connection
 ?>
Gewijzigd op 01/01/1970 01:00:00 door GaMer B
 
Dennis

Dennis

15/12/2006 09:46:00
Quote Anchor link
@ Flip : Je code kwam zeker van pas, alleen moesten er nog wel wat foutjes veranderd worden, maar wel enorm bedankt voor je bijdrage! :-)

Alleen nu heb ik dan in totaal deze code, maar probleem is nu dat hij niet meer de resultaten weer geeft die in de tabel staan :-D
Pagina navigatie vorige en volgende werkt weer wel...

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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<?php

        include("../../incs/connect.php");

 // how many rows to show per page
 $rowsPerPage = 10;
 // by default we show first page
 $pageNum = 1;
 // if $_GET['page'] defined, use it as page number
 if(isset($_GET['id2']))
 {

    $pageNum = $_GET['id2'];
 }

 // counting the offset
 $offset = ($pageNum - 1) * $rowsPerPage;
$sql = "SELECT * FROM vangaart_nieuws ORDER BY id DESC Limit 10";
$query = mysql_query($sql) or die(mysql_error());

if (isset($_GET['id']) && ctype_digit($_GET['id'])){
  $query= "DELETE FROM vangaart_nieuws WHERE id = '".$_GET['id']."'";  
  mysql_query($query) or die(mysql_error());
}


// print the output
echo "<b>Overzicht Berichten</b>";

echo "<table width=\"100%\" border=\"0\" cellspacing=\"2\" cellpadding=\"2\">\n";

echo "\n<tr bgcolor=\"#666666\">
\n<td>id</td>
\n<td>datum</td>
\n<td>titel</td>
\n<td>record verwijderen?</td>
\n</tr>"
;
 while($row = mysql_fetch_object($query)) {
if ($kleur == "#666666"){
    $kleur = "#999999";
  }
else{
    $kleur = "#999999";
  }
  
  echo "<tr bgcolor=\"" . $kleur . "\">
  \n<td>"
. $rij['id'] . "</td>
  \n<td>"
. $rij['datum'] . "</td>
  \n<td>"
. $rij['titel'] . "</td>
  \n<td>"
. "<a href=\"index.php?page=verwijderen&id=" . $rij['id'] . "\">Verwijderen?</a>" . "</td>
"
;
}

echo "</table>\n";
echo "<br><br><b>Bericht verwijderd ?</b><br>Klik <a href=\"index.php?page=verwijderen\">hier</a> om pagina te updaten.<br><Br>";

// how many rows we have in database
 $query   = "SELECT COUNT(id) AS numrows FROM vangaart_nieuws";
 $result  = mysql_query($query) or die('Error, query failed');
 $row     = mysql_fetch_array($result, MYSQL_ASSOC);
 $numrows = $row['numrows'];
 // how many pages we have when using paging?
 $maxPage = ceil($numrows/$rowsPerPage);
 // print the link to access each page
 $self = $_SERVER['PHP_SELF'];
 // creating previous and next link
 // plus the link to go straight to
 // the first and last page

 if ($pageNum > 1)
 {

    $page = $pageNum - 1;
    $prev = " <a href=\"index.php?page=verwijderen2&id2=$page\">« Vorige</a> ";
    
    $first = " <a href=\"index.php?page=verwijderen2&id2=1\">«« Eerste pagina</a> ";
 }

 else
 {
    $prev  = '&nbsp;'; // we're on page one, don't print previous link
    $first = '&nbsp;'; // nor the first page link
 }

 if ($pageNum < $maxPage)
 {

    $page = $pageNum + 1;
    $next = " <a href=\"index.php?page=verwijderen2&id2=$page\">» Volgende</a> ";
    
    $last = " <a href=\"index.php?page=verwijderen2&id2=$maxPage\">»» Laatste pagina</a> ";
 }

 else
 {
    $next = '&nbsp;'; // we're on the last page, don't print next link
    $last = '&nbsp;'; // nor the last page link
 }
 
// print the navigation link
echo "Toont pagina $pageNum van $maxPage pagina's <br>". $first . $prev . $next . $last;
 // and close the database connection
 ?>
 
Jurgen assaasas

Jurgen assaasas

15/12/2006 09:52:00
Quote Anchor link
De bovenstaande code is van php-mysql-tutorials hehe daar heb ik mijn paging script ook op aangepast :)
 
Dennis

Dennis

15/12/2006 09:59:00
Quote Anchor link
@ Jurgen : haha ok dan, nou flip heeft me in ieder geval wel verder geholpen dat ik in ieder geval kan bladeren tussen de records door.

Nu alleen het weergeven fixen van die records, stomme is namelijk dat hij wel die tabel genereerd van 10 records, netjes de link voor verwijderen er in zet alleen de gegevens van die records niet :-)

jij een idee ?
 
Jurgen assaasas

Jurgen assaasas

15/12/2006 10:24:00
Quote Anchor link
Hoe bedoel je de gegevens? Je ziet enkel je link verwijderen? Dat kan best kloppen. Zet in een aparte TD je titel dus:

<tr>
<td>$row['titel']</td><td><a hre.....>verwijderen</a></td>
</tr>

nu krijg je

nieuws 1 verwijderen
nieuws 2 verwijderen
nieuws 3 verwijderen
etc etc...
Gewijzigd op 01/01/1970 01:00:00 door Jurgen assaasas
 
Dennis

Dennis

15/12/2006 10:29:00
Quote Anchor link
@ Jurgen : Dat is het hem dus, dat heb ik ook

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
echo "<table width=\"100%\" border=\"0\" cellspacing=\"2\" cellpadding=\"2\">\n";

echo "\n<tr bgcolor=\"#666666\">
\n<td>id</td>
\n<td>datum</td>
\n<td>titel</td>
\n<td>record verwijderen?</td>
\n</tr>";
 while($row = mysql_fetch_object($query)) {
if ($kleur == "#666666"){
    $kleur = "#999999";
  }else{
    $kleur = "#999999";
  }  
  echo "<tr bgcolor=\"" . $kleur . "\">
  \n<td>" . $rij['id'] . "</td>
  \n<td>" . $rij['datum'] . "</td>
  \n<td>" . $rij['titel'] . "</td>
  \n<td>" . "<a href=\"index.php?page=verwijderen&id=" . $rij['id'] . "\">Verwijderen?</a>" . "</td>
";


Alleen die haalt die dus niet meer op uit de tabel :-s

Bovenste opgelost! :-)

Alleen krijg ik de link voor naar de vorige pagina en de eerste pagina niet aan het werk :-S

Iemand enig idee ?

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
 if ($pageNum > 1)
 {

    $page = $pageNum - 1;
    $prev = " <a href=\"index.php?page=verwijderen2&id2=$page\">« Vorige</a> ";
    
    $first = " <a href=\"index.php?page=verwijderen2&id2=1\">«« Eerste pagina</a> ";
 }

 else
 {
    $prev  = '&nbsp;'; // we're on page one, don't print previous link
    $first = '&nbsp;'; // nor the first page link
 }

 if ($pageNum < $maxPage)
 {

    $page = $pageNum + 1;
    $next = " <a href=\"index.php?page=verwijderen2&id2=$page\">» Volgende</a> ";
    
    $last = " <a href=\"index.php?page=verwijderen2&id2=$maxPage\">»» Laatste pagina</a> ";
 }

 else
 {
    $next = '&nbsp;'; // we're on the last page, don't print next link
    $last = '&nbsp;'; // nor the last page link
 }
 
// print the navigation link
echo "Toont pagina $pageNum van $maxPage pagina's <br>". $first . $prev . $next . $last;
 // and close the database connection
 ?>
Gewijzigd op 01/01/1970 01:00:00 door Dennis
 



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.