Можно ли создать форму поиска для ассоциативных массивов?

Итак, здесь у меня есть несколько массивов;

$ljubimci_arr[]=array("naziv"=>"Stef","vrsta" => "Pas", "spol" => "M", "pasmina" => "vucjak","cijepljen" => "DA","chip" =>"HRV20140115001" );
$ljubimci_arr[]=array("naziv"=>"Mia","vrsta" => "Macka", "spol" => "Z", "pasmina" => "tazmanijska zvijer","cijepljen" => "DA", "chip" =>"HRV20140117002" );
$ljubimci_arr[]=array("naziv"=>"Jura","vrsta" => "Macka", "spol" => "M", "pasmina" => "ruska plava","cijepljen" => "NE", "chip" =>"HRV20140216003" );
$ljubimci_arr[]=array("naziv"=>"Thepas","vrsta" => "Pas", "spol" => "M", "pasmina" => "koker","cijepljen" => "DA", "chip" =>"HRV20140823004" );
$ljubimci_arr[]=array("naziv"=>"Rubick","vrsta" => "Macka", "spol" => "Z", "pasmina" => "skotski fold","cijepljen" => "DA", "chip" =>"HRV20140920005" );
$ljubimci_arr[]=array("naziv"=>"Svinjica","vrsta" => "Pas", "spol" => "Z", "pasmina" => "samojed","cijepljen" => "NE", "chip" =>"HRV20141007006" );
$ljubimci_arr[]=array("naziv"=>"Aron","vrsta" => "Pas", "spol" => "M", "pasmina" => "mastif","cijepljen" => "DA", "chip" =>"HRV20150102007" );

Можно ли создать форму поиска, используя форму ниже для массива выше. Я просто хочу получить простое значение URL, основанное на значениях, которые я ввожу в форму поиска. Допустим, я хочу найти значения для ключа «naziv», и если я напишу «Rubick» (naziv => «Rubick»), тогда я получу значение Rubick в URL.

<form method="GET">
Search Google:
<input type="search" name="ljubimci_arr">
<input type="submit"/>
</form>

Я пытался использовать этот пример в качестве рабочего материала, но безуспешно.
Использование поля формы для поиска ассоциативного массива Php

if(isset($_GET['year']))
{
if(array_key_exists($_GET['year'], $ages))
{
echo $ages[$_GET['year']];
}
else
{
echo 'Cannot find data';
}
}
?>

<form method="GET">
<input type="text" name="year" value="1984" />
<input type="submit" />
</form>

Спасибо!

0

Решение

Этот метод просматривает каждый элемент вашего массива и сравнивает входные данные из вашей формы со значениями ключа. naziv, Если ничего не найдено, выводится сообщение об ошибке.

<form method="POST" action="">
Search Google:
<input type="search" name="ljubimci_arr">
<input type="submit"/>
</form>

<?php

$ljubimci_arr[]=array("naziv"=>"Stef","vrsta" => "Pas", "spol" => "M", "pasmina" => "vucjak","cijepljen" => "DA","chip" =>"HRV20140115001" );
$ljubimci_arr[]=array("naziv"=>"Mia","vrsta" => "Macka", "spol" => "Z", "pasmina" => "tazmanijska zvijer","cijepljen" => "DA", "chip" =>"HRV20140117002" );
$ljubimci_arr[]=array("naziv"=>"Jura","vrsta" => "Macka", "spol" => "M", "pasmina" => "ruska plava","cijepljen" => "NE", "chip" =>"HRV20140216003" );
$ljubimci_arr[]=array("naziv"=>"Thepas","vrsta" => "Pas", "spol" => "M", "pasmina" => "koker","cijepljen" => "DA", "chip" =>"HRV20140823004" );
$ljubimci_arr[]=array("naziv"=>"Rubick","vrsta" => "Macka", "spol" => "Z", "pasmina" => "skotski fold","cijepljen" => "DA", "chip" =>"HRV20140920005" );
$ljubimci_arr[]=array("naziv"=>"Svinjica","vrsta" => "Pas", "spol" => "Z", "pasmina" => "samojed","cijepljen" => "NE", "chip" =>"HRV20141007006" );
$ljubimci_arr[]=array("naziv"=>"Aron","vrsta" => "Pas", "spol" => "M", "pasmina" => "mastif","cijepljen" => "DA", "chip" =>"HRV20150102007" );

if(isset($_POST['ljubimci_arr']))
{
$found = 0;
foreach($ljubimci_arr as $item) {
if($item['naziv'] == $_POST['ljubimci_arr'])
{
print_r($item);
$found = 1;
}
}
if(!$found)
echo "Cannot find data.<br>";
}

?>
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]