i am trying to learn how to update multiple rows at the same time using pagination but i do not have any luck. I do not get any error, it is just not updating. thanks for the help. <?php //connect to your database ** EDIT REQUIRED HERE ** mysql_connect("localhost","xxx","xxx"); //(host, username, password) //specify database ** EDIT REQUIRED HERE ** mysql_select_db("database-name") or die("Unable to select database"); //select which database we're using // How many adjacent pages should be shown on each side? $adjacents = 3; /* 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 filedetails"; $total_pages = mysql_fetch_array(mysql_query($query)); $total_pages = $total_pages[num]; /* Setup vars for query. */ $targetpage = "index.php"; //your file name (the name of this file) $limit = 2; //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. */ $query = "SELECT id, title, description FROM filedetails ORDER BY id DESC LIMIT $start, $limit"; $portfolio = mysql_query($query); /* 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"; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> <link type="text/css" rel="stylesheet" href="http://localhost/deneme/style.css"> </head> <body> <?php while($item = mysql_fetch_array($portfolio)) { ?><form name="form1" method="post" action=""> <table width="100%" border="1" cellpadding="5" bordercolor="#990099"> <tr> <td><? $id[]=$item['id']; ?><? echo $item['id']; ?></td> </tr> <tr> <tr> <td><input name="title[]" type="text" value="<?=$item[title]?>" size="100"></td> </tr> <tr> <td><textarea name="description[]" cols="100" rows="10"><?=$item[description]?> </textarea></td> </tr> </table><br /> <br /> <?php } ?> <input type="submit" name="Submit" value="Submit"> </form> <?=$pagination?> <? if($Submit){ for($i=0;$i<$count;$i++){ $sql1="UPDATE filedetails SET title='$title[$i]', description='$description[$i]' WHERE id='$id[$i]'"; $result1=mysql_query($sql1); } } if($result1){ header("location:index.php"); } mysql_close(); ?> </body> </html> PHP:
I did not overview all the source code. I found some 'update' section at the bottom: if($Submit){ for($i=0;$i<$count;$i++){ $sql1="UPDATE filedetails SET title='$title[$i]', description='$description[$i]' WHERE id='$id[$i]'"; $result1=mysql_query($sql1); } What I see is wrong 1) $count is not defined, so no interation 2) $title[$i], $description[$i], $id[$i] is undefined also 3) if variabes in 2) would be defined, $sql1="UPDATE would not provide desired substitution use the following $sql1=sprintf("UPDATE filedetails SET title='%s', description='%s' WHERE id='%s'", $title[$i], $description[$i], $id[$i]); instead of $sql1="UPDATE filedetails SET title='$title[$i]', description='$description[$i]' WHERE id='$id[$i]'";
thank you for the reply. I forgot to add $count=mysql_num_rows($result); PHP: to the code. it is working now. thanks