نمایش نتایج 1 تا 6 از 6

نام تاپیک: مشکل در کد شمارش بازدید مطلب

  1. #1

    مشکل در کد شمارش بازدید مطلب

    سلام. خسته نباشید
    ببخشید من از کد زیر برای شمارش بازدید مطلب میخوام استفاده کنم، ولی متأسفانه با syntax error مواجه میشم.
    نمیدونم کدوم قسمت کد ایراد داره. ممنون میشم راهنمایی کنید

    <?php
    if ($_SERVER['REQUEST_METHOD']=='POST'){
    header("Content-Type: application/json; charset=UTF-8");
    $conn = new mysqli("localhost", "username", "password", "dbname");
    $post_id=$_POST['post_id'];
    $sql="select meta_id,post_id,meta_key,meta_value from wp_postmeta where post_id='$post_id' and meta_key='_post_views_count'";
    $result = $conn->query($sql);
    $row = $result->fetch_assoc();
    $m_id=$row["meta_id"];
    $count=$row["meta_value"];
    $count=$count+1;
    echo $count;
    $qurey_insert_view="update wp_postmeta set meta_value='$count' where post_id='$post_id' and meta_id='$m_id'";
    if ($conn->query($qurey_insert_view)==true) {
    echo 'Record updated successfully';
    } else {
    echo 'Error updating record: ' . $conn->error;
    }
    $conn->close();
    }
    ?>

  2. #2
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: مشکل در کد شمارش بازدید مطلب

    اصل کار اون سینتکس اررورست که نزاشتی

  3. #3

    نقل قول: مشکل در کد شمارش بازدید مطلب

    نقل قول نوشته شده توسط plague مشاهده تاپیک
    اصل کار اون سینتکس اررورست که نزاشتی
    من با برنامه Postman تست میکنم و فقط همین Syntax error رو میزنه و چیزی نمیزنه.

  4. #4

    نقل قول: مشکل در کد شمارش بازدید مطلب

    نقل قول نوشته شده توسط mohamad_a226 مشاهده تاپیک
    من با برنامه Postman تست میکنم و فقط همین Syntax error رو میزنه و چیزی نمیزنه.
    ممکنه مشخصات اتصال به دیتابیس را اشتباه وارد کرده باشید؟ حتما شروط لازم برای بررسی اتصال موفق به دیتابیس و خالی نبودن $result (مثلا به دلیل اشتباه بودن سینتکس کوئری) را اضافه کنید.

    من مشخصات یک دیتابیس وردپرس را وارد کردم و پیام موفقیت آمیز زیر نمایش داده شد:
    1Record updated successfully

  5. #5

    نقل قول: مشکل در کد شمارش بازدید مطلب

    نقل قول نوشته شده توسط mohamad_a226 مشاهده تاپیک
    من با برنامه Postman تست میکنم و فقط همین Syntax error رو میزنه و چیزی نمیزنه.
    چند نکته دیگه هم حتما در برنامه خود لحاظ کنید.

    ۱. حتما مطمئن شوید که $row خالی نباشد در صورت خالی بودن به این معنی است که meta_key مورد نظر _post_views_count برای پست مورد نظر شما وجود ندارد و بجای آپدیت باید از اینسرت استفاده کنید. (دستور آپدیت حتی اگر سطری برای بروزرسانی نیابد هیچ خطایی بر نمیگرداند)
    ۲. چنین دستوراتی که مقدار جدید وابسته به مقدار قبلی می باشد حتما باید در یک TRANSACTION صورت گیرد. که یا باید از دستورات begin commit rollback استفاده کنید یا اینکه در این مورد خاص بروزرسانی را در یک دستور پیاده کنید چیزی شبیه به این:
    update wp_postmeta set meta_value=meta_value+1 where ... 


    (شرح مشکل در صورت استفاده از کد شما: ممکن است بصورت همزمان دو کاربر یک صفحه را باز کنند. هر دو دستور سلکت اجرا می شود مثلا مقدار قبلی ۲۰ تا بوده یکی بهش اضافه میشه یعنی عدد ۲۱ و سپس هر دو دستور بروزرسانی مقدار ۲۱ را در جدول درج می کنند در حالی که باید مقدار ۲۲ ذخیره شود)

  6. #6

    نقل قول: مشکل در کد شمارش بازدید مطلب

    نقل قول نوشته شده توسط ali_sed مشاهده تاپیک
    چند نکته دیگه هم حتما در برنامه خود لحاظ کنید.

    ۱. حتما مطمئن شوید که $row خالی نباشد در صورت خالی بودن به این معنی است که meta_key مورد نظر _post_views_count برای پست مورد نظر شما وجود ندارد و بجای آپدیت باید از اینسرت استفاده کنید. (دستور آپدیت حتی اگر سطری برای بروزرسانی نیابد هیچ خطایی بر نمیگرداند)
    ۲. چنین دستوراتی که مقدار جدید وابسته به مقدار قبلی می باشد حتما باید در یک TRANSACTION صورت گیرد. که یا باید از دستورات begin commit rollback استفاده کنید یا اینکه در این مورد خاص بروزرسانی را در یک دستور پیاده کنید چیزی شبیه به این:
    update wp_postmeta set meta_value=meta_value+1 where ... 


    (شرح مشکل در صورت استفاده از کد شما: ممکن است بصورت همزمان دو کاربر یک صفحه را باز کنند. هر دو دستور سلکت اجرا می شود مثلا مقدار قبلی ۲۰ تا بوده یکی بهش اضافه میشه یعنی عدد ۲۱ و سپس هر دو دستور بروزرسانی مقدار ۲۱ را در جدول درج می کنند در حالی که باید مقدار ۲۲ ذخیره شود)
    ممنون بابت توضیحی که دادین و همینطور توضیح درباره مشکلی که داخل کد هست.

    تو کدی که داده بودم. خط زیر رو حذف کردم مشکل حل شد.

    header("Content-Type: application/json; charset=UTF-8");

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •