2015-05-04 2 views
0

У меня есть URL-адрес, как этотКак получить несколько значений в php?

http://example.com/index.php?&item_name_1=productnamex&quantity_1=1&amount_1=0&item_number_1=2&on0_2=thumb&option_index_2=1&item_name_2=productnamex&quantity_2=1&amount_2=0&item_number_2=2&on0_2=thumb&option_index_2=1&item_name_3=productnamexx&quantity_3=1&amount_3=0&item_number_3=3&on0_3=thumb&option_index_3=1.....

, который посылает на страницу значения торговой карты. Я хочу, чтобы получить значения item_name_x, quantity_x, amount_x где х количество каждого продукт, группу и печатать их, как

Продукт 1 наименование - 1 Количество - Продукт 1 Количество
Продукта 2 наименования - 2 Количества - Продукт 2 Количество
Продукт 3 наименование - 3 Количество - 3 Продукт Сумма
......

Я не могу делать какие-либо изменения страницы, которые производят URL-адрес. Может ли кто-нибудь мне помочь? Заранее благодарим за любую помощь, которую вы можете предоставить.

+0

Можете ли вы показать код, который вы пытались сделать эта работа? – RST

+0

Итак ... вы хотите сделать простой $ _GET ['productname'] и так далее? – Epodax

+0

Я пробовал '$ _GET ["item_name_1"]' и т. Д., Но каждый раз, когда количество продуктов в URL-адресе отличается, и я не знаю, как получить значения для различного количества продуктов. – Chris

ответ

3

Это действительно плохой дизайн, плохой вам приходится иметь дело с ним. Однако, если вы уверены, что строка запроса всегда будет последовательной (т. Е. Каждая группа всегда будет заполнена: name-quantity-amount), вы можете попробовать следующее:

$i = 1; 
while (isset($_GET['item_name_'.$i])) { 
    $name = $_GET['item_name_'.$i]; 
    $qty = $_GET['quantity_'.$i]; 
    $amt = $_GET['amount_'.$i]; 
    ... // do whatever you want with those 3 
    $i++; 
} 
+0

Он работает, спасибо. – Chris

0

, что об этом

<?php 
$count=count($_GET); 
for($i=1;$i=$count;$i++) 
{?> 
Product <?php $i;?> name - Product <?php echo $i?> Quantity - Product <?php echo $i?> Amount 
<?php }?>