Archief - PHP: Gezocht: Data opsplitsen in pagina's

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

zippke

Legacy Member
Hallo iedereen

Ik heb hier een script dat de waarden uit een database wegschrijft op een pagina. Als ik bv: 100 waarden heb worden deze waardes allemaal onder elkaar weggeschreven, is er misschien een methode om dit op te splitsen in pagina's zodat er bv: per pagina 30 regels worden weggeschreven?

Is dit mogelijk? Zoja hoe realiseer ik dit best?

Alvast bedankt

medic

Legacy Member
SELECT * FROM table WHERE 1 LIMIT 0,30

Waarbij je 0 steeds vermeerdert met een waarde van dertig (het eerste getal is de offset, het tweede de limiet)

zippke

Legacy Member
SELECT * FROM table WHERE 1 LIMIT 0,30

Waarbij je 0 steeds vermeerdert met een waarde van dertig (het eerste getal is de offset, het tweede de limiet)

dus per weggeschreven lijn verhoogd de 0 telkens met 1, tot aan de 30 en wanneer je aan de 30 zit wordt er dan automatisch op een nieuwe pagina begonnen met schrijven? En wat is de bedoeling van WHERE 1 ??
Heb dit nog nooit gebruikt ofzo daarmee ...

[f8]-[Iwan]

Legacy Member
PHP:
<?php
mysql_connect("localhost", "your_username", "your_password") or die("could not connect");
mysql_select_db("your_database");

  $result = mysql_query("select count(id) from you_table");
  $count = mysql_result($result,0);
  echo "<b>$count</b> items in the database.<hr>";
  mysql_free_result($result);

  //If register globals is off in php.ini: $page=$_GET["page"];
  $pagelinks = "&nbsp;";

  $rpp = 3;  // result per page
  if ($page) {
    $sqlstart = ($page - 1) * $rpp;
  } else {
    $sqlstart = 0;
    $page = 1;
  }

  if ($count >= $rpp && $count > 0) {

	$pages = $count / $rpp;
    $pages = ceil($pages);

	$to= $pages;

	$from=1;
	
	$previous= $page-1;
	$next= $page+1;

	if ($next>$pages) 
	{
		$next = $pages;
	}
	
	$pagelinks .= "<a href=\"list.php?page=1\">|<< First</a>&nbsp;&nbsp;&nbsp;";
    $pagelinks .= "<a href=\"list.php?page=$previous\"><<< Previous</a> ";
	$pagelinks .= "&nbsp;<a href=\"list.php?page=$next\">Next >>></a>";
	$pagelinks .= "&nbsp;&nbsp;&nbsp;<a href=\"list.php?page=$pages\">Last >>|</a></font><br>";

    for ($i = $from; $i <= $to; $i++) 
	{
      if ($i != $page) 
		{
        $pagelinks .= "&nbsp;<a href=\"list.php?page=$i\">$i</a>&nbsp;";
      } else 
			{
        $pagelinks .= "&nbsp;<font color=\"#000000\" size=\"6\"><b>$i</b></font>&nbsp;";
			}
		}
	}

  // If there are more results than specified in $rpp then show the prvious and next links together with the numbred pages.
    if($count > $rpp){
      echo "$pagelinks<br><br>";
    }

    $query = "select * from your_table order by id limit $sqlstart, $rpp";
    $result = mysql_query($query) or die(mysql_error());

    while ($r = mysql_fetch_array($result)) {
	// print the code...

	$id = $r["id"];
	$waarde = $r["waarde"];


	echo "$waarde";
	
}

?>

zippke

Legacy Member
Bedankt maar wat komt er in list.php te staan? is dit gewoon de code voor het afdrukken van de gegevens?

DarkBone

Legacy Member
die pagina is list.php, alleen werkt het script nog met register_globals op on... da's een 'no go' dus...

zippke

Legacy Member
OK daarmee werkt het dus niet

Heb die register globals niet! Kan hier dus weinig met aanvangen?

killgore

Legacy Member
zippke zei:
OK daarmee werkt het dus niet

Heb die register globals niet! Kan hier dus weinig met aanvangen?

zet ergens bovenaan da script
PHP:
$page = isset($_GET['page'])?$_GET['page']:0;

[f8]-[Iwan]

Legacy Member
DarkBone zei:
die pagina is list.php, alleen werkt het script nog met register_globals op on... da's een 'no go' dus...
kijk es in het script pls...
//If register globals is off in php.ini: $page=$_GET["page"];

sneax

Legacy Member
als $page gezet is gewoon $page vermenigvuldigen met hoeveel dinges ge wilt en dat gebruiken in uw LIMIT clause

zo doe ik da

medic

Legacy Member
Niet een speciaal nut ;) Maar phpmyadmin doet da ook, dus het kan ook geen kwaad ;)

killgore

Legacy Member
Lashknife zei:
SELECT * FROM table WHERE 1 LIMIT 0,30
where 1 :confused: tot welk nut?
Zijn veel mensen dat dat doen, ik doe dat ook, of het echt nut heeft, dunno, zou me niks verbazen moest het zo een of andere uberzeldzame bug van mysql voorkomen, ma vo de rest ist handig om in grote queries je WHERE condition te vinden ;).

dJeez

Legacy Member
killgore zei:
Zijn veel mensen dat dat doen, ik doe dat ook, of het echt nut heeft, dunno, zou me niks verbazen moest het zo een of andere uberzeldzame bug van mysql voorkomen, ma vo de rest ist handig om in grote queries je WHERE condition te vinden ;).
Het nut van die WHERE 1 is dat je dan simpelweg extra filters kan toevoegen door er steeds AND <veld>=<waarde> en/of OR <veld>=<waarde> achter te zetten ipv constant bij te moeten houden of je al dan niet al iets in je WHERE clausule had staan en afhankelijk van dat feit ofwel <veld>=<waarde> (als het de eerste clausule was) ofwel AND/OR <veld>=<waarde> toe te voegen.

Als je begrijpt wat ik bedoel :p.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan