יך עושים דבר כזה

gunfor

New member
יך עושים דבר כזה

איך עושים שנגיד יש לך נגיד פה בפורום 50 הודאות ושאתה נגיד רוצה שכול עמוד יראה רק 5 וכאילו זה יהיה 1 2 3 4 .. 12 וכך הלאה האם אפשר עזרה בבקשה ואם אפשר גם דוגמה תודה
 

shanor

New member
מממ...

אני מניח שאתה מתכוון ל"כיצד גורמים למאגר נתונים (MYSQL) להציג בכל פעם מספר מוגבל של תוצאות... מה שצריך לעשות הוא להשתמתש באפשרות ה-LIMIT בתוך שאילתת ה- SELECT שלך. ה-LIMIT, כאשר יהיה בה רק עוד נתון אחד כדוגמת LIMIT 2, תביא להצגת שתי שורות מתוך כל השורות שעונות על השאילתה. השילוב של שני נתונים ב- LIMIT תביא לך שאפשר יהיה לקבל טווח של שורות שעונות על השאילתה. למשל LIMIT 2, 4 תביא להצגת השורות 3 עד 7 מתוך השורות שעונות על השאילתה (בהנחה ואלו קיימות). כאשר אתה רוצה להשתמש בזה להצגת מספרי דפים שכל אחד מהם מציג X שורות, אפשר להשתמש בחישוב מתמטי פשוט המדבר על כמה דפים אני צריך בכלל: נניח שמדובר על 50 הודעות כאשר 5 הודעות מוצגות בכל דף. משמע 50/5 יתן תוצאה של 10 עמודים. עכשיו נניח שאתה רוצה בתוך מספור העמודים שלך, שיוצגו רק 5 עמודים כל פעם (1,2,3,8,10), שוב גם כאן חישוב פשוט, של קח את שלושת העמודים הראשונים שיש לך כרגע (במקרה זה 1,2,3), קח את מספר העמוד האחרון שיש לך (10), תוריד ממנו אחוז מסויים (למשל 20 אחוז) - (מה שיתן את התוצאה של 8 במקרה הזה, אבל בדרך כלל פשוט תשתמש בעיגול התוצאה) ותציג את זה יחד עם המספר האחרון (קיבלנו: 1,2,3,8,10). כאשר המשתמש שלך לוחץ על 2, תציג את אותו הדבר בדיוק, שלושת המספרים הנוכחיים (2,3,4), העמוד האחרון פחות 20% מערכו נותן 8, והעמוד האחרון. לאורך כל הפונקציה אתה צריך לבדוק האם כמות המספרים שנשארו לך להציג היא גדולה יותר מ-5, (אם היא קטנה יותר או שווה ל-5 אז אתה צריך פשוט להציג את המספרים שנשארו בלי החישובים). זהו בגדול. מקווה שזה נותן משהו להתחיל ממנו. בברכת הצלחה, שנאור.
 

N i X

New member
הנה קטע מסקריפט שעשיתי...

את הקטע הזה הדבקתי כבר כמה פעמים בפורום, אבל כניראה לא ראית...
/* Settings */ $news_per_page = 7; function print_news($sql_data, $database, $news_count, $page, $link) { global $news_per_page, $time_offset; while (list($headline, $item, $user, $TS) = mysql_fetch_row($sql_data)) { $date = gmdate("l F, d", $TS + $time_offset); $time = gmdate("H:i:s", $TS + $time_offset); $get_email = mysql_query("SELECT * FROM `newsflash_users` WHERE login='$user'", $database); list( , , $user_mail, ) = mysql_fetch_row($get_email); print("<div class=\"content\"><p dir=\"rtl\"><b>$headline</b> - <a href=\"mailto:$user_mail\">$user</a></a> :: $date $time \n</p>"); print("<p dir=rtl>$item</p>\n"); print("<a href=\"?action=all_msg&all_msg_user=$user\">כל הידיעות של המשתמש הזה</a> :: <a href=\"?action=view_info&view_user=$user\">ראה פרטי משתמש</a></div>\n"); } print("<center><p dir=rtl>עמודים: "); for ($i=1; $i <= ceil($news_count / $news_per_page); $i++) { if ($i != $page) { print("<a href=\"?page=$i&$link\">$i</a> "); } else { print("$i ");} } print("<br>\n"); print("סה\"כ ידיעות: $news_count<br></p></center>\n"); } if (!isset($page)) { $page = 1; } $showed_msges = ($page - 1) * $news_per_page; $news_count = mysql_num_rows ( mysql_query("SELECT * FROM `newsflash` WHERE user='$all_msg_user' ORDER BY `timestamp`", $dbi) ); $result = mysql_query("SELECT * FROM `newsflash` WHERE user='$all_msg_user' ORDER BY `timestamp` DESC LIMIT $showed_msges, $news_per_page", $dbi); $link = "action=all_msg&all_msg_user=" . $all_msg_user; print_news($result, $dbi, $news_count, $page, $link);​
 

bnayal

New member
תעשה חיפוש בפורום

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