php / שיעור 2 / הישארו מיודעים

שיעור 2


הישארו מיודעים


הביטו בסקריפט הבא.

<html>

<body>

<?php

$db = mysql_connect("localhost", "root");

mysql_select_db("mydb",$db);

$result = mysql_query("SELECT * FROM employees",$db);

if ($myrow = mysql_fetch_array($result)) {

echo "<table border=1>\n";

echo "<tr><td>Name</td><td>Position</td></tr>\n";

do {

printf("<tr><td>%s %s</td><td>%s</tr>\n", $myrow["first"], $myrow["last"], $myrow["address"]);

} while ($myrow = mysql_fetch_array($result));

echo "</table>\n";

} else {

echo "Sorry, no records were found!";

}

?>

</body>

</html>

יש כאן מספר ישומיים חדשים, אבל הם די פשוטים. קודם כל, יש את פונקצית
ה- ()mysql_fetch_array. היא זהה ל- ()mysql_fetch_row עם תוספת נחמדה אחת: במקרה הזה אנחנו יכולים להתייחס לשדות בשמם ולא במספרים שלהם.
זה אמור לחסוך לנו כאבי ראש רציניים. הצגנו גם לולאה do/while וביטוי if/else. הביטוי if/else אומר שאנחנו יכולים להגדיר שורה ל-myrow$, ואז להמשיך, או לדלג לחלק ה-else ולעשות מה שיש שם.

הלולאה do/while הוא וריאציה של הלולאה מהעמוד הקודם. אנחנו צריכים את הלולאה הזאת מסיבה מאוד טובה: עם ביטוי ה-if הראשוני, הגדרנו את השורה הראשונה שהוחזרה למשתנה myrow$. בנקודה הזו, אם היינו משתמשים בביטוי while רגיל, היינו בועטים החוצה את השורה הראשונה שהוחזרה כדי לפנות מקום לשורה השניה. הלולאה do/while מאפשרת לנו לבדוק את המצב לפני החזרת שורות נוספות. זה מבטיח שלעולם לא נפספס שורה.

לסיום, אם לא הוחזרו שום תוצאות בכלל, הביטוי הכלול בחלק else() יוצא לפועל.
כדי לראות את החלק הזה בפעולה, שנו את ביטוי ה-SQL
ל- SELECT * FROM employees WHERE id=6 או לכל דבר אחר שלא יחזיר תוצאות.

עכשיו בואו נרחיב את הלולאה הזאת והביטוי if-else כדי ליצור עמוד "מזה מגניב". אתם תמותו על זה.



עמוד הבא: קשור חכם >>




הקדמה
שעור 1
הקדמה PHP ו-MySQL
התקנת MySQL
התקנת PHP
הסקריפט הראשון שלכם
הטענת מאגר המידע
שליפה מחדש
שעור 2
לולאות
השארו מיודעים >
קישור חכם
הוסיפו כמה טפסים
הפיכת טפסים לחכמים
כולם יחד
שעור 3
מקום לכל דבר
אימות פשוט
אמות לא כל כך פשוט
פונקציות
עדות לאום