ABA


"שאלת mysql - להחזיר תוצאות לפי פונקציה"
גירסת הדפסה        
קבוצות דיון בניית אתרים נושא #14170 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 14170
djME

דרג אמינות חבר זה
   16:20   11.07.08   
אל הפורום  
  שאלת mysql - להחזיר תוצאות לפי פונקציה  
 
   ערכתי לאחרונה בתאריך 11.07.08 בשעה 16:20 בברכה, djME
 
אשמח לעצה

האם ניתן ב round אחד ל database לקבל תוצאות שתחזיר פונקציה ב PHP
עכשיו הסבר:

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

תודה רבה


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  השאלה מה הפונקציה עושה? יש פונק' מובנות בmysql כך שזה תלוי CaTz 12.07.08 15:44 1
  .. little O man 12.07.08 16:51 2
     :S הקוד האחרון לא יעבוד:| akoka 12.07.08 16:56 3
         .. little O man 12.07.08 17:01 4
     ניראה לי שלא הסברתי כמו שצריך djME 12.07.08 18:27 5
         ..; little O man 12.07.08 18:40 6
         אתה יכול להשתמש בטבלה זמנית או בשמה הלועזי akoka 12.07.08 18:42 7

       
CaTz
חבר מתאריך 2.10.04
14537 הודעות, דרג אמינות חבר זה
   15:44   12.07.08   
אל הפורום  
  1. השאלה מה הפונקציה עושה? יש פונק' מובנות בmysql כך שזה תלוי  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
little O man
חבר מתאריך 27.5.02
1109 הודעות, דרג אמינות חבר זה
   16:51   12.07.08   
אל הפורום  
  2. ..  
בתגובה להודעה מספר 0
 
   ברור שאתה יכול...
אם אני זוכר מהאשכול הקודם שלך, אז יש לך זמן פתיחה וזמן סגירה..
אז אתה פשוט עושה משהו בסגנון של זה:

SELECT * FROM `table` IF ((starttime < ".$time.") AND (endtime > ".$time."))

http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html
אתה פשוט אומר לשאילתא, להחזיר ערך במידה והמסעדה פתוחה..
יותר מזה, אתה יכול גם להשתמש בWHERE
ולמנוע כניסה לביצוע, במידה והשאילתא לא מחזיר ערך.


if ($rest = mysql_fetch_array(mysql_qurey("SELECT * FROM `table` WHERE id='".$x."' AND (starttime < ".$time.") AND (endtime > ".$time.")")))
{
CODE HERE
}

ואז אתה עושה , במידה והביצוע של השאילתא, מחזיר ערך, אז...

בהצלחה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka

דרג אמינות חבר זה
   16:56   12.07.08   
אל הפורום  
  3. :S הקוד האחרון לא יעבוד:|  
בתגובה להודעה מספר 2
 
   mysql_fetch_array מחזיר מערך ,אתה צריך להכניס אותו למשתנה ולפנות לערך ספציפי להשוואה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
little O man
חבר מתאריך 27.5.02
1109 הודעות, דרג אמינות חבר זה
   17:01   12.07.08   
אל הפורום  
  4. ..  
בתגובה להודעה מספר 3
 
   ערכתי לאחרונה בתאריך 12.07.08 בשעה 17:02 בברכה, little O man
 
הוא יעבוד כמו גדול..
כי גם אם הוא מחזיר מערך, אתה עדיין בקריאה לשאילתא, אתה בודק ערך באותה שורה..
לדוגמא
הID שהוא 7, יש לו זמן התחלה 7 בבוקר וסיום ב5 בערב.
אם אני קורא לשאילתא, ואומר לו תבדוק איפה שה ID שווה ל7, אם השעה הנוכחית שלו היא אחרי 7 בבבוקר, ולפני 5 בערב, אז הוא יחזיר את המערך הרצוי, אם זה שונה, הוא יחזיר NULL וזה לא יכנס לקוד.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
djME

דרג אמינות חבר זה
   18:27   12.07.08   
אל הפורום  
  5. ניראה לי שלא הסברתי כמו שצריך  
בתגובה להודעה מספר 2
 
   יש לי פונקציה שמקבל ID ומחזירה לי 1 אם המסעדה פתוחה ו-0 אם לא

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

עכשיו המטרה היא בפנייה אחת לדאטא בייס כבר לקבל את התוצאות
אבל הדאטא בייס לא יודע מי מהמסעדות פתוחות או לא עד שלא נשתמש בפונקציה שעושה זאת ובודרת

ועכשיו השאלה האם יש איזה שיטה כדיי שבשאילתא עצמה אני כבר יקרא לפונקציה ויעשה משהו כמו look up table מסודר מסעדות פתוחות וסגורות (מן טבלה זמנית שכזאת כמו שעושים ב sql server

תודה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
little O man
חבר מתאריך 27.5.02
1109 הודעות, דרג אמינות חבר זה
   18:40   12.07.08   
אל הפורום  
  6. ..;  
בתגובה להודעה מספר 5
 
   נראה לי שאפשר לעשות את זה בצורה הזו:
לסדר את הDB לפי שעת סגירת המסעדה..
ואז המסעדה שנסגרת הכי מאוחר, תהיה ראשונה..
ובפלט לבדוק את השעה (אם פתוח או סגור)..
בכל מקרה, זה יתן לך תוצאה של המסעדה שנסגרת הכי מאוחר, עד המסעדה שנסגרת הכי מוקדם, ותוכל לעשות בדיקה, אם המסעדה סגורה לשנות צבע רקע או משהו.

בכל מקרה, אם המסעדה שנסגרת הכי מאוחר, סגורה, אז כל השאר סגורות בכל מקרה..


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka

דרג אמינות חבר זה
   18:42   12.07.08   
אל הפורום  
  7. אתה יכול להשתמש בטבלה זמנית או בשמה הלועזי  
בתגובה להודעה מספר 5
 
   TEMP TABLE אני בטוח שתמצא על זה הרבה מאוד מידע בmysql.com זה בדיוק מה שאתה מחפש.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net