Avatar billede jetobi Juniormester
09. august 2011 - 14:02 Der er 2 kommentarer og
1 løsning

paging php

hej alle sammen sidder her med et script jeg lige har kopiret, men det virker ikke
<?php
    $items = array("red","yellow",
                    "pink","green",
                    "purple","blue",
                    "orange","opal",
                    "ruby","brown",
                    "bronze","copper",
                    "ginger","tope",
                    "orange","light blue",
                    "light green","dark yellow",
                    "grey","black",
                    "white","gold",
                    "silver");

    $thispage = $PHP_SELF;
    $num = count($items); // number of items in list
    $per_page = 2; // Number of items to show per page
    $showeachside = 5;

    if{empty($start}$start=1;  // Current start position

    $max_pages = ceil($num / $per_page); // Number of pages
    $cur = ceil($start / $per_page)+1; // Current page number
?>

det er ved if{empty($start}$start=1;  // Current start position

den skriver fejl, ved ikke hvorfor? nogen der kan hjælpe?
Avatar billede michael_stim Ekspert
09. august 2011 - 16:18 #1
$thispage = $PHP_SELF;
=
$thispage = $_SERVER['PHP_SELF'];

if{empty($start}$start=1;  // Current start position
=
if(empty($start)){
$start=1;
}  // Current start position

Hvis du altså vil have at start skla være 1 hvis den er tom?
Avatar billede jetobi Juniormester
09. august 2011 - 23:47 #2
fik bare en fejl længere nede på siden
<?php
    $items = array('red','yellow',
                    'pink','green',
                    'purple','blue',
                    'orange','opal',
                    'ruby','brown',
                    'bronze','copper',
                    'ginger','tope',
                    'orange','light blue',
                    'light green','dark yellow',
                    'grey','black',
                    'white','gold',
                    'silver');

    $thispage = $_SERVER['PHP_SELF'];
    $num = count($items); // number of items in list
    $per_page = 2; // Number of items to show per page
    $showeachside = 5;

if(empty($start)){
$start=1;
} // Current start position
   

    $max_pages = ceil($num / $per_page); // Number of pages
    $cur = ceil($start / $per_page)+1; // Current page number
?>
<style type="text/css">
<!--
.pageselected {
    color: #FF0000;
    font-weight: bold;
}
-->
</style>
davs
<table width="400" border="0" align="center" cellpadding="0" cellspacing="0" class="PHPBODY">
<tr>
<td width="99" align="center" valign="middle" bgcolor="#EAEAEA">
<?php
if(($start-$per_page) >= 0)
{
    $next = $start-$per_page;
?>
<a href="<?php print("$thispage".($next>0?("?start=").$next:""));?>"><<</a>
<?php
}
?>
</td>
<td width="201" align="center" valign="middle" class="selected">
Page <?php print($cur);?> of <?php print($max_pages);?><br>
( <?php print($num);?> records )
</td>
<td width="100" align="center" valign="middle" bgcolor="#EAEAEA">
<?php
if($start+$per_page<$num)
{
?>
<a href="<?php print("$thispage?start=".max(0,$start+$per_page));?>">&gt;&gt;</a>
<?php
}
?>
</td>
</tr>
<tr><td colspan="3" align="center" valign="middle">&nbsp;</td></tr>
<tr>
<td colspan="3" align="center" valign="middle" class="selected">
<?php
$eitherside = ($showeachside * $per_page);
if($start+1 > $eitherside)print (" .... ");
$pg=1;
for($y=0;$y<$num;$y+=$per_page)
{
    $class=($y==$start)?"pageselected":"";
    if(($y > ($start - $eitherside)) && ($y < ($start + $eitherside)))
    {
?>
&nbsp;<a class="<?php print($class);?>" href="<?php print("$thispage".($y>0?("?start=").$y:""));?>"><?php print($pg);?></a>&nbsp;
<?php
    }
    $pg++;
}
if(($start+$eitherside)<$num)print (" .... ");
?>
</td>
</tr>
<tr>
<td colspan="3" align="center">
<?php
    for($x=$start;$x<min($num,($start+$per_page)+1);$x++)print($items[$x]."<br>");
?>
</td>
</tr>
</table>
<?php
$data = "112,342,23,521,29,57,221,442,15,16,232";
$new_data = explode(",",$data);
echo = array_rand($new_data,1);
?>

ved echo = array_rand($new_data,1);
Avatar billede MSI-AOC Nybegynder
12. august 2011 - 01:12 #3
echo er ikke en variabel så du kan ikke assigne en værdi. 1-tallet er desuden unødvendigt. Fjern "=" så der bare står:

echo array_rand($new_data);

Du skal lige være opmærksom på at funktionen array_rand() returnere et index og ikke en værdi, så du vil bare få et tal mellem 0 og 10.
Hvis du vil have den til at udskrive et af tallene (f.eks. 112 eller 29), skal du gøre følgende:

echo $new_data[array_rand($new_data)];

Håber det hjalp :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester