Ответов: 3 Просмотров: 47
|
Господа, помогите разобраться в ситуации, а то запутался.
допустим есть урла с параметрами:
itemsget.php?cid=321654&count=123&props=3211:111;32156:13256
количество переданных параметров может меняться!!!
в $props передаются НОМЕР:ЗНАЧЕНИЕ;НОМЕР:ЗНАЧЕНИЕ
как сделать ссылку, чтобы сохранялись все переданные GET параметры, и при этом можно было изменить параметр props, поменять в каком нибудь НОМЕРе значение, пример:
открыли ссылку вида:
itemsget.php?cid=321654&count=123&props=3211:111;32156:13256
прочитали инфу с БД и показали на страницу ссылки типа:
itemsget.php?cid=321654&count=123&props=3211:222;32156:13256
itemsget.php?cid=321654&count=123&props=3211:333;32156:13256
Заранее благодарю за ответ
UPD: если непонятно объяснил, может в исходнике поймете проблемку
PHP:
скопировать код в буфер обмена
<?PHP if(isset($_GET['props'])) { // если есть, значит какаято пропертя уже передана $props = $_GET['props'] ; } $prop_arr = explode(';', $props) ; //разбиваем в массив переданые пропертя //НОМЕР:ЗНАЧЕНИЕ ; НОМЕР:ЗНАЧЕНИЕ ; N... /* Есть массив со списком пропертей и их возможными значениями Property[item_prop] =>[name] - название проперти =>[pid] - номер проперти =>[prop_val][0]=>[name] - название значения =>[vid] - номер зачения [1]=>[name] - название значения =>[vid] - номер зачения */ for($i=0; $i<count($Property);$i++) // цикл по кол-ву проперти { echo $Property[$i][name].":<br />" ; for($ii=0;$ii<count($Property[$i][prop_val])){ //цикл по кол-ву возможных значений проперти /* тут нужно создать ссылку. Вот тут и появляется проблемка, GET['props'] передается в виде 123:32155;2566:35556;2568:23566 номер проперти : значение проперти. разделитель между различными пропертями ';' как можно изменить допустим значение 123:32155 на 123:32225, при этом остальные значения должны остаться без изменений, и все другие переданые параметры в ссылке должны остаться */ for($c = 0; $c<count($prop_arr); $c++){ if(!stripos($prop_arr[$c], $Propperty[$i][pid ])) { echo "Проперти ".$Propperty[$i][pid]." не найдена в переданных параметрах<br />" ; $prop_arr[] = $Property[$i][pid].":".$Property[$i][prop_val][$ii][vid] ; // добавляем } else { echo "Проперти ".$Propperty[$i][pid]." найдена<br />" ; //если найдена в списке переданых то $prop_arr[$c] = $Property[$i][pid].":".$Property[$i][prop_val][$ii][vid] ; // изменяем } // собираем массив в строчку и пихаем в линк echo "<a href='itemsget.php?props=>".implode(';', $prop_arr)."'>".."<a/><br />" ; } } }
(Добавление)
|