עבור לתוכן

עזרה בחלוקת עמודים בשפת PHP.

Featured Replies

פורסם

שלום ,

אני בונה מערכת שבה אני מציג פרטים מתוך ה Mysql ואני רוצה לחלק את זה לעמודים שלא יציג לי הכל בדף אחד הבעיה היא שאני מציג את זה כרגע בצורה הזאת:

5 4 3 2 1

ואפשר לעבור לכל דף בלחיצה על העמוד הבעיה היא שאני רוצה שזה יציג לי את זה בצורה כזאת

http://up351.siz. co.il/up2/g3mcvjlwnqzd.jpg

תודה לעוזרים :)

פורסם

אתה צריך להשתמש ב mod_rewrite

פורסם
  • מחבר

אתה צריך להשתמש ב mod_rewrite

לא הצלחתי להבין מה זה?

פורסם

אנסה להסביר את הרעיון הכללי ואתן קוד לדוגמא.

בעיקרון קודם עלייך להחליט כמה כתבות תירצה שיופיעו בכול דף (מבוטא בשם $maxEntries).

אתה צריך לחלק את מספר הכתבות הכולל במאגר הנתונים מספר הכתבות

שמופיעות בכול דף וכך למצוא כמה קישורים לעמודים אתה רוצה להציג למשתמש.

לאחר מכן תריץ שאילתה שתעלה כול פעם כתבות בהתאם למספר העמוד ותשתמש ב-LIMIT $offset, $maxEntries

בשאילתה בכדי להעלות רק את הכתבות המתאימות לעמוד הנוכחי. המשתנה $offset הוא בעצם מכפלה של מספר העמוד הנוכחי

עם מספר הכתבות שאתה רוצה שיופיע בכול עמוד (ככה אתה בעצם מצביע על הכתבה שממנה אתה רוצה להתחיל את "שאיבת המידע").

הינה קוד דוגמא:

$currentPage = $_GET['page'];
if ($currentPage == 0) $currentPage = 1;

$maxEntries = 6;

$result = mysql_query("SELECT * FROM news");
$articlesCount = mysql_num_rows($result);

$numPages = ceil($articlesCount / $maxEntries);

$offset = ($currentPage - 1) * $maxEntries;

$result = mysql_query("SELECT id FROM news ORDER BY id DESC LIMIT $offset, $maxEntries");

while ($row = mysql_fetch_array($result))
{
echo AddArticleEntry($row['id']);
}

אם אתה עדיין לא מבין אשמח לעזור לך. קרא את הקוד ותיעזר בגוגל, אני בטוח שהוא דיי פשוט להבנה.

פורסם

אני חושב שהוא התכוון ל friendly urls,

הוא אמר שהוא הצליח לחלק את הדפים אך הוא רוצה שה URL יוצג כך: http://example.com/up2

פורסם
  • מחבר

תראה זה הקוד הנוכחי שכרגע יש לי זה לקוח מ webmaster .. אבל השיטה הזאת לא טובה בגלל שאני עושה אתר מסחרי אם כמות עצומה של database ושיטה כזו תציג לי פשוט מ 1 עד 100000 דפים ללקוח וזה לא נכון לא עושים ככה.. זה ממלא את הדף במספרים ואני צריך בידיוק כמו בתמונה שהצגתי ..


if ($_GET['page'] == NULL) $_GET['page'] = 1;
if ($perpage == NULL) $perpage = 30;

$result = mysql_query("SELECT * FROM Messages");
$nump = mysql_num_rows($result);

$nump = $nump / $perpage;
if (intval($nump) != $nump) $nump = intval($nump) + 1;

$lim1 = ($_GET['page'] - 1) * $perpage;
$result = mysql_query("SELECT * FROM Messages Order by id DESC LIMIT $lim1,$perpage");
while ($row = mysql_fetch_array($result)) {
/* הצגת הנתונים */
}

for($i = 1; $i<= $nump; $i++) {
if ($_GET['page'] != $i)
echo "<a href=\"$PHP_SELF?page=$i\">{$i}</a> ";
else
echo "<b>{$i}</b> ";
}

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים