הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 29-05-12, 22:00   # 1
Ori The Man
משתמש - היכל התהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: חיפה
גיל: 34
הודעות: 3,694
שלח הודעה באמצעות MSN אל Ori The Man Send a message via Skype™ to Ori The Man

Ori The Man לא מחובר  

החזרת מערך (array) מפונקציה במחלקה

אני מכין פונקציה בתוך מחלקה שאמורה להחזיר לי מערך
במקום זה היא מחזירה לי רק מערך 1 (במקום 1 לכל שורה)
חיפשתי באינטרנט לא מצאתי את התשובה :S
מה עשיתי לא נכון

PHP קוד:
class DB
    
{
    
    function 
get_all_assoc($query) {
    
$query2 mysql_query($query);
    while(
$r[]=mysql_fetch_assoc($query2))
        {
    return 
$r;
        }
    
    }
    
    } 
//End Of Class 
  Reply With Quote
ישן 29-05-12, 22:08   # 2
בניה
משתמש - היכל התהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: נחושה
הודעות: 3,434

בניה לא מחובר  

RETURN עוצרת את הריצה של הפוקציה.
כדי שמה שאתה רוצה לעשות יעבוד אתה צריך לאסוף את הנתונים בתוך הלולאה, ואחריה לעשות את הRETURN.
אבל בכל מקרה, פשוט תשתמש בPDO ו fetchAll...
הרחבת MYSQL מתה מזמן...
http://il.php.net/manual/en/pdostatement.fetchall.php
  Reply With Quote
ישן 30-05-12, 11:13   # 3
איציק ברבי
עסק רשום [?]
 
מיני פרופיל
תאריך הצטרפות: Feb 2011
הודעות: 970

איציק ברבי לא מחובר  

class DB
{

function get_all_assoc($query) {
$query2 = mysql_query($query);
while($r[]=mysql_fetch_assoc($query2))
{
$r .= $r;
}
return $r;

}
__________________

איציק ברבי - שירות לקוחות
כתובת אתר: http://build-net.co.il/
איימל: Support@build-net.co.il
טלפון: 052-3937296.
  Reply With Quote
ישן 30-05-12, 13:12   # 4
בניה
משתמש - היכל התהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: נחושה
הודעות: 3,434

בניה לא מחובר  

הקוד הזה יעבוד:
PHP קוד:
class DB {
    public function 
get_all_assoc($query) {
        
$res mysql_query($query);
        
$records = array();
        while(
$record mysql_fetch_assoc($res)) {
            
$records[] = $record;
        }
        return 
$records;
    }

אבל שוב, חבל להתחיל לכתוב מחלקות DB ולעבוד עם קוד MYSQL של לפני 10 שנים
  Reply With Quote
ישן 30-05-12, 22:47   # 5
Ori The Man
משתמש - היכל התהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: חיפה
גיל: 34
הודעות: 3,694
שלח הודעה באמצעות MSN אל Ori The Man Send a message via Skype™ to Ori The Man

Ori The Man לא מחובר  

תודה לשניכם!

בניה אני יבדוק את ענין ה PDO איך עובדים איתו והכל..
כמעט 3 שנים לא נגעתי ב PHP

נחסוך דאבל פוסט:
תכלס עדיף להגיד פונקציה סטאטית אם משתמשים בה הרבה ואין לה איזה הגדרות שצריך לתת לה (לדוגמה ה DB רק הכנסת QUERY)

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

אני צודק?
  Reply With Quote
ישן 31-05-12, 09:03   # 6
בניה
משתמש - היכל התהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: נחושה
הודעות: 3,434

בניה לא מחובר  

ציטוט:
נכתב במקור על ידי Ori The Man צפה בהודעה
תודה לשניכם!

בניה אני יבדוק את ענין ה PDO איך עובדים איתו והכל..
כמעט 3 שנים לא נגעתי ב PHP

נחסוך דאבל פוסט:
תכלס עדיף להגיד פונקציה סטאטית אם משתמשים בה הרבה ואין לה איזה הגדרות שצריך לתת לה (לדוגמה ה DB רק הכנסת QUERY)

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

אני צודק?
שימוש בפונקציה לדברים כאלה זה מאוד בעייתי מבחינת DESIGN של הקוד.
  Reply With Quote
ישן 04-06-12, 20:23   # 7
AlmogBaku
חבר וותיק
 
AlmogBaku's Avatar
 
מיני פרופיל
תאריך הצטרפות: Nov 2007
מיקום: מודיעין
הודעות: 1,022

AlmogBaku לא מחובר  

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

רק רציתי להגיב כדי לחדד את העניין עם שימוש בPDO או לחילופין mysqli.

אם אתה ממש מעוניין ללכת על שיטה פורצת דרך ולעבוד עם מחלקות אני ממליץ לך לעבוד עם activerecord זה כלי ממש מגניב! תגגל קצת ותמצא שהארכיטקטורה הזו מייושמת בכמה פרימוורקים מוכרים או בספרייה בשם php.activerecord(יש לי ניסיון איתה, ספריה מעולה!)
~ אלמוג
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


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

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