Ik zit (alweer) met een probleem:
Als ik naar http://www.owicro.com/index.php ga wordt alles veel te breed weergeven, en als je dan op next of 1, 2 of 3 klikt, wordt alles weer goed weergeven: hoe kan dit toch??
Dan heb ik nog een probleem waar code aan te pas zal komen:
de paginanummering geeft op de laatste pagina niks weer, alleen 2 grijze balken, ik denk dat dit met het count($data) gedeelte te maken heeft
Hier de "aanroepingscode" van het paginanummering script:
<?php
//hier de databaseconnectie, ik ga geen w8woorden vrijgeven:P
//Pagina nummer class aanroepen
/********
* Pagina nummer class aanroepen
********/
require("class_pagenumbers.php");
$page_nums = new Page_numbers("guestbook", "WHERE blocked='N'", $link_id);
$page_numbers = $page_nums->show_page_numbers(7);
$mpp = $page_nums->show_mpp();
$prev_next = $page_nums->prev_next();
$data = $page_nums->fetch_data("COUNTRY", "ORDER BY ID DESC");
$data2 = $page_nums->fetch_data("EMAIL", "ORDER BY ID DESC");
$data3 = $page_nums->fetch_data("ENTRY", "ORDER BY ID DESC");
/********
* Pagina Nummers en Berichten Per Pagina uitspugen naar browser
********/
echo '<table cellpadding="0" cellspacing="0" style="width:450px; margin-bottom:30px;">
<tr>
<td>'.$page_numbers.'</td>
<td align="right" valign="bottom">Berichten Per Pagina: '.$mpp.'</td>
</tr>
</table>';
/********
* Data uitspugen naar de browser
********/
$totalentries = count($data);
for ($x=0;$x < ($totalentries);$x++)
{
echo '<tr>
<td bgcolor="#AFAFAF" align="left" width="600">
<table border="0" cellspacing="0" cellpadding="1">';
echo $data[$x]['COUNTRY'];
echo '</table></td></tr>
<tr>
<td bgcolor="#FFFFFF" align="left">';
echo $data3[$x]['ENTRY'];
echo '</td></tr><tr>
<td bgcolor="#AFAFAF" align="left">
<table border="0" cellspacing="0" cellpadding="1">';
echo $data2[$x]['EMAIL'];
echo '</table></td></tr>';
}
/********
* Previous & Next Links
********/
echo '<br /><br />'.$prev_next;
}
?>
Hier de paginanummering zelf, die dus aangeroepen wordt, ook wordt er in index.php (wanneer alles zo breed is) deze error weergeven:
Fatal error: Cannot redeclare class page_numbers in /h.../ow..../public_html/addwebsite/class_pagenumbers.php on line 13. Ik heb dit al proberen op te lossen maar niks schijnt te werken. Anyway, hier de code:
<?php
//link_id even uitleggen
$link_id = mysql_connect ("w8woorden enz.");
//variabelen defineren
define("MIN_PER_PAGE", 5);
define("MAX_PER_PAGE", 20);
define("DEF_PER_PAGE", 10);
define("THIS_PAGE", $_SERVER['PHP_SELF']);
class Page_numbers {
var $table = "VGB_ENTRY";
var $condition = "WHERE ''";
var $total_records;
var $mpp;
var $total_pages;
var $page;
var $offset;
var $query_string;
//variabelen uitleggen
function Page_numbers($table, $condition="", $link_id=NULL)
{
$this->table = $table;
$this->condition = $condition;
$this->link_id = $link_id;
$this->total_records = $this->count_records();
$this->mpp = isset($_GET['mpp']) && is_numeric($_GET['mpp']) && $_GET['mpp'] >= MIN_PER_PAGE && $_GET['mpp'] <= MAX_PER_PAGE ? $_GET['mpp'] : DEF_PER_PAGE;
$this->total_pages = ceil($this->total_records / $this->mpp);
$this->page = isset($_GET['page']) && is_numeric($_GET['page']) && $_GET['page'] > 0 && $_GET['page'] <= $this->total_pages ? $_GET['page'] : 1;
$this->offset = ($this->page - 1) * $this->mpp;
$this->query_string = $this->get_query_string();
}
//id's tellen
function count_records()
{
$res = mysql_query("SELECT COUNT(ID) FROM VGB_ENTRY") or die("res:". mysql_error());
return mysql_result($res, 0, "count(ID)");
}
//data verzamelen uit de database
function fetch_data()
{
$data = "";
$res = mysql_query("SELECT * FROM VGB_ENTRY where UNMODERATED = 0 order by ID desc limit ".$this->offset.",".$this->mpp);
while($row = mysql_fetch_assoc($res))
{
$data[] = $row;
}
return $data;
}
//string opmaken
function get_query_string($query_string="")
{
foreach($_GET as $key => $value)
{
if($key != 'page' && $key != 'mpp')
{
$query_string .= '&'.$key.'='.$value;
}
}
return $query_string;
}
//Message Per Page upmaken en terug geven.
function show_mpp()
{
$str = '<script type="text/javascript" language="javascript1.5">
<!--
function openUrl()
{
var control = document.getElementById(\'mpp\');
window.location = "'.THIS_PAGE.'?page=1&mpp="+control.options[control.selectedIndex].value+"'.str_replace('&', '&', $this->query_string).'";
}
//-->
</script>
<select id="mpp" onchange="openUrl();">';
for($i=MIN_PER_PAGE; $i<=MAX_PER_PAGE; $i+=5)
{
$str .= '<option value="'.$i.'"'.($i == $this->mpp ? ' selected="selected"': '').'>'.$i.'</option>'."\r\n";
}
return $str.'</select>';
}
//Previous & Next links
function prev_next()
{
$str = ($this->page > 1) ? '<a href="index.php?page='.($this->page-1).'&mpp='.$this->mpp.$this->query_string.'" title="Previous Page">««previous</a>' : '<span style="color:#aaa">««previous</span>';
$str .= ' ';
$str .= ($this->page < $this->total_pages) ? '<a href="index.php?page='.($this->page+1).'&mpp='.$this->mpp.$this->query_string.'" title="Next Page">next»»</a>' : '<span style="color:#aaa">next»»</span>';
return $str;
}
//Pagenumbers opmaken en weergeven
function show_page_numbers($num_page_links=7)
{
if($this->total_pages > 1)
{
$num_page_links = $num_page_links % 2 ? $num_page_links : $num_page_links + 1;
$pagenumbers = 'Page: <strong>'.$this->page.'</strong> from '.$this->total_pages.'<br />';
if($this->total_pages > $num_page_links)
{
$cutoff = floor($num_page_links / 2);
$start = $this->page - $cutoff;
$end = $this->page + $cutoff;
//geen Pagenumbers kleiner dan 1 en Groter dan total_pages
while($start < 1) { $start++; $end++; }
while($end > $this->total_pages) { $start--; $end--; }
//Pagenumbers opmaken en weergeven
if($this->page > $cutoff + 1) { $pagenumbers .= '<a href="'.THIS_PAGE.'?page=1&mpp='.$this->mpp.$this->query_string.'" title="First Page (1)">...</a> '; }
for($i=$start; $i<=$end; $i++)
{
$pagenumbers .= ($i == $this->page) ? '<strong style="text-decoration:underline;">'.$i.'</strong> '."\r\n" : '<a href="'.THIS_PAGE.'?page='.$i.'&mpp='.$this->mpp.$this->query_string.'" title="Go to Page '.$i.'">'.$i.'</a> '."\r\n";
}
if($this->page < $this->total_pages - $cutoff) { $pagenumbers .= '<a href="'.THIS_PAGE.'?page='.$this->total_pages.'&mpp='.$this->mpp.$this->query_string.'" title="Last Page ('.$this->total_pages.')">...</a> '; }
}
else
{
for($i=1; $i<=$this->total_pages; $i++)
{
$pagenumbers .= ($i == $this->page) ? '<strong style="text-decoration:underline;">'.$i.'</strong> '."\r\n" : '<a href="'.THIS_PAGE.'?page='.$i.'&mpp='.$this->mpp.$this->query_string.'" title="Go to Page '.$i.'">'.$i.'</a> '."\r\n";
}
}
return rtrim($pagenumbers);
}
else
{
return NULL;
}
}
}
?>
Ik hoop echt dat iemand me hier mee kan helpen, want ik ben er al weken mee bezig:S, alvast bedankt!!
946 views