حل تمرین با سویچ و کوئری اپدیت و دریافت

پرسیده شده
فعالیت 1201 روز پیش
دیده شده 791 بار
0

با سلام 

 

گام اول تعریف لینک با اکشن 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;

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

 

با تشکر

 

 

فایل پیوست