לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 21-12-2004, 18:57
  ישראל K ישראל K אינו מחובר  
 
חבר מתאריך: 25.08.03
הודעות: 9,114
שאילתת UPDATE

יש לי טבלה בשם flash_news.
שמות העמודותד הינם: id, date, time, update_by, category, title, flash

אני מנסה לבנות טופס לעדכון הטבלה (UPDATE לא INSERT).
בטופס יש שדה שבו רושמים באיזה ID רוצים לבצע את העכדון, ושדות נוספים שממלאים רק במקרה שמעוניינים לעדכן שדה זה. (category, title, flash)

היות ואי אפשר לדעת איזה שדה יעדכנו, כתבתי את הקוד כך:
קוד PHP:
 if($_GET['update_by'])
 {
     
$update_by="update_by=".$_POST["update_by"].",";
 }
 if(
$_GET['category'])
 {
     
$category="category=".$_POST["category"].",";
 }
 if(
$_GET['title'])
 {
     
$title="title=".$_POST["title"].",";
 }
 if(
$_GET['flash'])
 {
     
$flash="flash=".$_POST["flash"].",";
 }
 
 
$sql=    "
     UPDATE news_flash SET "
     
.$update_by
     
.$category
     
.$title
     
.$flash
     
." WHERE id=".$_POST['id']
     ; 

ניסיתי לעדכן, וקיבלתי את השגיאה
קוד:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id=9' at line 1


כמו שהנכם בוודאי יודעים, לפי התחביר לא כותבים פסיק (,) רק אם יש שדה נוסף שרוצים לעדכן. ובקוד שכתבתי יש פסיק גם לאחר תוכן השדה האחרון ("column=content,").
האם זה מהווה בעיה ?
(לפי השגיאה אני מבין שיש בעיה אחרת).

אשמח גם לשמוע איך אוכל לכתוב קוד יעיל יותר.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #7  
ישן 21-12-2004, 20:08
  ישראל K ישראל K אינו מחובר  
 
חבר מתאריך: 25.08.03
הודעות: 9,114
בתגובה להודעה מספר 1 שנכתבה על ידי ישראל K שמתחילה ב "שאילתת UPDATE"

שיניתי את הפקודות, אני משרש הכל למשתנה אחד, ובמקרה שכבר קיים שדה לתיקון אני מוסיף פסיק, אם לא אני לא מוסיף פסיק.
כך שלאחר השדה האחרון לא יהיה פסיק.
קוד PHP:
 if($_GET['update_by'])
   {
       
$sql0="update_by=".$_POST["update_by"];
   }
   if(
$_GET['category'])
   {
       if(
$sql0){$sql0=$sql0.','}
       
$sql0=$sql0."category=".$_POST["category"];
   }
   if(
$_GET['title'])
   {
       if(
$sql0){$sql0=$sql0.','}
       
$sql0=$sql0."title=".$_POST["title"];
   }
   if(
$_GET['flash'])
   {
       if(
$sql0){$sql0=$sql0.','}
       
$sql0=$sql0."flash=".$_POST["flash"];
   }
   
   
$sql="UPDATE news_flash SET ".$sql0." WHERE id=".$_POST['id']; 


חשבתי גם אולי להוסיף תמדי את הפסיק (כמו שעשיתי בתחילה), ורק אח"כ להריץ בדיקה אם התו האחרון במחרוזת הוא פסיק, ואם כן, להסירו.
איך אני מבצע זאת ?

נערך לאחרונה ע"י ישראל K בתאריך 21-12-2004 בשעה 20:11.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 07:55

הדף נוצר ב 0.06 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר