1 Star2 Stars3 Stars4 Stars5 Stars
Loading...Loading...

» MySQL მონაცემთა ლიმიტირება ანუ გვერდებად დაყოფა

მოგესალმებით 😉
როგორც დავპირდი ჩვენს მეგობარს “masterx”-ს ამ ჩანაწერში განვათავსებ PHP კოდს, რომლის საშვალებითაც სრულიად მარტივად შესაძლებელია MySQL-ის ნებისმიერ მონაცემების ლიმიტირებული რაოდენობის გამოქვეყნება და გვერდებად დაყოფა ანუ ესაა მონაცემთა ბაზების ბეჭვდვის სასურველ მონაცემთა ლიმიტირებული ბეჭვდვა-ნავიგაცია.

მოკლედ მაგალითად თუკი მონაცემთა ბაზებში გაქვთ რაიმე ასევთქვათ დიდი ჩამონათვალთა მონაცემები, როგორიცაა ვთქვათ ეგრედწოდებული “პოსტები”, კომენტარები, ფოტოები, რაიმე სიები, ცხრილები და სხვა მისთანი და მათი სიმრავლის გამო ერთ გვერდზე გამოქვეყნება საჭიროებს რაღაც ლიმიტირებული რაოდენობით ბეჭვდვას ესეიგი გვერდებად დაყოფას, მაშინ ეს სკრიპტი იდეალურია 😉

ქვემოთა სკრიპტში დაწერილია მინიმალურ ანუ მხოლოდ ნავიგაციის სრული მუშა კოდთა კომბინაციები, რომელთა ვიზუალურ-დიზაინრული მხარე თქვენს ფანტაზიაზეა დამოკიდებული.

აგერ სკრიპტიც სადაც ერთ გვერდზე სამი მონაცემი უნდა დაბეჭდოს ანუ $pageLimit = 3; და სამს იქით გადაიტანს შემდგომ გვერდზე:

<?php
// აუცილებელია MySql კავშირი! http://gigol.net/759
 
// პარამეტრები
$mySqlTable = "cxrili";
$pageLimit = 3;
 
// MySql ცხრილის მონიშვნა
$mySqlRequest = "SELECT * from ".$mySqlTable;
$mySqlQuery = mysql_query($mySqlRequest);
 
// გვერდები
$page = isset($_GET['page']) ? $_GET['page'] : '';
if(!isset($new))
{
 $new = 0;
}
$new = $page * $pageLimit;
 
// MySql კოლონების დათვლა
$totalNb = mysql_num_rows($mySqlQuery);
 
// გვერდების ლიმიტირებული ჩვენება
if($page > 0)
{
 $prevPage = $page - 1;
 echo "<a href=\"".$_SERVER['PHP_SELF']."?page=".$prevPage."\"><<უკან</a>";
}
 
$i = 0;
$n = 1;
 
if($totalNb > $pageLimit)
{
 while($i < ($totalNb/$pageLimit))
 {
  if($i != $page)
  {
   echo "<a href=\"".$_SERVER['PHP_SELF']."?page=".$i."\">".$n."</a> ";
  }
  else
  {
   echo "<b>".$n."</b>";
  }
  $i++;
  $n++;
 }
}
 
if($new+$pageLimit < $totalNb)
{
 $nextPage = $page + 1;
 echo "<a href=\"".$_SERVER['PHP_SELF']."?page=".$nextPage."\">წინ>></a>";
}
 
// MySql რეზულტატების ლიმიტირებული ჩვენება
echo "<hr />";
 
$pageLimitStr = "LIMIT ".$page * $pageLimit.",".$pageLimit;
 
$printResult = mysql_query("SELECT * FROM ".$mySqlTable." ORDER BY ID ASC ".$pageLimitStr);
while($row = mysql_fetch_array($printResult))
{
 // სასურველი მონაცემების გამოქვეყნება
 echo $row['saxeli']." - ".$row['gvari']."<br />";
}
 
?>

იმედია გამოდგება და გასაგები იქნება ყველასათვის 😉

© აქ გამოქვეყნებული ნებისმიერი რესურსის გამოყენება, დასაშვებია მხოლოდ მისივე გვერდის ბმულის წყაროდ მითითებით!

2 კომენტარი ამ პოსტზე↓

ჩანიშნე ქვედა კომენტარების RSS 2.0 წყარო.
  1. masterx ამბობს:
    12 სექტემბერი, 2012წ. 09:24სთ.

    მაგარია, მშვენივრად მუშაობს…. გუშინ ავამუშავე ჩემიც, მაგრამ ეს კოდი უფრო კარგია… :)…

    კარგია თუ ცუდი: Thumb up 0 Thumb down 0

  2. Shalva ამბობს:
    9 იანვარი, 2013წ. 17:15სთ.

    მოგესალმებით 🙂 გილოცავთ ყველას ახალ 2013 წელს და აგრეთვე ბედობასაც და შობასაც 😉 თქვენი დახმარება მჭირდება მეც თქვენნაირად ვაწყობ საიტებს და კარგი იქნება თუ პატარა რაღაცეებით დამეხმარებით ცოტა ხანია რაც php – სწავლა დავიწყე და მინდა აი ამ php pagination – ის გაკეთება მაქვს საიტი აწყობილი php და html – ში და მინდა ესე ამ ფუნქციის დახმარებით გავაკეთო გვერდები რა და დამეხმარეთ რაა 🙂 როგორმე ამამუშავებინეთ მადლობა წინასწარ :* 😀

    კარგია თუ ცუდი: Thumb up 0 Thumb down 0

დატოვე კომენტარი↓

*გთხოვთ წეროთ ქართული ასოებით

 

 

XHTML: დამხმარე კოდები: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

5 votes, average: 3.40 out of 55 votes, average: 3.40 out of 55 votes, average: 3.40 out of 55 votes, average: 3.40 out of 55 votes, average: 3.40 out of 5

› §30 ამბავი ავთანდილისა არაბეთს შექცევისა

672
იგი მუნით წარმოსრული სევდამანცა განა მოკლა!
პირსა იხოკს, ვარდსა აზრობს, ხელი მისი გაამხოკლა;
სისხლსა, მისგან დადენილსა, მხეცი ყოვლი გაამლოკლა;
მისმან ფიცხლა სიარულმან შარა გრძელი შეამოკლა.
673
მუნ მივიდა, სადა-იგი მისნი სპანი დაეყარნეს.
ნახეს, იცნეს; რაგვარაცა ჰმართებს, › › ›

DU