הרשם שאלות ותשובות רשימת חברים לוח שנה חיפוש הודעות מהיום סמן פורומים כנקראו

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 06-05-09, 12:48   # 1
Shillo
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Jun 2007
הודעות: 509

Shillo לא מחובר  

בעיה עם מחלקה בPHP

יש לי מחלקה שמנהלת מסד נתונים, עכשיו יש פעולה פנימית כזו:
קוד:
public function select($table, $rows = '*', $where = null, $order = null)
    {
        $q = 'SELECT '.$rows.' FROM '.$table;
        if($where != null)
            $q .= ' WHERE '.$where;
        if($order != null)
            $q .= ' ORDER BY '.$order;

        $query = @mysql_query($q);
        if($query)
        {
            $this->numResults = mysql_num_rows($query);
            for($i = 0; $i < $this->numResults; $i++)
            {
                $r = mysql_fetch_array($query);
                $key = array_keys($r);
                for($x = 0; $x < count($key); $x++)
                {
                    // Sanitizes keys so only alphavalues are allowed
                    if(!is_int($key[$x]))
                    {
                        if(mysql_num_rows($query) > 1)
                            $this->result[$i][$key[$x]] = $r[$key[$x]];
                        else if(mysql_num_rows($query) < 1)
                            $this->result = null;
                        else
                            $this->result[$key[$x]] = $r[$key[$x]];
                    }
                }
            }
            return true;
        }
        else
        {
            return false;
        }
    }

ואז קראתי למחלקה בדף אחר, ואם אני כותב:
קוד:
$res = $msgs->getResult();
print_r ($res);

וזה מציג לי את התכנים של המערך.
אבל אם אני עושה echo $res הוא מדפיס "Array".
מה שאני רוצה בעצם זה ש echo $res ידפיס את כל התכנים של המערך.
  Reply With Quote
ישן 06-05-09, 13:29   # 2
vadimg88
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Feb 2008
גיל: 37
הודעות: 710

vadimg88 לא מחובר  

אתה לא יכול להדפיס תוכן של מערך בעזרת ECHO או PRINT. מערך מכיל מספר אלמנטים. תבצע לולאה שבכל שלב בלולאה תדפיס את התוכן של האלמנט הנוכחי.
  Reply With Quote
ישן 06-05-09, 13:52   # 3
Shillo
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Jun 2007
הודעות: 509

Shillo לא מחובר  

ציטוט:
נכתב במקור על ידי vadimg88 צפה בהודעה
אתה לא יכול להדפיס תוכן של מערך בעזרת ECHO או PRINT. מערך מכיל מספר אלמנטים. תבצע לולאה שבכל שלב בלולאה תדפיס את התוכן של האלמנט הנוכחי.
ניסיתי עם לולאת foreach
קוד:
foreach($res as $value)
{
	echo $value;
}
ניסיתי עם for משום מה לא עובד, זה מציג עכשיו פעמיים Array (כנראה מהסיבה שיש רק שני ערכים בטבלה שבמסד):
ArrayArray

אני פשוט רגיל לC#, וכן אני יודע שהתחביר דומה בסה"כ, אבל יש הבדלים וכל מיני פונקציות שאני עדיין לא רגיל אליהם, ככה שאם יש לך הצעה תודה.

עריכה:
אם זה עוזר, הנה הדף המלא:
קוד:
<?php
/* Adding Messages */
$msgs = new Messages();
$msgs->connect();
$msgs->select('messages','*');
//$msgs->insert('messages',array(0,1,0,"","Shmuel","Today","","Shillo","sshilo@gmail.com"));

$res = $msgs->getResult();
//print_r ($res);
foreach($res as $key=>$value)
{
	echo $value . $key;
}
?>
יצרתי עוד מחלקה Messages שפשוט יורשת מDatabase (המחלקה שמנהלת את המסד) ככה שזה לא משנה.

Last edited by Shillo; 06-05-09 at 13:58..
  Reply With Quote
ישן 06-05-09, 14:10   # 4
vadimg88
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Feb 2008
גיל: 37
הודעות: 710

vadimg88 לא מחובר  

print_r ($res);

מה זה מחזיר?
  Reply With Quote
ישן 06-05-09, 14:13   # 5
Shillo
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Jun 2007
הודעות: 509

Shillo לא מחובר  

Array ( [0] => Array ( [msg_id] => 14 [isParent] => 1 [msg_level] => 0 [smiley_path] => [msg_content] => Shmuel [msg_pdate] => Today [attachment_path] => [author_name] => Shillo [author_email] => sshilo@gmail.com ) [1] => Array ( [msg_id] => 13 [isParent] => 1 [msg_level] => 0 [smiley_path] => [msg_content] => Hello [msg_pdate] => Today [attachment_path] => [author_name] => Shillo [author_email] => sshilo@gmail.com ) )
  Reply With Quote
ישן 06-05-09, 14:17   # 6
vadimg88
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Feb 2008
גיל: 37
הודעות: 710

vadimg88 לא מחובר  

אז הייתי מציע שתקרא אודות ARRAYS

PHP קוד:

<?php
/* Adding Messages */
$msgs = new Messages();
$msgs->connect();
$msgs->select('messages','*');
//$msgs->insert('messages',array(0,1,0,"","Shmuel","Today","","Shillo","sshilo@gmail.com"));

$res $msgs->getResult();
//print_r ($res);
foreach($res as $value)
{
    echo 
$value['author_email'];
}
?>
  Reply With Quote
ישן 06-05-09, 14:30   # 7
Shillo
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Jun 2007
הודעות: 509

Shillo לא מחובר  

ציטוט:
נכתב במקור על ידי vadimg88 צפה בהודעה
אז הייתי מציע שתקרא אודות ARRAYS

PHP קוד:

<?php
/* Adding Messages */
$msgs = new Messages();
$msgs->connect();
$msgs->select('messages','*');
//$msgs->insert('messages',array(0,1,0,"","Shmuel","Today","","Shillo","sshilo@gmail.com"));

$res $msgs->getResult();
//print_r ($res);
foreach($res as $value)
{
    echo 
$value['author_email'];
}
?>
תודה רבה.
  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. הזמן כעת הוא 21:56.

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