Мне нужна ваша помощь.,
Как передать значения массива в строке запроса …
<?php foreach ( $Cart->getItems() as $order_code=>$quantity ) : $pname[]= $Cart->getItemName($order_code); $item[]= $Cart->getItemPrice($order_code); $qty[]=$quantity; endforeach; ?> <form action='expresscheckout.php?amt=<?php echo $total_price; ?>&item_name=<?php echo $pname; ?>&unit=<?php echo $item; ?>&quan=<?php echo $qty; ?>' METHOD='POST'> <input type='image' name='submit' src='http://img.ruphp.com/query-string/btn_xpressCheckout.gif' border='0' align='top' alt='Check out with PayPal'/> </form>
Это мой пример кода., Для приведенного выше кода кода мне нужно передать строку запроса на моем URL-адресе действия, который является выражением expresscheckout.php? Amt = 100. и т. Д., Подпадают под $ pname [], $ item [], $ шт [].
Ожидание вывода в expresscheckout.php
expresscheckout.php? pname = product1, product2 & item = item1, item2 & qty = 1,2,3 …. как это ….
Заранее спасибо….
В принципе, вам просто нужно использовать функцию implode PHP, чтобы превратить массив в список, разделенный запятыми. т.е. для массива $ item:
$item = array('item1', 'item2'); echo implode(',', $item);
Вывод:
item1,item2
Итак, что-то вроде этого должно печатать запрос, похожий на то, что вы хотите:
echo 'pname='.implode(',', $pname). '&item='.implode(',', $item). '&qty='.implode(',', $qty);
Чтобы передать значения массива, вы должны использовать []. Напр.
<form method="post" action="path to script"> <input type="checkbox" id="colors[]" value="red" /> Red <input type="checkbox" id="colors[]" value="blue" /> Blue <input type="checkbox" id="colors[]" value="green" /> Green <input type="checkbox" id="colors[]" value="yellow" /> Yellow </form>
И вам нужно использовать это в PHP
$colors=$_POST['colors']; //takes the data from a post operation... $query=INSERT INTO colors VALUES('$colors');
Вам необходимо сериализовать массив
сериализация в php
Генерирует сохраняемое представление значения
Это полезно для хранения или передачи значений PHP без потери их типа и структуры.
Чтобы снова преобразовать сериализованную строку в значение PHP, используйте unserialize ().
ref: –
http://php.net/manual/en/function.serialize.php
http://www.php.net/manual/en/function.unserialize.php
пример
$my_array= (array('val1', 'val2','val3'); server.php?query_string=serialize($my_array)
на странице сервера
$query_string= unserialize($_REQUEST['query_string']);
Теперь он будет в формате массива
Я надеюсь, это поможет вам