راکت

عملیات های زمان بر در فلاتر

3 پاسخ

سلام
@hesammousavi
من یه سری داده پشت سر هم دارم که توی حلقه فورایچ دارم وارد دیتابیس میکنم و میگم اگه همشون وارد شد پیغام اوکی بده!
ولی خب دفعه اول میگه وارد دیتابیس نشده درصورتی که توی دیتابیس وارد شدن، و بار دوم که دوباره روی دکمه بررسی میزنم اونقت پیغام اوکی میده، حس میکنم عملیاتش زمان بره و برای دفعه اول متغیر من true نمیشه که اوکی بده و false میمونهُ کسی میتونه راهنمایی کنه باید چیکارکنم؟
مثلا وقتی روی ثبت اطلاعات زد اول یه پروگرس بار بیاد و وقتی کار درج داده تموم شد، اونوقت پیغام بده!
ممنون میشم کمک کنید

یعنی وقتی روی دکمه درج اطلاعات میزنم بعد از انجام کار با این حال که داده ها درج شده ولی هنوز متغیر isOK همون false میمونه ولی وقتی دوباره روی ثبت اطلاعات میزنم اونوقت true میشه (یعنی دوبار داده درج میشه که بار اول خطا میده بار دوم اوکی میده)

تیکه هایی از کد هام

class InsertDoneQuestionAnswer {
  static Future<Map> insertDQAIntoServer(
      String qID, String aID, String dqID) async {
    Map<String, String> body = {'qid': qID, 'aid': aID, 'dqid': dqID};

    final response = await http
        .post(GlobalData.siteAddress + 'insert_dqans.php', body: body);

    if (response.statusCode == 200) {
      var responseBody = json.decode(response.body)['data'];
      return {'status': responseBody.toString()};
    }
  }
}

-----------------------------------------

  void insertAns() async {
    GlobalData.userAns.forEach((qID, aID) async {
      var response =
          await InsertDoneQuestionAnswer.insertDQAIntoServer(qID, aID, '1');

      if (response['status'] == 'ok') {
        setState(() {
          isOK = true;
        });
      } else {
        setState(() {
          isOK = false;
        });
      }
    });

    if (isOK == true) {
      await showFinishMsg();
    } else {
      await showErrMsg();
    }
  }
ثبت پرسش جدید

پاسخ‌ها

3
الیاس سخاوتی نیا
الیاس سخاوتی نیا
@elyassir

تخصص: علاقه‌مند به برنامه‌‎نویسی

@hesammousavi
من وقتی اولین بار روی دکمه ارسال اطلاعات میزنم خطا میده، ولی، دوباره که روی دکمه میزنم پیغام اوکی میده!

https://roocket.ir/discuss/%D9%85%D8%B4%DA%A9%D9%84-%D8%AF%D8%B1-%D8%A7%D8%B1%D8%B3%D8%A7%D9%84-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-%D8%A8%D9%87-%D8%B3%D8%B1%D9%88%D8%B1-%D8%AF%D8%B1-%D9%81%D9%84%D8%A7%D8%AA%D8%B1

کسی نمیدونه مشکل چیه؟ کارم واقعا گیره
ممنون میشم کمک کنید

الیاس سخاوتی نیا
الیاس سخاوتی نیا
@elyassir

تخصص: علاقه‌مند به برنامه‌‎نویسی

@hesammousavi
من وقتی اولین بار روی دکمه ارسال اطلاعات میزنم خطا میده، ولی، دوباره که روی دکمه میزنم پیغام اوکی میده!
به نظر شما مشکل از چیه؟
کدهای رو بالاتر گذاشتم!
اینم کدهای php :

<?php

$qid=(int)$_POST['qid'];
$aid=(int)$_POST['aid'];
$dq_id=(int)$_POST['dqid'];
include_once 'db.php';

$query1 = "INSERT INTO done_ans(qid, aid, dq_id) VALUES ($qid,$aid,$dq_id) ";
$result1 = $connect->prepare($query1);

if ($result1->execute()) {
    $record1['data'] = 'ok';
    $record1['status'] = 'success';
    echo json_encode($record1);
} else {
    $record1['data'] = 'اطلاعات پیدا نشد';
    $record1['status'] = 'faild';
    echo json_encode($record1);
}

?>

شاید پاسخ شما همین‌جا باشد

goldenvim
goldenvim
@goldenvim

دوست عزیر ترد ایجاد میشه بررسی کن

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام