0

Hi all , I use the code below but I get 2 error ...

1 * Notice: Use of undefined constant num - assumed 'num' in D:\wamp\www\fbelgesel\hadi.php on line 20

2 * Notice: Undefined index: page in D:\wamp\www\fbelgesel\hadi.php on line 25

Do you have any idea , how can I solve this ... ?

<?php
	/*
		Place code to connect to your DB here.
	*/
#connect to mysql server
//	$conn = @mysql_connect("localhost","root","");
	#select database
//	@mysql_select_db("onm",$conn);		// include your code to connect to DB.

	$tbl_name="foto_arsiv";		//your table name
	// How many adjacent pages should be shown on each side?
	$adjacents = 4;
	
	/* 
	   First get total number of rows in data table. 
	   If you have a WHERE clause in your query, make sure you mirror it here.
	*/
	$query = "SELECT COUNT(*) as num FROM $tbl_name";
	$total_pages = mysql_fetch_array(mysql_query($query));
	$total_pages = $total_pages[num];
	
	/* Setup vars for query. */
	$targetpage = "foto_arsiv.php"; 	//your file name  (the name of this file)
	$limit = 4; 								//how many items to show per page
	$page = $_GET['page'];
	if($page) 
		$start = ($page - 1) * $limit; 			//first item to display on this page
	else
		$start = 0;								//if no page var is given, set start to 0
	
	/* Get data. */
	$sql = "SELECT * FROM $tbl_name LIMIT $start, $limit";
	$result = mysql_query($sql);
	
	/* Setup page vars for display. */
	if ($page == 0) $page = 1;					//if no page var is given, default to 1.
	$prev = $page - 1;							//previous page is page - 1
	$next = $page + 1;							//next page is page + 1
	$lastpage = ceil($total_pages/$limit);		//lastpage is = total pages / items per page, rounded up.
	$lpm1 = $lastpage - 1;						//last page minus 1
	
	/* 
		Now we apply our rules and draw the pagination object. 
		We're actually saving the code to a variable in case we want to draw it more than once.
	*/
	$pagination = "";
	if($lastpage > 1)
	{	
		$pagination .= "<div class=\"pagination\">";
		//previous button
		if ($page > 1) 
			$pagination.= "<a href=\"$targetpage?page=$prev\">« previous</a>";
		else
			$pagination.= "<span class=\"disabled\">« previous</span>";	
		
		//pages	
		if ($lastpage < 7 + ($adjacents * 2))	//not enough pages to bother breaking it up
		{	
			for ($counter = 1; $counter <= $lastpage; $counter++)
			{
				if ($counter == $page)
					$pagination.= "<span class=\"current\">$counter</span>";
				else
					$pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";					
			}
		}
		elseif($lastpage > 5 + ($adjacents * 2))	//enough pages to hide some
		{
			//close to beginning; only hide later pages
			if($page < 1 + ($adjacents * 2))		
			{
				for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++)
				{
					if ($counter == $page)
						$pagination.= "<span class=\"current\">$counter</span>";
					else
						$pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";					
				}
				$pagination.= "...";
				$pagination.= "<a href=\"$targetpage?page=$lpm1\">$lpm1</a>";
				$pagination.= "<a href=\"$targetpage?page=$lastpage\">$lastpage</a>";		
			}
			//in middle; hide some front and some back
			elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2))
			{
				$pagination.= "<a href=\"$targetpage?page=1\">1</a>";
				$pagination.= "<a href=\"$targetpage?page=2\">2</a>";
				$pagination.= "...";
				for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++)
				{
					if ($counter == $page)
						$pagination.= "<span class=\"current\">$counter</span>";
					else
						$pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";					
				}
				$pagination.= "...";
				$pagination.= "<a href=\"$targetpage?page=$lpm1\">$lpm1</a>";
				$pagination.= "<a href=\"$targetpage?page=$lastpage\">$lastpage</a>";		
			}
			//close to end; only hide early pages
			else
			{
				$pagination.= "<a href=\"$targetpage?page=1\">1</a>";
				$pagination.= "<a href=\"$targetpage?page=2\">2</a>";
				$pagination.= "...";
				for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++)
				{
					if ($counter == $page)
						$pagination.= "<span class=\"current\">$counter</span>";
					else
						$pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";					
				}
			}
		}
		
		//next button
		if ($page < $counter - 1) 
			$pagination.= "<a href=\"$targetpage?page=$next\">next »</a>";
		else
			$pagination.= "<span class=\"disabled\">next »</span>";
		$pagination.= "</div>\n";		
	}
?>

	<?php
		while($row = mysql_fetch_array($result))
		{
	
	echo "<table cellpadding=2 cellspacing=2 width=100%>
<tr>


</tr>";
  echo "<tr>";
  echo "<th bgcolor=#FFCC00  width=250px>$page</th>";
  echo "<td bgcolor=#FEE9A9>" . $row[0] . "</td>";
    echo "</tr>";
  echo "<tr>";
						

	
	
	echo "<tr>";
  echo "<th bgcolor=#FFCC00>
  LAPeriodEnd</th>";
  echo "<td bgcolor=#FEE9A9>" . $row[1] . "</td>";
    echo "</tr>";
	
	echo "<tr>";
  echo "<th bgcolor=#FFCC00>
  LAPeriodEnd</th>";
  echo "<td bgcolor=#FEE9A9>" . $row[2] . "</td>";
    echo "</tr>";
	
	
	echo "<tr>";
  echo "<th bgcolor=#FFCC00>
  LAPeriodEnd</th>";
  echo "<td bgcolor=#FEE9A9>" . $row[3] . "</td>";
    echo "</tr>";
	
	
	echo "<tr>";
  echo "<th bgcolor=#FFCC00>
  LAPeriodEnd</th>";
  echo "<td bgcolor=#FEE9A9>" . $row[4] . "</td>";
    echo "</tr>";

	
	
  }
echo "</table>";



	
		
	?>

<?=$pagination?>
2
Contributors
1
Reply
2
Views
6 Years
Discussion Span
Last Post by fixphperrors
0

1 * Notice: Use of undefined constant num - assumed 'num' in D:\wamp\www\fbelgesel\hadi.php on line 20

2 * Notice: Undefined index: page in D:\wamp\www\fbelgesel\hadi.php on line 25

First up, those two aren't errors, but they're just notices to you that you're doing something different.

The first one says that you're using an undefined constant. By the looks of it, you're trying to use an array element and all array elements with a key must be called like this within single quotes

$arr['key']

You can fix the first error by changing line 20 to

$total_pages = $total_pages['num'];

The second error happens because you're using the $_GET array element, but it's not initiated or declared anywhere before it's usage. So you have to either make sure you get the variable from the browser or at least set an initial sanity value so that your pagination code works properly. Something like say a

if ($_GET['page'] != "" and is_num($_GET['page']))
{
  $page = $_GET['page'];
}
else
{
  $page = 1; //or any other sane default.
}

This following is a bad practice and should not done on a production server!

Alternatively you could suppress these notices, by setting a error_reporting directive at the top of the file.

error_reporting(E_ALL ^ E_NOTICE)
This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.