הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   הוספת ערך של 1 לשדה בטבלה באופן אוטומתי (https://hosts.co.il/forums/showthread.php?t=3130)

A.M.F 25-10-05 22:38

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

את השדה ID הגדרתי INT, עשיתי אותו ראשי (מפתח) ואחר עשיתי לו auto_incerment בPHPMYADMIN.

עכשיו זה הקוד שלי בטופס-
קוד:

<input type="hidden" name="id" value="1++" />
וזה מוסיף לו 1 בכל פעם ששולחים את הטופס.

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

אז אחרי המגילה הזאת... מישהו יודע איך אני יכול לסדר את זה?
תודה מראש

meshuga 25-10-05 22:40

ציטוט:

נכתב במקור על ידי A.M.F
הכנתי ספר אורחים פשוט נורא, ואני רוצה להוסיף לו פאנל ניהול ובשביל זה אני צריך ID שיזהה את התגובות, אז אני צריך כאילו להוסיף בכל פעם 1 לשדה ID בטבלה שבמסד הנתונים.

את השדה ID הגדרתי INT, עשיתי אותו ראשי (מפתח) ואחר עשיתי לו auto_incerment בPHPMYADMIN.

עכשיו זה הקוד שלי בטופס-
קוד:

<input type="hidden" name="id" value="1++" />
וזה מוסיף לו 1 בכל פעם ששולחים את הטופס.

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

אז אחרי המגילה הזאת... מישהו יודע איך אני יכול לסדר את זה?
תודה מראש

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

mysql_query("INSERT INTO `commets` (`text`,`title`) VALUES ('$text','$title')"); 


בניה 25-10-05 22:42

בס"ד


????
ניסית להכניס PHP בHTML חחח דבר כזה לא ראיתי...
אתה לא צריך בכלל להתעסק עם הID אם יש לך auto_incerment (אפילו שלפי דעתי זה דבר דפוק).
פשוט תכניס שורה חדשה למסד בלי ID והוא יתווסף לבד ויותר גבוה מהקודם.

A.M.F 25-10-05 22:42

הפלא ופלא אתה צודק ^_^
תודה על התגובה המהירה

ולמה אוטו אינסרמנט גרוע?

בניה 25-10-05 22:57

בס"ד

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

A.M.F 25-10-05 23:03

אז איך אני יכול לעשות את זה בדרך יעילה יותר?

meshuga 25-10-05 23:07

ציטוט:

נכתב במקור על ידי A.M.F
אז איך אני יכול לעשות את זה בדרך יעילה יותר?

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

A.M.F 25-10-05 23:09

אוקיי אם אתה אומר...

בניה 25-10-05 23:24

בס"ד



לא באתי פה להתווכח.
רק לדעתי עדיף לעשות את זה ידני.
פשוט לשלוף את הID הכי גבוה ולהוסיף לו אחד.

A.M.F 25-10-05 23:42

הממ.. יש לי בעיה כשאני מנסה למחוק משהו מהטבלה. יש לי את הקוד הזה-
קוד:

<?php

include "connect.php"; //including the connection

$news = mysql_query ("SELECT * FROM news");
while ($detailes = mysql_fetch_array($news)) {
        echo "כותרת: ".$detailes['title']."<br />";
        echo "איי די: ".$detailes['id']."<br />";
        echo '<a href="'.$_SEREVR['PHP_SELF'].'" id="'.$detailes['id'].'" name="delete_news" />מחיקה</a> <br /><br />';
}

$delete = delete_news;

if (isset($delete)) {
        mysql_query ("DELETE FROM news WHERE id='".$detailes['id']."'");
        echo "העדכון נמחק בהצלחה!";
} else {
        while ($detailes = mysql_fetch_array($news)) {
                echo "כותרת: ".$detailes['title'];
                echo "איי די: ".$detailes['id'];
                echo '<a href="'.$_SEREVR['PHP_SELF'].'" id="'.$detailes['id'].' name="delete_news" />מחיקה</a>';
        }
}

?>

וכשאני נכנס לעמוד ולוחץ על מחיקה, ההודעה של הecho אכן מגיעה, אבל התגובה לא נמחקת.
למה ומדוע?


כל הזמנים הם GMT +2. הזמן כעת הוא 19:08.

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