עידכון נתונים

עידכון נתונים

לא הולך לי עם העידכון נתונים.. מה הבעיה בקוד הזה:
<?php include 'db_config.php'; ?> <html> <body dir="rtl"> <form action="<?php print $php_self ?>" method="post"> <table width="100%" border="1"> <tr align="center"><td>שם משתמש</td> <?php $result=mysql_query("update members set user='$user' where id=$id"); $result = mysql_query("SELECT * FROM members"); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { ?> <tr><td><input type="text" name="user" value="<?php echo $row["user"]; ?>"> <?php } mysql_free_result($result); ?> </table> <input type="submit" value="עדכן"> </body> </html>​
?
 

shanor

New member
מממ...

לא יודע, אבל נראה לי שכל החלק של העדכון חסר כאן... כל מה שהסקריפט הזה עושה הוא להכליל את הקובץ db_config.php, ולהוציא טופס HTML החוצה לדפדפן יחד עם נתונים שנשלפו ממאגר הנתונים. אה, כן, והוא שולח את הנתונים הללו חזרה לאותו דף בדיוק. זה כל מה שהסקריפט כאן עושה... אין בסקריפט הזה שום דבר של עידכון מאגר הנתונים שלך או בדיקה האם הנתונים שונו או כל דבר כזה... כדי לפשט עינינים: קודם כל ניצור טופס פשוט למדי:
<html> <body> <form action="" method="post"> <input type="text" name="F1"> <input type="submit"> </form> </body> </html>​
נניח שכל הנתונים מוזנים לטופס ממאגר הנתונים שלך בדיוק כמו שכתבת. למשל שהשדה F1 מכיל ערך כל שהוא למשל 'blabla' ואת זה אתה רוצה לעדכן שיהיה 'lalala'. אחרי שאתה לוחץ על כפתור ה- SUBMIT, הנתון הזה נשלח לאותו דף. כדי לבדוק את זה צריך עכשיו לבדוק האם משהו נשלח ואם כן מה נשלח ומה עושים עם זה. בשביל זה צריך להוסיף קוד PHP לפני הטופס שיבדוק האם נשלח משהו מהטופס:
if (isset($_POST['F1'])) { do somthing.... }​
בתוך המקטע הזה של ה-IF אפשר למשל לעדכן את מאגר הנתונים (על ידי שאילתת UPDATE) או למהדרין, אפשר לבדוק האם קיימת רשומה זהה ואז להחליט האם לעדכן או לא ועוד מיליון וחצי אפשרויות. כל מה שכתבתי כאן הוא מאוד... אבל מאוד בסיסי וזאת כדי לשמור על פשטות מבחינת הסבר. זו לא הדרך היחידה ולא בטוח שזו הדרך המוצלחת ביותר, אבל זו אחת מהדרכים ובהחלט דרך טובה. מקווה שעזרתי בברכת הצלחה, שנאור.
 
למעלה