השמעת רצף תוצאות מתוך database באמצעות API
-
האם זה אפשרי באמצעות שלוחת API להשמיע רצף של הודעות (לפי תוצאות שנשלפו מתוך דטאבייס),
ולאפשר למשתמש לנווט בין ההודעות?
כמו שיש בקווים שונים, (כמו למשל 0775524509, או 0795682211) -
פוסט זה נמחק! -
@ביבי-נתניהו
אפשרי בהחלט
אם תכתוב דוגמא מה אתה רוצה שישמעו ויכלו להקיש באמצע
נוכל גם לכתוב קצת קוד איך עושים את זה -
@לעזור-לכולם
האמת שאני גם אשמח אז אני אכתוב מה אני צריך
יש לי קוד שמקבל רשימה של שורות שמתאימות להכניס ב id_list_message
דוגמא של תשובה מהדטאבייסf-/Messages/f-/Messages/Donor_name.t-יענקי.f-/Messages/title_reminder.f-/Messages/reminder.f-חשמל f-/Messages/f-/Messages/Donor_name.t-חיים.f-/Messages/title_reminder.f-/Messages/reminder.f-מים f-/Messages/f-/Messages/Donor_name.t-אליהו.f-/Messages/title_reminder.f-/Messages/reminder.f-גז f-/Messages/f-/Messages/Donor_name.t-שמואל.f-/Messages/title_reminder.f-/Messages/reminder.f-ארנונה
אני רוצה שהמשתמש יקבל בפעם הראשונה רק את השורה הראשונה ואם הקיש 1 תוך כדי ישמע את השורה השניה וכו
-
@לעזור-לכולם
נגיד שנתתי למאזין לחפש (באמצעות מודול API), למשל: לבני ברק הקש 1, לאשדוד הקש 2, לנתניה הקש 3
לאחר שהמאזין הקיש 1, הדטאבייס מחזיר לי למשל 10 תוצאות של טקסטכמה שידוע לי, אני יכול באמצעות id_list_message אני יכול להשמיע לו תוצאה אחת
השאלה, איך אני נותן לו להקיש משהו, ואז משמיע לו את התוצאה הבאה -
@חויוה-טלפונית @ביבי-נתניהו
מה שאתם צריכים זה להשתמש בread כדי לקבל הקשות
ואז לעשות לולאה ששומרת את המיקום שלו -
@לעזור-לכולם אמר:
ואז לעשות לולאה ששומרת את המיקום שלו
- איך עושים את זה?
- האם בכל קריאה, אצטרך להפעיל מחדש את השאילתה מול הדטאבייס?
- נדמה לי שבread אין אפשרות לעצור את ההקראה באמצע, כלומר, המאזין יצטרך להקשיב לכל הודעה עד הסוף כדי שיוכל לדפדף, ואז לא הרווחתי כלום, כי גם כך, אני יכול לשרשר את כל ההודעות להודעה אחת גדולה.
-
@ביבי-נתניהו אמר בהשמעת רצף תוצאות מתוך database באמצעות API:
@לעזור-לכולם אמר:
ואז לעשות לולאה ששומרת את המיקום שלו
- איך עושים את זה?
- האם בכל קריאה, אצטרך להפעיל מחדש את השאילתה מול הדטאבייס?
- נדמה לי שבread אין אפשרות לעצור את ההקראה באמצע, כלומר, המאזין יצטרך להקשיב לכל הודעה עד הסוף כדי שיוכל לדפדף, ואז לא הרווחתי כלום, כי גם כך, אני יכול לשרשר את כל ההודעות להודעה אחת גדולה.
1&2. אתה יכול לשמור את התוצאה של השאילתה בקובץ זמני, במקביל תשמור בקובץ נוסף את האינדיקס של התוצאה
3. בread אפשר להקיש תוך כדי ותגדיר לדוג' שעם הקיש 1 יעבור לתוצאה הבאה, ו2 לשמיעה חוזרת ו3 לקודמת, ותגדיר שעם לא הקיש שום מקש לאחר שניה מסיום השאלה ישלח הערך כאילו הקיש 1 לתוצאה הבאה (יש להגדיר גם שיחזור על השאלה פעם אחת בלבד, מומלץ)בהצלחה
-
@ערוץ-הסקרים אתה מלך
, השאלה רק איך מבצעים את הרעיון הזה, זה קצת יותר מסובך ממה שאני יודע -
@חויוה-טלפונית
לגבי 1 ושתיים אתה לא צריך קובץ זמני
תעשה שאילתה שמוציאה לך את כל התוצאות ואז יש לך הכל במערך
ופשוט תדפדף במערכ לפי המיקום שהוא נמצא -
@חויוה-טלפונית אמר בהשמעת רצף תוצאות מתוך database באמצעות API:
@ערוץ-הסקרים אתה מלך
, השאלה רק איך מבצעים את הרעיון הזה, זה קצת יותר מסובך ממה שאני יודעזה יותר פשוט ממה שאתה חושב, אתה רק צריך ידע בסיסי ב-SQL.
א. צור טבלת משתמשים עם העמודות: מספר טלפון, שורה
ב. צור 2 שלוחות:- קבלת מידע מתחילת הרשימה
- קבלת המשך המידע
כאשר המשתמש נכנס לשלוחה 1 -
א. אתה נותן לו את התוצאה הראשונה
ב. אתה בודק האם מספר הטלפון שלו רשום בטבלת המשתמשים (שאילתת SELECT)- אם כן - אתה מעדכן את הערך בשדה 'שורה' למספר 2
- אם לא - אתה מוסיף שורה חדשה לטבלת המשתמשים, טלפון = הטלפון של המשתמש, שורה = 2
ג. בהקשה על המקש במעביר להודעה הבאה אתה מעביר את המשתמש לשלוחה השנייה של 'שמיעת המשך הרשימה'
ד. בכניסה לשלוחת ההמשך -- אתה בודק בטבלת המשתמשים אם מספר הטלפון של המשתמש מופיע (SELECT)
- אם הוא לא מופיע - מסתבר שהיתה תקלה ומספר הטלפון שלו לא נשמר - תשמיע הודעת שגיאה ותוציא מהשלוחה
- אם הוא כן מופיע בטבלה - קח את הערך הצמוד מהשדה 'שורה' והנה לך האינדקס לשאילתת שליפת המידע (
LIMIT $X, 1
) - עדכן את הערך בטבלת המשתמשים בשורה השייכת למספר הטלפון של המשתמש ( WHERE ), הערך החדש יהיה חישוב של הערך הקודם + 1
וכן הלאה על זה הדרך, בהצלחה!
-
@שואל-ברצינות
רעיון גאוני!
אגב, באותו דרך אפשר גם להפנות לתוצאה קודמת.עדיין נשארו לי כמה חורים:
- איך אני מחזיר תשובה, עם read או id_list_message
- איפה בדיוק אני מגדיר את המקש למעבר לתוצאה הבאה או הקודמת
-
- עם read
- עם read
-
-
@ביבי-נתניהו
תסתכל בתיעוד
הרעיון בגדול שזה שילוב של id_list_message עם אפשרות הקשה
וכן זה נשלח מהשרת -
@שמחה-זו-הסיסמא , @ערוץ-הסקרים , @לעזור-לכולם , @שואל-ברצינות
חשבתי על רעיון נוסף שאולי יהיה פחות מסורבל:
לאחר ביצוע השאילתה, נוצרת שלוחה זמנית כשם מספר המאזין, והעלאה של קבצי tts בזה אחר זה בהתאם לכמות התוצאות
ואז המאזין מופנה לשלוחה, ומדפדף בין ההודעות באופן טבעי בלי יותר מדי קומבינות, כמו שלוחת השמעה רגילה
ברגע שהמאזין יוצא, השלוחה נמחקת -
@ביבי-נתניהו אמר בהשמעת רצף תוצאות מתוך database באמצעות API:
בלי יותר מדי קומבינות
אני חושב שזה הרבה יותר קומבינות ממה שהציעו לך למעלה
-
@ביבי-נתניהו אמר בהשמעת רצף תוצאות מתוך database באמצעות API:
חשבתי על רעיון נוסף שאולי יהיה פחות מסורבל:
זה רעיון יפה במקרה וזה רק שמיעת פרטים [כגון פרטי איש קשר וטלפון וכתובת וכד']
אך במקרה ותרצה לעשות פעולות על התוצאה [כגון שמירת התוצאה לפעם אחרת, התקשרות לבן אדם, וכד']
לא יעזרו לך קבצי txt