feri_soft Posted April 30, 2006 Share Posted April 30, 2006 I saw one very good tutorial for pages here but...thats my original sorce code for viewing tutorials and their categories:[code]<?phpinclude 'connect.php';//get the id, put it into a variable, cast to an INT//(for security purposes)if(!isset($_GET['page'])){ $page = 1;} else { $page = $_GET['page'];}// Define the number of results per page$max_results = 1;// Figure out the limit for the query based// on the current page number.$from = (($page * $max_results) - $max_results); $id = (int)$_GET['id']; $query = mysql_query("SELECT * FROM tutorials WHERE cat_id = '1' AND is_validated = '1' ORDER by id DESC LIMIT $from, $max_results ") or die(mysql_error());//if no results, show that there are no tutorials//for that categoryif(mysql_num_rows($query) == 0){echo "No tutorials for this category yet!";}//else, there is..show emelse{echo "<h1>Tutorials</h1>";//loop through the tutorials//show all tutorialsecho "<table border='0' cellpadding='0' cellspacing='0' width='500'>";while($row = mysql_fetch_array($query)){echo "<tr><td>Title:</td><td><b>$row[title]</b></td></tr><tr><td>Date Submitted:</td><td><b>$row[date_submitted]</b></td></tr><tr><td>Views:</td><td>$row[views]</td></tr><tr><td>Short Description:</td><td>$row[short_description]</td></tr><tr><td>Submitter:</td><td><a href='http://84.252.50.57/com/index.php?showuser=$row[poster_id]' target='_blank'>$row[submitter]</a></td></tr><tr><td colspan='2'><center><b><a href='$self?action=viewtutorial&id=$row[id]'>View</a></b></center></td></tr><tr><td colspan='2'><hr /></td></tr>";}echo "</table>";}// Figure out the total number of results in DB:$total_results = mysql_result(mysql_query("SELECT COUNT(*) as Num FROM tutorials"),0);// Figure out the total number of pages. Always round up using ceil()$total_pages = ceil($total_results / $max_results);// Build Page Number Hyperlinksecho "<center>Select a Page<br />";// Build Previous Linkif($page > 1){ $prev = ($page - 1); echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$prev\"><<Previous</a> ";}for($i = 1; $i <= $total_pages; $i++){ if(($page) == $i){ echo "$i "; } else { echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$i\">$i</a> "; }}// Build Next Linkif($page < $total_pages){ $next = ($page + 1); echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$next\">Next>></a>";}echo "</center>";//------------------------------------------//this case gets the given [ID]//action=viewtutorial&id=[ID]//and gets that tutorial ID from the database//and displays it!//------------------------------------------//if there is an ID given..if($_GET['id']){//set $id to the URL id, cast to an INT//for security purposes$id = (int)$_GET['id'];//query the database$query = mysql_query("SELECT * FROM tutorials WHERE id = '$id' LIMIT 1") or die (mysql_error());//if no rows returned...if(mysql_num_rows($query) == 0){echo "That ID is not in the database!";}//else, show it!else{//update the views for this tutorial!$update_views = mysql_query("UPDATE tutorials SET views = views + 1 WHERE id = '$id'") or die(mysql_error());//loop through the databasewhile($row = mysql_fetch_array($query)){print "<form action='ratearticle.php' method='post'>"; print "<input type='hidden' name='id' value='$id '>"; print "<Select name='rankselect'>"; print "<option>1</option>"; print "<option>2</option>"; print "<option>3</option>"; print "<option>4</option>"; print "<option>5</option>"; print "</select><br>"; print "<input type='submit' name='submit' value='Vote'></form><br><br>";echo "<table border='0' cellpadding='0' cellspacing='0' width='500' style='border: 1px solid black; padding: 3px;'><tr><td colspan='2'>Tutorial: <b>$row[title]</b></td></tr><tr><td colspan='2' style='border: 1px solid black;'><center><b>Tutorial</b></center><br />$row[text]</td></tr><tr>";//----------------------------//this part of the code//checks to see if the submitter//wants an email left for support//----------------------------if($row['show_email'] == 1){echo "<td colspan='2'>This tutorial was submitted by <b>$row[submitter]</b> with an email left for support questions. Contact this person <a href='mailto:$row[email]'>here</a></td>";}echo "</tr><tr><td><hr /></td></tr>";}//--------------------------------//this is where we loop through the//comments table to show all the//comments for this tutorial//--------------------------------$comments = mysql_query("SELECT * FROM tutorials_comments WHERE tut_id = '$id' ORDER BY id DESC") or die (mysql_error());//if there are no comments..if(mysql_num_rows($comments) == 0){echo "<tr><td colspan='2'>No comments for this tutorial yet!</td></tr>";}//else, show them!else{//loop through themwhile($row = mysql_fetch_array($comments)){echo "<tr><td colspan='2'>Comment by: <b>$row[submitter]</b></td></tr><tr><td colspan='2' style='border: 1px solid black; padding: 2px;' vAlign='top'>$row[text]</td></tr>";}}//show the form to enter commentsecho "<tr><td colspan='2'><hr /></td></tr><form action='$self' method='post'><tr><td>Name:</td><td><input type='text' name='name' maxlength='25'></td></tr><tr><td>Comment:</td><td><textarea name='message' cols='40' rows='10'></textarea></td></tr><tr><td colspan='2'><center><input type='submit' name='add_comment' value='Add Comment'></center></td></tr></form>";//-----------------------------//if the comment submit form//HAS been submitted, enter info//to the database.//-----------------------------if(isset($_POST['add_comment'])){//strip all HTML tags//and get rid of any quotes to prevent//SQL injection$message = mysql_real_escape_string(strip_tags($_POST['message']));$name = mysql_real_escape_string(strip_tags($_POST['name']));$time = time();//use an array to store all error messages$error_msg = array();if(empty($message)){$error_msg[] = "Please enter a message!<br />";}if(empty($name)){$error_msg[] = "Please enter a name!<br />";}//print the errorsif(count($error_msg)>0){echo "<strong>ERROR:</strong><br>n";foreach($error_msg as $err)echo "$err";}//else, everything is ok, enter it in the DBelse{$query = mysql_query("INSERT INTO tutorials_comments VALUES (NULL,'$id','$name', '$message', '$time')") or die(mysql_error());}}echo "</table>";}} //------------------------------------------//default case, this is shown default//in this instance, we are going to make the default case show//all the categories that you can view tutorials on//------------------------------------------?>[/code]You can see my pages code.Because of the swich when in the adress bar is something like tuts.php?page=4it just shopws me the tuts.php defaultI want to create something liketuts.php?viewcategory=2?page=5and to show the right page in the right category,not the index.I came up with that code:[code]<?phpinclude 'connect.php';include 'header.php';switch($_GET['action']){//get the id, put it into a variable, cast to an INTdefault://(for security purposes)if(!isset($_GET['page'])){ $page = 1;} else { $page = $_GET['page'];}// Define the number of results per page$max_results = 3;// Figure out the limit for the query based// on the current page number.$from = (($page * $max_results) - $max_results); $id = (int)$_GET['id']; $query = mysql_query("SELECT * FROM tutorials WHERE cat_id = '1' AND is_validated = '1' ORDER by id DESC LIMIT $from, $max_results ") or die(mysql_error());//if no results, show that there are no tutorials//for that categoryif(mysql_num_rows($query) == 0){echo "No tutorials for this category yet!";}//else, there is..show emelse{echo "<center><h1>Photoshop ефекти</h1></center>";//loop through the tutorials//show all tutorialsecho "<table border='0' cellpadding='0' cellspacing='0' width='500' align='center'>";while($row = mysql_fetch_array($query)){echo "<tr><td>Заглавие:</td><td><b><a href='$self?action=viewtutorial&id=$row[id]'>$row[title]</a></b></td></tr><tr><td>Дата:</td><td><b>$row[date_submitted]</b></td></tr><tr><td>Видяно:</td><td>$row[views] път(и)</td></tr><tr><td>Гласували:</td><td><b>$row[numvotes]</b></td></tr><tr><td>Рейтинг:</td><td><font color='red'>$row[avgvotes]</font></td></tr><tr><td>Трудност:</td><td><b>$row[difficult]/10</b></td></tr><tr><td>Описание:</td><td>$row[short_description]</td></tr><tr><td>Добавил:</td><td><a href='http://84.252.50.57/com/index.php?showuser=$row[poster_id]' target='_blank'>$row[submitter]</a></td></tr><tr><td colspan='2' style='border-bottom:2px dotted #000;'><br></td></tr>";}echo "</table><br>";}// Figure out the total number of results in DB:$total_results = mysql_result(mysql_query("SELECT COUNT(*) as Num FROM tutorials"),0);// Figure out the total number of pages. Always round up using ceil()$total_pages = ceil($total_results / $max_results);// Build Page Number Hyperlinksecho "<center>Изберете страница:<br />";// Build Previous Linkif($page > 1){ $prev = ($page - 1); echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$prev\"><<Предишна</a> ";}for($i = 1; $i <= $total_pages; $i++){ if(($page) == $i){ echo "$i "; } else { echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$i\">$i</a> "; }}// Build Next Linkif($page < $total_pages){ $next = ($page + 1); echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$next\">Следваща>></a>";}echo "</center>";break;//------------------------------------------//this case gets the given [ID]//action=viewtutorial&id=[ID]//and gets that tutorial ID from the database//and displays it!//------------------------------------------//if there is an ID given..case "viewtutorial":if($_GET['id']){//set $id to the URL id, cast to an INT//for security purposes$id = (int)$_GET['id'];//query the database$query = mysql_query("SELECT * FROM tutorials WHERE id = '$id' LIMIT 1") or die (mysql_error());//if no rows returned...if(mysql_num_rows($query) == 0){echo "That ID is not in the database!";}//else, show it!else{//update the views for this tutorial!$update_views = mysql_query("UPDATE tutorials SET views = views + 1 WHERE id = '$id'") or die(mysql_error());//loop through the databasewhile($row = mysql_fetch_array($query)){echo "<table border='0' cellpadding='0' cellspacing='0' width='100%' style='text-align:center;'><tr><td><h2>$row[title]</h2></td></tr><tr><td>Този урок е добавен от <a href='http://84.252.50.57/com/index.php?showuser=$row[poster_id]'><b>$row[submitter]</b></a> с оставен <a href='mailto:$row[email]'>email</a> за връзка.</td></tr></table><table border='0' cellpadding='0' cellspacing='0' width='100%'><tr><td colspan='2' style='border-top: 1px dotted black;border-bottom: 1px dotted black;padding-left:3px'><br>$row[text]</td></tr><tr>";//----------------------------//this part of the code//checks to see if the submitter//wants an email left for support//----------------------------if($row['show_email'] == 1){echo "<td colspan='2' style='padding-left:3px'>Гласувайте:<form action='ratearticle.php' method='post'><input type='hidden' name='id' value='$id '><Select name='rankselect'> <option>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> </select><br> <input type='submit' name='submit' value='Гласувай!'></form><br><br></td>";}echo "</tr><tr><td><hr /></td></tr>";}//--------------------------------//this is where we loop through the//comments table to show all the//comments for this tutorial//--------------------------------$comments = mysql_query("SELECT * FROM tutorials_comments WHERE tut_id = '$id' ORDER BY id DESC") or die (mysql_error());//if there are no comments..if(mysql_num_rows($comments) == 0){echo "<tr><td colspan='2' style='padding-left:3px'>Все още няма коментари по този урок!</td></tr>";}//else, show them!else{//loop through themwhile($row = mysql_fetch_array($comments)){echo "<tr><td colspan='2'>Коментар от: <a href='http://84.252.50.57/com/index.php?showuser=$row[poster_id]'><b>$row[submitter]</b></a></td></tr><tr><td colspan='2' style='border-top: 1px dotted black; padding: 2px;border-bottom: 1px dotted black' vAlign='top'>$row[text]</td></tr>";}}//show the form to enter commentsrequire_once "ipbsdk_class.inc.php";$SDK =& new IPBSDK();if ($SDK->is_loggedin()) {$memberinfo = $SDK->get_advinfo();echo "<tr><td colspan='2'><hr /></td></tr><form action='$self' method='post'><tr><td><input type='hidden' name='posterid' maxlength='25' value=".$memberinfo['id']."></td><td><input type='hidden' name='name' maxlength='25' value=".$memberinfo['name']."></td></tr><tr ><td >Коментар:</td><td><textarea name='message' cols='40' rows='10'></textarea></td></tr><tr><td colspan='2'><center><input type='submit' name='add_comment' value='Добави'></center></td></tr></form>";//-----------------------------//if the comment submit form//HAS been submitted, enter info//to the database.//-----------------------------if(isset($_POST['add_comment'])){//strip all HTML tags//and get rid of any quotes to prevent//SQL injection$posterid = mysql_real_escape_string(strip_tags($_POST['posterid']));$message = mysql_real_escape_string(strip_tags($_POST['message']));$name = mysql_real_escape_string(strip_tags($_POST['name']));$time = time();//use an array to store all error messages$error_msg = array();if(empty($message)){$error_msg[] = "Please enter a message!<br />";}if(empty($name)){$error_msg[] = "Please enter a name!<br />";}//print the errorsif(count($error_msg)>0){echo "<strong>ERROR:</strong><br>n";foreach($error_msg as $err)echo "$err";}//else, everything is ok, enter it in the DBelse{$query = mysql_query("INSERT INTO tutorials_comments VALUES (NULL,'$id','$name', '$message', '$time', '$posterid')") or die(mysql_error());}}}else { // Code for guests goes here echo '<font color=red><center>Само регистрираните потребители могат да добавят коментари.</center></font>';}echo "</table>";}}break; }//------------------------------------------//default case, this is shown default//in this instance, we are going to make the default case show//all the categories that you can view tutorials on//------------------------------------------include 'footer.php';?>[/code]But as you see there isn't any category listing,so i have to create about 20 files manually and if i want to change them later... OMG.Can you help me with the first code.How it can be done.I need it very much guys.If you help me ... it will be priceless :) Link to comment https://forums.phpfreaks.com/topic/8748-help-with-swich/ Share on other sites More sharing options...
feri_soft Posted April 30, 2006 Author Share Posted April 30, 2006 I know the code is a little bit long but i need it very very much :( Link to comment https://forums.phpfreaks.com/topic/8748-help-with-swich/#findComment-32216 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.