مشکل رو متوجه شدم.باید دیتابس رو به صورت ENGINE=InnoDB سیو کنم.ولی مشکل اینه که اسکریپ بر پایه ENGINE=MyISAM هستش و وقتی تغییر بدم اسکریپ خوب کار نمیکنه
مشکل رو متوجه شدم.باید دیتابس رو به صورت ENGINE=InnoDB سیو کنم.ولی مشکل اینه که اسکریپ بر پایه ENGINE=MyISAM هستش و وقتی تغییر بدم اسکریپ خوب کار نمیکنه
دوستان عزیز. مشکلم هنوز حل نشد. کل مشکل من اینه:
ببین دوستان گفتن که id رو ازدیتابس روی auto increasment تنظیم کن و خودش خودکار اطلاعاتی که دخیر میشه رو بترتیب شماره بندی میکنه یعنی دستور زیرو:
mysql_query("INSERT INTO users (value1, value2, value3) VALUES ('$address',1,0)");
ولی مشکل اینجاس که فقط یک مورد رو insert میکنه و من فک میکنم چون نمیتونه اطلاعات ای دی قبلی رو دریافت کنه سپس insert نمیکنه اطلاعات جدیدو.
حالا من میخام یه کدی باشه که توی فایل php بزارم که اخرین id رو پیدا کنه بعد برای اطلاعات جدید یکی بهش اضافه کنه؟
کمک میکنید
اگر میبینید مشکل دارید و auto increment مناسب کار شما نیست ، میشه آیدی ها رو خودتون وارد کنید
آیدی ها رو هم برای این که صعودی باشه و یکتا ، از تابع time() استفاده کنید. اون رو توی یه متغیر بزارید و ازش استفاده کنید
حالا هم ID هاتون یکتا هست و هم اینکه میدونید چه آیدی ای استفاده کردید
البته اگر فاصله اضافه کردن رکورد هاتون کمتر از یه ثانیه هست از تابع microtime() استفاده کنید
من خودم نبايد دستي وارد کنم اي دي رو،يه اسکريپ دارم خودش خودکار insert ميکنه و ميخام خودش تشخيص بده id داده قبلي چي بوده و يکي اضافه کنه.کد اسکريپ در اولين پست همين موضوع هست،يه کمک کنيد،خيلي مغزمو درگير کژده
اصلا ببینید من الان کاری به دیتابس و موتورش ندارم. اون حرفی هم که زدم اشتباه بوده.الان حرف من اینه که تمام پست هایی که در این بخش ارسال شده رو نادیده بگیرید فقط پست اول منو نگاه کنید و اینکه یهتغغیری در اون کدایجاد بشه که خودش id قبلی رو ازدیتابس بگیره و داده جدید رو با id+1 ذخیره کنه.مشکل من اینه. کد اصلیش هم در زیر اومده:
کد PHP:
$address=$_GET['address'];
if($address=='' || $address==' '){$address="unknown";};
mysql_connect('localhost','root','');
mysql_select_db('pop');
mysql_query("SET NAMES 'utf8'");
$result = mysql_query("SELECT address FROM users WHERE address='$address'");
$number = mysql_num_rows($result);
if($number==1){
$go = mysql_query("SELECT address FROM users WHERE score>0 and address<>'$address' and address<>'unknown' order by rand()");
$data=mysql_fetch_array($go);
$input=$data;
$rand_keys = array_rand($input, 2);
$numberd=mysql_num_rows($go);
if($numberd>=1){
$addr=$input[$rand_keys[0]];
mysql_query("UPDATE `users` SET score =score + 1 where address = '$address';");
mysql_query("UPDATE `users` SET sent =sent + 1 where address = '$addr';");
mysql_query("UPDATE `users` SET score =score - 1 where address = '$addr';");
echo '<script>self.parent.location="http://';echo $addr;echo'"</script>';
}else{
mysql_query("UPDATE `users` SET score =score + 1 where address = '$address';");
echo '<script>self.parent.location="http://localhost"</script>';
};
}else{
$go = mysql_query("SELECT address FROM users WHERE score>0 and address<>'$address' and address<>'unknown' order by rand()");
$data=mysql_fetch_array($go);
$input=$data;
$rand_keys = array_rand($input, 2);
$numberd=mysql_num_rows($go);
if($numberd>=1){
$addr=$input[$rand_keys[0]];
mysql_query("INSERT INTO users VALUES ('$address',1,0)");
mysql_query("UPDATE `users` SET sent =sent + 1 where address = '$addr';");
mysql_query("UPDATE `users` SET score =score - 1 where address = '$addr';");
echo '<script>self.parent.location="http://';echo $addr;echo'"</script>';
}else{
mysql_query("INSERT INTO users VALUES ('$address',1,0)");
echo '<script>self.parent.location="http://www.localhost"</script>';
};
};
در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)