💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۳ Fatemeh Ghelichkhani
رفع اشکال به روزرسانی داده ها
جامعه وردپرس (برنامه نویسی) ایجاد شده در ۰۴ بهمن ۱۳۹۸

من میخوام صفحه ویرایش اطلاعات که باز میشه input‌ها اطلاعات قبلی داخلش باشه مثلا توی کد من برای نام خانوادگی اما اجرا که میکنم داخل input فقط نوشته میشه Array 

 

        <tr valign="top">

            <th scope="row"> نام خانوادگی  </th>

            <td>

                <input type="text" name="lastname" value= "<?php echo $wpdb->get_results(" SELECT * FROM {$wpdb->prefix}sample where ['ID' => $item] ")?> " />

            </td>

        </tr>

سلام سعی کنید کدها رو با استفاده از بلاک کد ارسال کنید. سعی کنید داده‌ها رو در متد دریافت کنید و هیچ وقت کوئری رو اینطوری داخل کدهای html قرار ندید. داده‌ها رو با یک یا چند کوئری از دیتابیس دریافت کنید و داخل متغییر‌های مناسب قرار بدید و بعدش در بخش کدهای html اونها رو echo کنید(حتما از دستورات esc_attr برای امنیت بیشتر استفاده کنید)

کیوان علی محمدی ۰۵ بهمن ۱۳۹۸، ۰۷:۰۳

سلام
کاری که شما باید بکنید اینه که درون wp_apis_main_menu_handler() یک if یا else if با شرط $action == "update" قرار بدید

با این صورت
 

<code>

if ($action == "update") {

        $item = intval($_GET['item']);

        if ($item > 0 && isset($_POST['updateData'])) {
            $wpdb->update(
                $wpdb->prefix . 'sample',
                [
                    'firstName' => $_POST['firstName'],
                    'lastName' => $_POST['lastName'],
                    'mobile' => $_POST['mobile']
                ],
                ['ID' => $item]
            );
        }
        $samples = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}sample WHERE ID=$item"); // kahndane data ba id e khase khudesh dar database sample

        include WP_APIS_TPL . 'admin/menu/update.php';

 

</code>

 

Mohammadjawad Barati ۰۵ بهمن ۱۳۹۸، ۲۲:۳۸

و بعد برید به قسمتی که فرم تون رو ساختید و یه foreach روی ورودی input‌های فرمتون به این صورت بزنید:

<code>
<div class="wrap">
    <h1>ویرایش داده</h1>
    <hr>
    <form action="" method="post">
        <table class="form-table">
            <?php foreach ($samples as $samples) : ?>
                <tr valgin="top">

                    <th scope="row">شناسه (غیر قابل تغییر) :</th>
                    <td>
                        <?php echo $samples->ID ?>
                    </td>

                </tr>
                
                <tr valgin="top">

                    <th scope="row">نام:</th>
                    <td>
                        <input type="text" name="firstName" value="<?php echo $samples->firstName ?>">
                    </td>

                </tr>

                <tr valgin="top">

                    <th scope="row">نام خانوادگی:</th>
                    <td>
                        <input type="text" name="lastName" value="<?php echo $samples->lastName ?>">
                    </td>

                </tr>

                <tr valgin="top">

                    <th scope="row">شماره :</th>
                    <td>
                        <input type="text" name="mobile" value="<?php echo $samples->mobile ?>">
                    </td>

                </tr>
            <?php endforeach; ?>
            <tr valgin="top">

                <th scope="row"></th>
                <td>
                    <input type="submit" name="updateData" class="button" value="به روز رسانی">
                    <br>
                    <br>
                    <?php if (isset($_POST['updateData'])) {
                        echo "داده با موفقیت به روز رسانی شد!";
                    } ?>
                </td>

            </tr>

        </table>
        <hr>
    </form>
</div>
</code>

Mohammadjawad Barati ۰۵ بهمن ۱۳۹۸، ۲۲:۴۰