פורסם 2009 באוגוסט 316 שנים אהלן חברים , אני מחפש דרך להוציא מספר רנדומלי בPHP שלא יחזור על עצמו בשביל לתת אותו כID (אני שומר את הID בMySQL ) . עד עכשיו ניסיתי לעשות את זה בעזרת פונקציית rand() ובדיקה האם המספר שיצא קיים במאגר נתונים ואם כן ליצור מספר חדש ולבדוק אותו שוב והתהליך ממשיך ככה עד שהמספר שיצא לא נמצא במאגר נתונים ואז להדפיס אותו . הנה מה שעשיתי עד עכשיו (נתקעתי בelse) : <?php function samplesrandom() { $link = mysql_connect("server" , "username" , "password") or die(mysql_error()); mysql_select_db("example" , $link) or die(mysql_error()); $rand = rand(0, 1000); $random = mysql_query("SELECT id FROM example WHERE id = $rand" , $link); if(mysql_num_rows($random) == 0) { echo "$random"; } else { } ?>
פורסם 2009 באוגוסט 316 שנים אתה צריך להשתמש בלולאת while, ולא סתם ב-if.אבל למה לעשות את זה באמצעות מספר אקראי ולא סדרתית?
פורסם 2009 באוגוסט 316 שנים מחבר איך אפשר לעשות זאת בעזרת מספר סדרתי ולא אקראי (סליחה על השאלה הטיפשית , אני די מתחיל בPHP).
פורסם 2009 באוגוסט 316 שנים אם כל משתמש חדש מקבל מספר ID עוקב לזה לפניו פשוט צריך לשמור משתנה שהוא הID של המשתמש הבא ולהגדיל אותו ב1 כל פעם
פורסם 2009 באוגוסט 316 שנים בדיוק.לחילופין, אפשר לעשות את זה ברמת ה-SQL, באמצעות מנגנוני ה-auto increment (זה תלוי כבר באיזה DB אתה משתמש):http://www.w3schools.com/Sql/sql_autoincrement.asp
פורסם 2009 באוגוסט 416 שנים מחבר אני עדיין לא מצליח לעשות זאת - כל פעם שאני מריץ את הדף זה נותן לי את אותם מספרים , אפשר מדריך / קוד ? אגב , למה הנחתם שאני בונה מערכת משתמשים ?
פורסם 2009 באוגוסט 416 שנים איך בדיוק אתה מצפה שזה יעבוד? כל פעם אתה עושה id=1.אתה צריך לשמור את הערך הזה איפשהו. לחילופין תשתמש בשיטה שהצעתי עם ה-auto increment (בדיוק לזה זה נועד).
פורסם 2009 באוגוסט 416 שנים מחבר עריכה : עשיתי את הid ברמת הMySQL ונעזרתי בmysql_insert_id() כדי להציג את הid , תודה על העזרה
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.