AliJen 3 ارسال شده در مهر 91 گزارش بازنشر ارسال شده در مهر 91 (ویرایش شده) سلام به همه عزیزانممنون می شم دوستان در این مورد من رو راهنمایی کنید .من از طریقه کدهای زیر یه سری اطلاعات رو از بانک اطلاعاتی در می یارم و نمایش می دهم ...include "config.php";$query="SELECT * FROM link WHERE status='free' AND description='1' LIMIT 1";$select=mysql_query($query);while($row=mysql_fetch_array($select)){echo $row['title'].' - '.$row['url'].' - '.'<br>';} برای مثلا خروجی می شودhamid - 234567 -اما من می خواهم وقتی که این اطلاعات نمایش داده شد یه کوئری دیگر هم ران شود ...اما به این صورت که ... این کوئری یه فلید رو از همین رکورد که بالا نمایش داده شده بود رو آپدیت کنه ...$update="UPDATE `link` SET status='sold' WHERE title='$user' ";$update2=mysql_query($update);echo $update2;اما مشکل در بالا همین $USER هست ! من در اصل $row['title'] که در قسمت اول نمایش داده بودم رو می خوام ... یعنی همان HAMIDمی خواهم وقتی اطلاعات این رکورد نمایش داده شد بعد یه قسمت از این رکورد آپدیت شه که بشه مثلا sold که دیگر ...انگار به محصول بود فروخته شد رفت ! :یدر کل این کدی است که من استفاده پیاده کردم البته قسمت $user=$row['title']; مشکل داره ! یعنی هیچ اطلاعات نداره و در نتیجه آپدیت انجام نمی شود .<?phpinclude "config.php";$query="SELECT * FROM link WHERE status='free' AND description='1' LIMIT 1";$select=mysql_query($query);while($row=mysql_fetch_array($select)){echo $row['title'].' - '.$row['url'].' - '.'<br>';} $user=$row['title'];$update="UPDATE `link` SET status='sold' WHERE title='$user' ";$update2=mysql_query($update);echo $update2;?>ممنون می شوم راهنمایی کنید که من چطوری این کار رو انجام بدهم .باتشکر ویرایش شده مهر 91 توسط AliJen نقل قول لینک به ارسال
imanfakhar 26231 ارسال شده در مهر 91 گزارش بازنشر ارسال شده در مهر 91 نمی دونم درست متوجه شدم یا نه شما می خوای$row['title']نام یوزری باشه که در آپدیت می خوانی؟اگر اینطوره فکر کنم اگر در query اول user_id رو هم بخونی و در دومی آی دی ها را برابر کنی مشکلت برطرف شه البته من اگر جات بودم منتظر جواب یکی از اعضای هیات مدیره یا رضا آنلاین گرامی می شدم 5 نقل قول لینک به ارسال
Morteza 34190 ارسال شده در مهر 91 گزارش بازنشر ارسال شده در مهر 91 این رو تست کنید. صرفا جهت تست چون متدش باید تغییر کنه:<?phpinclude "config.php";$query="SELECT * FROM link WHERE status='free' AND description='1' LIMIT 1";$select=mysql_query($query);$user = '';while($row=mysql_fetch_array($select)){echo $row['title'].' - '.$row['url'].' - '.'<br>';$user .= $row['title'];} $update="UPDATE `link` SET status='sold' WHERE title='$user' ";$update2=mysql_query($update);echo $update2;?>البته میتونید کوئری دوم رو در while اولی هم اجرا کنید. 5 نقل قول لینک به ارسال
rezaonline 2655 ارسال شده در مهر 91 گزارش بازنشر ارسال شده در مهر 91 (ویرایش شده) جالبه توی ایران پی اچ پی هم همینو مطرح کرده بودیhttp://forum.iranphp...%8C%D9%84%D8%AFشما در کل دارید هر دو کوئری رو روی یک جدول اجرا میکنید ، پس با یک کوئری هم حل میشه .$sql = "update `link` set `status`='sold' where `status`='free' and `description`=1 ";$query = @mysql_query($sql) or die('error in query');$af_row =(int) @mysql_affected_rows($query);if($af_row > 0) echo $af_row.'رکورد تغییر کرد';else echo 'تغییری انجام نشد !'; ویرایش شده مهر 91 توسط rezaonline 5 نقل قول لینک به ارسال
سعید حسینی 2409 ارسال شده در مهر 91 گزارش بازنشر ارسال شده در مهر 91 دوستان ببخشید اظهار نظر میکنم ولی این کاراکتر نباید عوض بشه؟`link` به 'link' نقل قول لینک به ارسال
rezaonline 2655 ارسال شده در مهر 91 گزارش بازنشر ارسال شده در مهر 91 (ویرایش شده) خیر سعید جان ، توی سینتکس sql ، اسم جداول و فیلد ها باید بین `` باشه .البته توی بعضی درایور ها نوشتنش اجباری نیست تا اونجا که میدونم توی mysql مشکلی نیست مثلاً کوئری بالاupdate link set status='sold' where status='free' and description=1اما فکر کنم mysqli کمی گیر بده اما باز مطمئن نیستم .واسه اوراکل و mssql هم یه سرچی بزن ویرایش شده مهر 91 توسط rezaonline 4 نقل قول لینک به ارسال
AliJen 3 ارسال شده در مهر 91 مالک گزارش بازنشر ارسال شده در مهر 91 نمی دونم درست متوجه شدم یا نه شما می خوای$row['title']نام یوزری باشه که در آپدیت می خوانی؟اگر اینطوره فکر کنم اگر در query اول user_id رو هم بخونی و در دومی آی دی ها را برابر کنی مشکلت برطرف شهالبته من اگر جات بودم منتظر جواب یکی از اعضای هیات مدیره یا رضا آنلاین گرامی می شدمسلام درست متوجه شدید هر دو این موارد که فرمودید هم username و id هم ینیک هستند 2 نام کابری یک سان در سیستم نداریم زیاد تفاوتی نمی کنه کدام رو انتخاب کنیم که دوستان راهنمایی کردند .جالبه توی ایران پی اچ پی هم همینو مطرح کرده بودیhttp://forum.iranphp...%8C%D9%84%D8%AFشما در کل دارید هر دو کوئری رو روی یک جدول اجرا میکنید ، پس با یک کوئری هم حل میشه .$sql = "update `link` set `status`='sold' where `status`='free' and `description`=1 ";$query = @mysql_query($sql) or die('error in query');$af_row =(int) @mysql_affected_rows($query);if($af_row > 0) echo $af_row.'رکورد تغییر کرد';else echo 'تغییری انجام نشد !';سلام آقا رضا اینجا یه تغییر اساسی ایجاد شد این حالتی که شما مطرح کردید اطلاعات رو نمایش نمی ده مستقیم بروز رسانی می کنه بعد یه راست می یاد همه رو به روز می کنه من شاید 200 محصول داشته باشم می خوام وقتی کاربر خرید کرد یه دونه اش از دیتابیس بیاد بیرون تحویل کاربر داده شه سپس همون موردی که از دیتابیس بیرون آمده وضعیتش فروخته شده شود .که فکر می کنم پروسس کد بالایی مطرح شد کامل تر باشه اگر موافق باشید ؟ نقل قول لینک به ارسال
AliJen 3 ارسال شده در مهر 91 مالک گزارش بازنشر ارسال شده در مهر 91 این رو تست کنید. صرفا جهت تست چون متدش باید تغییر کنه:<?phpinclude "config.php";$query="SELECT * FROM link WHERE status='free' AND description='1' LIMIT 1";$select=mysql_query($query);$user = '';while($row=mysql_fetch_array($select)){echo $row['title'].' - '.$row['url'].' - '.'<br>';$user .= $row['title'];} $update="UPDATE `link` SET status='sold' WHERE title='$user' ";$update2=mysql_query($update);echo $update2;?>البته میتونید کوئری دوم رو در while اولی هم اجرا کنید.سلام آقا مرتضی اول تشکر می کنم ازتون این کد به این صورت که مطرج فرمودید جواب داد دقیقا رکورد که از دیتابیس در آمد بعد نمایش وضعیت فروخته شد و دیگر هم نیومد .یه موردی هم بود داخل این کد یه عدد 1 هم چاپ می شد که ظاهرا یه کد اضافه نوشته بودم حذفش کردم کلا کد به این صورت شد .<?phpinclude "config.php";$query="SELECT * FROM link WHERE status='free' AND description='1' LIMIT 1";$select=mysql_query($query);$user = '';while($row=mysql_fetch_array($select)){echo $row['title'].' - '.$row['url'].' - '.'<br>';$user .= $row['title'];} $update="UPDATE `link` SET status='sold' WHERE title='$user' ";$update2=mysql_query($update);?> 1 نقل قول لینک به ارسال
AliJen 3 ارسال شده در مهر 91 مالک گزارش بازنشر ارسال شده در مهر 91 یه مقدار هم بهبود ببخشیدم وضعیت رو که اگر محصولی نبودم الکی کوئری ران نکنه :ی<?phpinclude "config.php";$query="SELECT * FROM link WHERE status='free' AND description='1' LIMIT 1";$select=mysql_query($query) or die(mysql_error());$num=mysql_num_rows($select);$user = '';if ($num!=0){while($row=mysql_fetch_array($select)){echo $row['title'].' - '.$row['url'].' - '.'<br>';$user .= $row['title'];} $update="UPDATE `link` SET status='sold' WHERE title='$user' ";$update2=mysql_query($update);} else {echo "محصول مورد نظر موجود نمی باشد";}?> 1 نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .