28-01-2006, 19:35
|
|
|
חבר מתאריך: 10.10.04
הודעות: 224
|
|
זה לא כזה פשוט מכמה סיבות ... חשבתי על זה ויש לי כיוון חדש - מכירים דרך לאחוז בשורה?
זה לא כזה פשוט בעיקר כי אני משתמש באלגוריתם שמשנה את הסדר כל פעם בהתאם לדרוג של הקטעים שמוצגים
(כך שהתוצאות הפופולריות יותר יוצגו בהתחלה) ואז סדר ה ID משתנה.
חוץ מזה, לפעמים מגיעים לקטע שלא מתוך הרשימה אלא מהמייל - מתוך רשימת תפוצה
בעצם מה שאני מחפש זה לעבור לשורה הבאה/הקודמת של הטבלה החדשה שנוצרה מהשאילתא הנוכחית (ראה RESULT בדוגמא).
חשבתי על שתי אפשרויות לפתרון שאני מתקשה לממש ואשמח אם תעזרו לי בזה -
1. האפשרות הטובה ביותר -
לעשות שאילתא נוספת מדוייקת (ולכן פחות כבדה) על מנת לאחוז בשורה של הID הנוכחי
ואז לקחת את ה ID מהשורה הקודמת בטבלה או מהשורה הבאה.
בעצם באפשרות הזו אני מנסה לעשות לטבלה מה שstrpos() עושה למחרוזת.
כך אוכל לאחוז ב POS-1 וב POS+1
כלומר - למשל משהו כזה -
קוד PHP:
$result = mysql_query(" SELECT id FROM myTable WHERE id='$id' ORDER BY `popularity`;") or die ("problem with select id..."); $idPos = Find_The_Row_Where_ID($result, $id); $id=mysql_result ($result, $idPos , "id"); $Prev_id=mysql_result ($result, $idPos-1 , "id"); $Next_id=mysql_result ($result, $idPos+1 , "id");
2. האפשרות הפחות טובה (מסורבלת וכבדה) -
להריץ FOR על הטבלה החדשה שנוצרת ולהכניס את סדר הברכות למערך.
עם המערך אפשר לנדוד לשאר הברכות וכך לדעת לאן להצביע. (אבל אז יש לי בעייה איך להעביר את המערך, וגם בעייה לעשות אותו כל פעם מחדש ...)
מקווה שזה ברור...
שוב תודה!
נערך לאחרונה ע"י shuraki בתאריך 28-01-2006 בשעה 19:40.
|