PHP пытается получить неизвестное количество входов - PullRequest
0 голосов
/ 05 января 2012

приложение вроде корзины. Я загружаю из источника AJAX (любой источник будет тот же XD) и неизвестное количество служб (неизвестно, потому что они растут в базе данных). они представлены флажком, который указывает, хотите ли вы услугу, тогда он отображает 2 входа, один с отключенной ценой, а другой для установки количества.

проблема в том, как мне отправить их всех в php для обработки (подсчет общей стоимости и вставка базы данных). Я использовал имя входного атрибута в скобках для множественного выбора

<select name="something[]">...  ...</select>

Я хотел бы знать, есть ли способ достичь чего-то подобного, но с помощью входов. или, может быть, какой-нибудь модный плагин jquery в виде mooitems. вот страница, где можно увидеть мою полную неудачную попытку: (

http://www.micontrol.cl/~mvargas/wordpress/wp-transatacama/reservas-rapidas/form-reservas-pal.php

(сначала вы должны выбрать viaje, а затем категорию, теперь отобразятся связанные с ней службы и, наконец, отрегулировать количество взрослых, чтобы иметь возможность отправить форму ... извините, что поток был требованием: /).

пожалуйста, помогите мне с руководством, что-нибудь почитать, что-нибудь: D спасибо заранее.

Ответы [ 2 ]

1 голос
/ 06 января 2012

Хорошо, поэтому, если у вас есть несколько элементов, которые вы хотите отправить на сервер, вы должны создать свой HTML-код, который будет выглядеть примерно так (динамические элементы показаны в квадратных скобках []):

<input type="checkbox" name="service_[service_id]" value="[service_id]"/> [service_name]<br/>
<input type="text" value="[price]" disabled/>
<input type="text" name="quantity_[service_id]"/>

Вам необходимо создать имена для входных данных, состоящих из префикса (например, услуги или количества) и суффикса, который является идентификатором этой службы, так что вы сможете проверить их в PHP.

Теперь в PHP вы можете сделать что-то вроде этого:

<?
    $prefix = "service_";
    foreach ( $_POST as $name => $value )
    {
        if ( substr( $name, 0, strlen( prefix ) ) == $prefix )
        {
            $serviceId = $value;
            $quantity  = $_POST[ "quantity_$serviceId" ];
        }
    }
?>

Здесь вы можете видеть, что я создал цикл для всех данных POST, пытаясь найти имена полей, которые начинаются с префикса service_и как только я найду один, я знаю, что его значение - идентификатор сервиса.Затем я могу использовать идентификатор услуги для того, чтобы найти поле количества_ [service_id], которое было отправлено вместе с выбранным идентификатором услуги.

Надеюсь, это поможет ...

0 голосов
/ 05 января 2012

Почему бы не посмотреть на jquery serialize ()?

http://api.jquery.com/serialize/

, а затем просто перебрать $ _POST [] или $ _GET [] в вашем PHP в зависимости от методаajax call.

Это также может быть полезно:

http://www.php.net/manual/en/reserved.variables.post.php#84813

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...