Я кодирую для двух форм. Первая форма заключается в том, чтобы добавить поле во вторую форму при его отправке. Вторая форма будет генерировать запрос в соответствии с полями в этой форме. Код находится здесьДобавить поля для поиска при нажатии кнопки
<?php
$i=0;
print '<form action="search.php" method="post" ><input name="ad_field_button" type="submit" value="Add Field" /></form>';
print '<form action="results1.php" method="post" style="width:550px">';
print '<table border="0"><tr><td>';
print 'Field Name <select name="field_list'.$i.'" size="1"><option selected="selected">Select...</option>
<option id="Id" name="id'.$i.'">Id</option>
<option id="Name" name="name'.$i.'">Name</option>
<option id="Nick Name" name="nickname'.$i.'">Nick Name</option>
<option id="Pet" name="pet'.$i.'">Pet</option>
<option id="Disease" name="disease'.$i.'">Disease Associated</option>
</select></td>';
print '<td>Operator <select name="operator_list'.$i.'" size="1"><option selected="selected">Select...</option>
<option id="Equal" name="equal'.$i.'">=</option>
<option id="Gthan" name="gthan'.$i.'">></option>
<option id="Lthan" name="lthan'.$i.'"><</option>
<option id="Like" name="like'.$i.'">LIKE</option>
</select></td>';
print ' <td>Query <input name="ad_search_query'.$i.'" type="text" /></td>';
print ' <td>Condition <select name="cond_list'.$i.'" size="1"><option selected="selected">Select...</option>
<option id="And" name="and'.$i.'">AND</option>
<option id="Or" name="or'.$i.'">OR</option>
</select></td></tr>';
if(isset($_POST["ad_field_button"]))
{
$i++;
print '<tr><td>';
print 'Field Name <select name="field_list'.$i.'" size="1"><option selected="selected">Select...</option>
<option id="Id" name="id'.$i.'">Id</option>
<option id="Name" name="name'.$i.'">Name</option>
<option id="Nick Name" name="nickname'.$i.'">Nick Name</option>
<option id="Pet" name="pet'.$i.'">Pet</option>
<option id="Disease" name="disease'.$i.'">Disease Associated</option>
</select></td>';
print ' <td>Operator <select name="operator_list'.$i.'" size="1"><option selected="selected">Select...</option>
<option id="Equal" name="equal'.$i.'">=</option>
<option id="Gthan" name="gthan'.$i.'">></option>
<option id="Lthan" name="lthan'.$i.'"><</option>
<option id="Like" name="like'.$i.'">LIKE</option>
</select></td>';
print ' <td>Query <input name="ad_search_query'.$i.'" type="text" /></td>';
print ' <td>Condition <select name="cond_list'.$i.'" size="1"><option selected="selected">Select...</option>
<option id="And" name="and'.$i.'">AND</option>
<option id="Or" name="or'.$i.'">OR</option>
</select></td>';
}
print '</table>';
print ' <input name="ad_s_button" type="submit" value="Search" />';
print '</form>';
?>
Это мой код для работы обеих форм. Но первая форма работает только один раз. Он просто добавляет одно поле, в котором полные поля равны двум. Когда я нажимаю, чтобы добавить третье поле, это не сработает. Что может быть проблемой и решением для этого?
Это дает мне Уведомление: Неопределенный индекс: field_list в C: \ wamp \ www \ My Project \ search.php –
Вы должны установить его как строгий. Я обновил ответ, чтобы обработать это - добавлено 'isset ($ _ POST ['field_list']) &&' в третьей строке кода. –
Теперь он работает, но только один раз. Он должен работать каждый раз при нажатии кнопки ad_field_button. Не могли бы вы рассказать мне, как это сделать? –