🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۰ حمزه بختیاری
حل تمرین با سویچ و کوئری اپدیت و دریافت
جامعه وردپرس (برنامه نویسی) ایجاد شده در ۱۶ دی ۱۳۹۹

با سلام 

 

گام اول تعریف لینک با اکشن edit

 

p><a href="<?php echo add_query_arg(['action'=>'edit','item'=>$sample->ID]);?>">ویرایش</a></p>

 

 

تعریف فرم و گرفتن اطلاعات

      <div class="wrap">
    <h1>افزودن مورد جدید</h1>
    <a href="<?php echo add_query_arg(['action' => null]); ?>">برگشت</a>
    <br>
    <br>
<?php foreach ($samples as $sample): ?>
    <form method="post">
        <table class="form-table">
            </tr>
            <tr valign="top">
                <th scope="row">ID</th>
                <td><?php echo $sample->ID; ?></td>
            </tr>
            <tr valign="top">
                <th scope="row">نام</th>
                <td><input type="text" name="name" value="<?php echo $sample->name; ?>"></td></td>
            </tr>
            <tr valign="top">
                <th scope="row">تلفن</th>
                <td><input type="text" name="phone" value="<?php echo $sample->phone; ?>"></td></td>
            </tr>
            <tr valign="top">
                <th scope="row">سن</th>
                <td><input type="text" name="age" value="<?php echo $sample->age; ?>"></td></td>
            </tr>
            <tr valign="top">
                <th scope="row"></th>
                <td><input type="submit" name="submit" value="اعمال تغیرات" class="submit-btn"></td>
                </td>
            </tr>
        </table>
    </form>
    <?php endforeach; ?>
</div>

 

 

تعریف شرط با سویچ  و دو کوئری   اپدیت و در یافت 

  case "edit":
            if (isset($_POST['submit'])) {
                $wpdb->update($wpdb->prefix . 'api_plugin' ,[
                    'name' => $_POST['name'],
                    'phone' => $_POST['phone'],
                    'age' => $_POST['age']
                ],
                    [
                        'ID'=>$item
                    ]);
            }
            $samples = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}api_plugin WHERE ID = $item", object);
            include WAP_TPL . 'admin/menu/update.php';
            break;

نکته : بهتره که اینکلود کردن و فراخوانی داده‌ها از دیتا بیس در اخر انجام بشه تا بعد بروز رسانی داده جدید ، داده‌های جدید در همون فرم بروز بشه

 

با تشکر