PDA

View Full Version : سوال: راهنمائی در خصوص آپدیت جدول



morypory
دوشنبه 07 اسفند 1396, 08:58 صبح
درود بر عزیزان من دو تا جدول در دیتابیس درست کردم مانند شکل های ضمیمه در جدول aqofish فیش هائی ذخیره میشود که مشتری پولش را زودتر به حساب من میریزد و بعد هر خدمتی که برایش انجام دادم از این فیش باید کم شود در جدول 2 من یک کد به عنوان 5136 اختصاص دادم که هر وقت این کد در جدول ذخیره شد بیاد و از جدول aqofish مبلغ (income|) را به اندازه همان مبلغی که استفاده شده کم کند کد php من نیز به صورت زیر است



if (isset($_GET['id']) && is_numeric($_GET['id']))

{



$id = $_GET['id'];


$q=mysql_query("select * from jad where id_user='$login_session' and moein='5136' and status='ok' and id=$id") or die(mysql_error());

$row1 = mysql_fetch_assoc($q);
if (mysql_num_rows($q)==1) {
$poool = $row["inco"];

}
$q1=mysql_query("select * from aqofish where id_user='$login_session' ") or die(mysql_error());

$row2 = mysql_fetch_assoc($q1);
if (mysql_num_rows($q1)==1) {
$poool1 = $row["income"];
}
if($poool1<$poool) {
echo "موجودی پیش دریافت شما صفر می باشد";
}else{
$pnow=$poool1-$poool ;
$query =mysql_query( "UPDATE aqofish SET income='$pnow' WHERE id_user='$login_session'");

}


اما مشکلی که دارم وقتی من کد 5136 را در فرم وارد میکنم و submit را میزنم income واقع در جدول aqofish صفر میشود اگر امکان دارد راهنمائیم کنید.
147720 147721

morypory
دوشنبه 07 اسفند 1396, 10:02 صبح
مشکلم تا حدودی حل شد باید بجای row["inco"]وrow["income"] مقدار row1 و row2 را بگذارم ولی یک مشکل که دارم اگر مثلا user 2 آمد یک فیش دیگه ثبت کرد و دو تا ردیف در aqofish داشتیم دیگه جدول آپدیت نمیشه و اگر income کمتر از incom بود ان اروری که گذاشتم عمل نمیکند و یک مشکل دیگری که دارم ان شرط id=$id گذاشتم اگر دو ردیف از کد 5136 در جدول jad باشه هیچکدوم را آپدیت نمیکند و اگر فقط در جدول یک ردیف باشد آنموقع جدول آپدیت میشود.
147724

plague
دوشنبه 07 اسفند 1396, 15:14 عصر
امیدوارم ناراحت نشی ولی من که مثل همیشه نفهمیدم چی میگی و مشکلت چیه به نظر میاد تو اجرا کردن کوئری ها مشکل داری
خیلی وقتا مشکل از پارامتر هاییه که توی کوئری میزاری چشم بسته بدونه اینکه متوجه باشی مقدارشون اون چیزی که فکر میکنی نیست
یه کار ساده که میتونی انجام بدی اینه که کوئریت رو echo کنی وقتی جوری که میخای کار نمیکنه ... اینجوری هم مطمئن میشی که اصلا اجرا میشه یا نه و دوم اینکه میبینی پارامتر هاش رو و درصورتی که مشکلی باشه میتونی حل کنی




echo $QUERY_STRING = "UPDATE aqofish SET income='$pnow' WHERE id_user='$login_session'" ;
$query =mysql_query( $QUERY_STRING );


2 نکته دیگه

1 - خلی وقتا ممکنه کوئری اررور بده و با چک کردن اون اررور شما میتونی حلش کنی ولی مشکل شما اینه که اصلا اررور ها رو چک نمیکنی بعد از اجرای کوئری هات

= mysql_query("SELECT * FROM TABLE ") or die ("Error in query: $query. ".mysql_error());




2 - به نظر میاد آموزشی که از روش داری یاد میگیری خیلی قدیمیه سعی کن یه آموزش به روز تر ببینی این روش و و کتابخونه برای ارتباط با دیتبایس منسوخ شده و باید از mysqli استفاده کنی

https://www.w3schools.com/php/php_mysql_connect.asp


تو این سایت به صورت ساده یاد میده چجوریه ... عملا خیلی متفاوت نیست از ستون سمت چپ قسمت MySQL Database میتونی دستورات مختلفش رو ببینی

morypory
دوشنبه 07 اسفند 1396, 16:20 عصر
ممنونم از شما دوست عزیز امیدوارم اینبار بتونم راحت تر منظورمو بفهمونم
مثلا کاربر 1 وقتی لاگین میکند یکی از مشتری ها یک فیش با یک مبلغی مثلا 1000000 تومان بهش میدهد و کاربر یک میاد در صفحه ثبت فیشهای پیش دریافت مشخصات فیش تاریخ فیش و مبلغ فیش را وارد میکند به مانند عکس aqopfish.jpg یک ردیف در جدول به عنوان فیش های پیش دریافت ذخیره میشود حال ما به آورنده فیش کاری نداریم چون در دیتابیس فقط با مبلغ پیش دریافت کار داریم حال کاربر 1 میرود در صفحه ورود اطلاعات درآمد اطلاعات درآمد آن روز را وارد کند من برای هر آیتم یک کد تعریف کردم که برای آیتم مصرف از پیش درآمد کد 5136 را گذاشتم حالا که کاربر میآید و کد 5136 را وارد میکند و مبلغ مثلا 10000 تومان را میزند به سادگی جدول aqofish من آپدیت میشه تا اینجا مشکلی ندارم.
مشکل من از اینجا شروع میشود اگر یک مشتری دیگر بیاید و مثلا یک فیش 500000 تومانی به کاربر 1 بدهد وقتی کاربر 1 مشخصات فیش را در صفحه مربوطه وارد میکند مشخصات در دیتا بیس ذخیره میشود و دو ردیف فیش هم در جدول می باشد ولی وقتی میرود که مثلا درآمد را وارد کند و کد 5136 را انتخاب میکند دیگر جدول aqufish آپدیت نمیشود.

plague
دوشنبه 07 اسفند 1396, 21:44 عصر
سوالت رو اینجوری بپرس

یه جدول دارم که وقتی 1 ردیف داده داخلش آپدیت میشه با کوئری ولی وقتی 2 ردیف داخلش باشن دیگه کوئری آپدیت کار نمیکنه
توضیحات عملکرد تئوری سیستم رو تا حد ممکن خلاصه و کوتاه کن و در نظر بگیر شما رو سیستم کار درای میکنی و با جنبه هاش آشنا هستی و من بیننده اصلا نمیدونم چی به چیه و شما بگی فیش و مشتری و اینحرفا بیشتر سوال پیش میاره برا من که فیش چی و مشتری کی و ....

اینکه آپدیت نمیشه 100 تا دلیل میتونه داشته باشه راه فهمیدن مشکلش هم همون چیزیکه تو پست قبلی گفتم ولی ظاهرا توجه نکردی
کوئری آپدیتی که کار نمیکنه رو echo کن ببین چه کوئری داره اجرا میشه و برای کوئری هات هم اررور گیری بزار تا اگه اررو دارن متوجه بشی