php / שיעור 2 / הפכו את הטפסים שלכם לחכמים יותר

שיעור 2


הפכו את הטפסים שלכם לחכמים יותר


לאורך ערכת הלימוד הזאת, הכנסתי את ביטוי ה-SQL לתוך משתנה ($sql) לפני שיריתי את השאילתא על המאגר בעזרת ()mysql_query. זה נוח כדי להפטר מבאגים. אם משהו הולך לא כשורה, אתם תמיד יכולים להחזיר את ה-SQL למסך כדי לחפש בו טעויות.

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

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

<html>


<body>

<?php

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

mysql_select_db("mydb",$db);

if ($id) {

// query the DB

$sql = "SELECT * FROM employees WHERE id=$id";

$result = mysql_query($sql);

$myrow = mysql_fetch_array($result);

?>

<form method="post" action="<?php echo $PHP_SELF?>">

<input type=hidden name="id" value="<?php echo $myrow["id"] ?>">

First name:<input type="Text" name="first" value="<?php echo $myrow["first"] ?>"><br>

Last name:<input type="Text" name="last" value="<?php echo $myrow["last"] ?>"><br>

Address:<input type="Text" name="address" value="<?php echo $myrow["address"] ?>"><br>

Position:<input type="Text" name="position" value="<?php echo $myrow["position"] ?>"><br>

<input type="Submit" name="submit" value="Enter information">

</form>

<?php

} else {

// display list of employees

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

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

printf("<a href=\"%s?id=%s\">%s %s</a><br>\n",
$PHP_SELF, $myrow["id"], $myrow["first"],
$myrow["last"]);

}

}

?>

</body>

</html>

הרגע שמנו את מידע השדה לתוך מאפיין value של אותו מרכיב, מה שהיה די פשוט. בואו נבנה על זה עוד קצת. אנחנו נוסיף את האפשרות לשלוח ולערוך קוד חזרה למאגר. שוב, אנחנו הולכים להשתמש בכפתור submit כדי לבחון האם עלינו לעבד את תשומת הטופס. שימו לב גם לביטוי ה-SQL השונה במעט בו אנו משתמשים.

<html>


<body>

<?php

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

mysql_select_db("mydb",$db);

if ($id) {

if ($submit) {

$sql = "UPDATE employees SET
first='$first',last='$last',address='$address',
position='$position' WHERE id=$id";

$result = mysql_query($sql);

echo "Thank you! Information updated.\n";

} else {

// query the DB

$sql = "SELECT * FROM employees WHERE id=$id";

$result = mysql_query($sql);

$myrow = mysql_fetch_array($result);

?>

<form method="post" action="<?php echo $PHP_SELF?>">

<input type=hidden name="id" value="<?php echo $myrow["id"] ?>">

First name:<input type="Text" name="first" value="<?php echo $myrow["first"] ?>"><br>

Last name:<input type="Text" name="last" value="<?php
echo $myrow["last"] ?>"><br>

Address:<input type="Text" name="address"
value="<?php echo $myrow["address"] ?>"><br>

Position:<input type="Text" name="position"
value="<?php echo $myrow["position"] ?>"><br>

<input type="Submit" name="submit" value="Enter information">

</form>

<?php

}

} else {

// display list of employees

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

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

printf("<a href=\"%s?id=%s\">%s %s</a><br>\n",
$PHP_SELF, $myrow["id"], $myrow["first"],
$myrow["last"]);

}

}

?>

</body>

</html>

וזהו זה. הצלחנו לשלב את רוב הישומיים שראינו לתוך סקריפט אחד. אתם גם יכולים לראות איך השתמשנו בביטוי ()if אחד בתוך ביטוי ()if אחר כדי לבדוק תנאי מרובים.

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



עמוד הבא: כולם יחד >>




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