הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   "בעיה" עם הוצאת נתונים מבסיס נתונים (https://hosts.co.il/forums/showthread.php?t=29920)

mlnn 30-08-06 17:46

"בעיה" עם הוצאת נתונים מבסיס נתונים
 
היי כולם, יש לי פה "סקריפט" שמשום מה עובד, ואני לא מבין למה,
PHP קוד:

$result mysql_query("SELECT * FROM xxxx WHERE yyyy = '$y' ORDER BY id DESC LIMIT $l1,14"); 

אני משתמש בקוד הזה כאן:
http://www.nnnnn.ws/tv.php?k=1
[פרסומת סמויה]

ולמרבה הפתעתי, זה פועל!!!

אולי שכחתי איך הLIMIT פועל כי לא התעסקתי עם זה הרבה זמן, אבל ה14 נשאר תמיד 14, אז איך לעאזאל זה מציג לי את שאר הדפים??

:-/

RS324 30-08-06 17:51

אם הבנתי אותך נכון תעשה משהו בסגנון הזה :


PHP קוד:

$per_page 15;

$limitstart = ($_REQUEST['limitstart'] ? $_REQUEST['limitstart'] : 0);
$limitend = ($_REQUEST['limitend'] ? $_REQUEST['limitend'] : $limitstart +$per_page) ;

 
mysql_query("SELECT * FROM table ORDER BY tableid DESC LIMIT $limitstart,$limitend"); 

עכשיו קישור לעמוד הבא יהיה
limitend+perpage; וכך הלאה..

mlnn 30-08-06 17:55

תודה, אבל לא הבנת אותי נכון.
הכל פועל נהדר, אבל אני לא מבין למה זה פועל.
אולי זה יעזור:
PHP קוד:

$l1=14*$p-14

השאלה שלי, למה זה פועל?
זה נראה כאילו ה14 בLIMIT אומרים לסקריפט להוציא את ה14 הבאים.. אבל אם אני זוכר נכון הLIMIT מוציא נגיד של 14,15 אמור להוציא רק תוצאה אחת...

עריכונת:

בסופו של דבר, זה יוצא ככה:
עמוד1: 0,14
עמוד2: 14,14
עמוד 3: 28,14
אז איך זה עובד??

RS324 30-08-06 18:07

לפי השאילתה שלך $L1 מופיע רק ב LIMIT START

אבל מה עם הסיום ?
הסיום שלך הוא באופן קבוע 14
אתה צריך לעשות
PHP קוד:

$l2 $L1+14 

ואז להחליף בשאילתה את 14 ל $L2

mlnn 30-08-06 18:09

ציטוט:

נכתב במקור על ידי RS324
לפי השאילתה שלך $L1 מופיע רק ב LIMIT START

אבל מה עם הסיום ?
הסיום שלך הוא באופן קבוע 14
אתה צריך לעשות
PHP קוד:

$l2 $L1+14 

ואז להחליף בשאילתה את 14 ל $L2

אני יודע חח, אבל זהו, שאם אני עושה ככה, זה מציג לי את ה28 הבאים [בעמוד 2], ו42 הבאים [עמוד 3], ואם אני עושה כמו שעשיתי עכשיו, זה פועל =\ בגלל זה אני לא מבין איך זה פועל חח |:

RS324 30-08-06 18:10

יכול להיות בגלל שזה L1
אז הוא קורא את 1 כמספר...

רגע שאני יבין - כאילו עכשיו אין לך בעיה עם הקוד ?

תנסה להחליף את L1 ב LIMITSTART ותראה אם התוצאות עדיין זהות

עריכה
=====
יכול להיות שהוא לוקח את LIMIT START ומוסיף לו 14 לבד
ומציג את התוצאות
ככה שבעצם זה לא איפה לסיים....

mlnn 30-08-06 18:17

כן, עכשיו אין בעיה עם הקוד.
החלפתי בLIMITSTART, לא שינה כלום.
ולא הבנתי את העריכה, למה הוא בעצמו מוסיף?

עריכה:

אני משתמש בעוד מקומות ב$l1 ואין איתם בעיה..


כל הזמנים הם GMT +2. הזמן כעת הוא 08:42.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ