У меня 6 текстовых полей

<input id="es_price" name="es_price" placeholder="$ (AUD)" class="form-control" type="text">
<input id="es_price2" name="es_price2" placeholder="$ (AUD)" class="form-control" type="text">
<input id="es_price3" name="es_price3" placeholder="$ (AUD)" class="form-control" type="text">
<input id="es_price4" name="es_price4" placeholder="$ (AUD)" class="form-control" type="text">
<input id="es_price5" name="es_price5" placeholder="$ (AUD)" class="form-control" type="text">
<input id="es_price6" name="es_price6" placeholder="$ (AUD)" class="form-control" type="text">

И моя структура базы данных

CREATE TABLE `es_prices_outcall` (
`es_prices_outcall_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`es_price` VARCHAR(50) NOT NULL DEFAULT '0',
PRIMARY KEY (`es_prices_outcall_id`)
)

Я хочу, чтобы когда я отправлял данные, они должны храниться в той же базе данных, что и массив. я не хочу создавать 6 столбцов (es_price, es_price2, es_price3, es_price4, es_price5 и es_price6).

Я не очень хорошо разбираюсь в php, но хочу его реализовать.

Пожалуйста, помогите мне, буду благодарен всем вам.

Как и выше, я упомянул все 6 текстовых полей и их имя / идентификатор, также я показал свою структуру db, я хочу вставить данные всех 6 полей в свою базу данных, я не хочу изменять имя текстового поля, поскольку я не Я хочу создать 6 столбцов для вставки значений 6 текстовых полей, я хочу использовать только один столбец «es_price» и хочу, чтобы все 6 текстовых полей в 6 строках столбца «es_price».

Я недостаточно хорош, чтобы исправить это, поэтому мне нужно руководство,

Спасибо, Арши

3
Arshi 30 Окт 2015 в 15:31

4 ответа

Лучший ответ

Попробуй это:-

<?php

if(isset($_GET['submit']))
{
$q= "INSERT INTO User_Roll(name) VALUES 
('".$_GET['es_price']."'),
('".$_GET['es_price2']."'),
('".$_GET['es_price3']."'),
('".$_GET['es_price4']."'),
('".$_GET['es_price5']."'),
('".$_GET['es_price6']."'),
";
//Execute Query
}

?>

Вы можете использовать только $ _POST или $ _GET и $ _REQUEST, но не оба ($ _ POST, $ _ GET) ... зависит от того, что вы объявляете в методе формы

0
Parth Chavda 31 Окт 2015 в 04:23
 <?php
    if(isset($_REQUEST['submit']))
    {
    $q= "INSERT INTO User_Roll(name) VALUES 
    ('".$_REQUEST['es_price']."'),
    ('".$_REQUEST['es_price2']."'),
    ('".$_REQUEST['es_price3']."'),
    ('".$_REQUEST['es_price4']."'),
    ('".$_REQUEST['es_price5']."'),
    ('".$_REQUEST['es_price6']."'),
    ";
    }
    ?>

ВЫ МОЖЕТЕ использовать $ _POST, $ _GET и $ _REQUEST, если вы объявляете method = "post", чем вы можете получать данные, используя $ _POST или то же, что и get, где $ _REQUEST поддерживает как метод get, так и post

1
Parth Chavda 21 Янв 2016 в 08:07

То, о чем вы просите, не совсем понятно. Насколько я понимаю, вы хотите добавить несколько строк одного и того же поля в базу данных.

Я рекомендую что-то вроде этого:

 if(isset($_POST)){
        $qty = count($_POST['cat_id']);
        for($i = 0; $i < $qty; $i++){
            $wpdb->insert( 'pricelist', 
                array(
                    'es_price' => $_POST['es_price'][$i],

                ), 
                array(
                    '%d',
                )
            );
        }

}
1
user5489339user5489339 30 Окт 2015 в 12:43

Сначала создайте переменную, которая содержит всю цену с запятой.

$allPrice=$_POST['price1'].','.$_POST['price2'].','.$_POST['price3'].','.$_POST['price4'].','.$_POST['price5'].','.$_POST['price6'];

Затем запустите общий запрос вставки.

.........(`es_price`) value($allPrice)
1
Niraj Karmick 30 Окт 2015 в 12:42