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

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

   
|!|

 
 
כלים לאשכול תצורת הצגה
Prev הודעה קודמת   הודעה הבאה Next
ישן 23-01-07, 13:36   # 1
CodeX
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2006
הודעות: 172

CodeX לא מחובר  

[מדריך] PHP - לולאות

לולאות

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

אז מה זה בעצם לולאה?
לולאה, זה קודם המתבצע כמה פעמים, לפי קביעה מסוימת שלנו, או לפי תנאי.

לשם מה צריך לולאות?
אוקיי, הרבה פונים אלי באייסי שלא יודעים איך לעשות נתונים בשליפה אחת מהמסד, במקום לשלוף מהמסד נתונים אחדים אחדים,
עושים לולאה אחת, וזה מבצע כבר את כל הפעולה!
כן מה ששמעתם!

אם יש לכם 100 רשומות במסד? תשלפו הכל אחד אחד?
עושים לולאה של 3 שורות, ויש לכם שליפה של כל 100 הרשומות!
אז נתחיל?

איזה סוגי לולאות קיימות?
בPHP, קיימות 4 סוגי לולאות, for, while, do while, foreach.
כולם עושים את אותה הפעולה, אך בדרכים שונות.

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

הלולאה נראת ונכתבת כך:
קוד:
for(מקדם;תנאי;משתנה)
{
הדפסה
}
נגיד ואנו רוצים לעשות לולאה שתספור עד, בוא נגיד אממ.. 79,
נעשה זאת הקביעה של המשתנה (מאיזה מספר להתחיל את הספירה), התנאי (האם 1 יותר גדול / שווה ל79), והמקדם (ימשיך את הלולאה),
לאחר מכן עושים הדפסה והופ, יש לנו ספירה מדהימה!
להלן הדוגמא:
קוד:
for($num=1;$num<=79;$num++)
{
echo "$num,";
}
הלולאה תדפיס לנו את כל המספרים מ-1 ועד 79.

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


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

הלולאה נכתבת כך:
קוד:
$num = 1;
while($num <= 210)
{
echo "$num,";
$num++;
}
מה הלולאה תעשה?
תדפיס את כל המספרים ללא יוצא מן הכלל, מ-1 ועד 210.


לולאת Do While
לולאת הDo While מאוד דומה ללולאת הWhile שלמדנו מקודם, רק שהיא שונה בדבר אחד,
הלולאה הזו, קודם מבצעת את הפעולה, ורק אז בודקת את התנאי.

הלולאה נכתבת כך:
קוד:
$num = 1;
do
{
echo "$num,";
}
while (++$num=<210)
נראה לי שתבינו שהלולאה תדפיס שוב, את כל המספרים מ-1 ועד 210.


לולאת Foreach
לולאת הForeach, דומה לחברותיה, אך היא בעצם יותר מיועדת למערכים.
הללואה בעצם עוברת על כל אברי המערך, ובעצם מדפיסה את כל אברי המערך.
היא נעצרת כאשר מגיעה לסוף המערך.
הקוד נכתב להלן:
קוד:
$names = array(); 
$names = "nitay";
$names = "dor";
$names = "idan";
foreach ($names as $while)
{
echo "$while,";
}
נראה לי שדי ברור מה שעשיתי, עשיתי מערך עם הערכים, nitay, dor, idan.
הלולאה תדפיס את כל הערכים של המערך $names.

ולמי ששואל, למה צריך as $while, זאת שאלה טובה,
PHP רוצה לא ליצור תסבוכות, ולכן הוא שומר את כל המערך, במשתנה חדש.
(זאת לפחות, הסיבה ההגיונית ביותר שחשבתי עליה).

ונגיד אנו רוצים לשלוף את כל הרשומות מהמסד, באיזה לולאה הכי טוב להשתמש?
ת'אמת כולם טובות, אבל הייתי ממליץ להשתמש בWhile.
הכי פשוט לעשות את זה דרכה.

דוגמא לשליפה עם While:
קוד:
$select = mysql_query("SELECT * FROM subject ORDER BY id"); 
while($row = mysql_fetch_array($select))
{
$id = $row['id'];
$subject = $row['subject'];
echo<<<END
<a href="index.php?p=$id">$subject</a>
END;
}
הלולאה תדפיס לנו את כל הרשומות שבמסד (לפי ההדפסה שלי).


תהינו מהמדריך הקיים, ואל תשכחו!
כל הזכויות שמורות 2007.
  Reply With Quote
 

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

Tags
מבוא, מדריך למתחילים, מדריך php


חוקי פירסום
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. הזמן כעת הוא 14:46.

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