вот условие:
Имеется файл с содержимым (книга|автор|издательство|состояние) например:
PHP 5 объектно-ориентированное программирование|Шишов Алексей|БХВ|1
MySQL: неподъемная книга разработчика|Шишов Алексей|БХВ|0
Справочник всего Г в России|Пупкин Вася|Пупкин и к0|1
Написать функцию, считывающую из файла построчно данные и разбивающую их на многомерный массив вида:
array(
array(title => [книга], author => [автор], print => [издательство], status => [состояние]),
array(title => [книга], author => [автор], print => [издательство], status => [состояние]),
array(title => [книга], author => [автор], print => [издательство], status => [состояние]),
);
Также функция должна обрабатывать массив книг и возвращать книги с запрошенным (с помощью формы) состоянием в удобочитаемом виде (таблицей).
Вот мой код, и он работает, если аргумент для myfunc() подставлять в коде (то есть например myfunc(0) выводит таблицу с книгами у которых состояние 0, myfunc(1) выводит соответственно книги с 1). Но не работает когда я пытаюсь передать его из формы с помощью $_POST. Ошибка: Warning: Invalid argument supplied for foreach()
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- function myfunc($st){
- if ($handle) {
- $pieces['title']=$pieces[0];unset($pieces[0]);
- $pieces['author']=$pieces[1];unset($pieces[1]);
- $pieces['print']=$pieces[2];unset($pieces[2]);
- $pieces['status']=$pieces[3];unset($pieces[3]);
- if($pieces['status']==$st){
- $global[] = $pieces;
- }
- }
- }
- echo'<table>
- <tr>
- <th>Название</th>
- <th>Автор</th>
- <th>Издательство</th>
- <th>Состояние</th>
- </tr>';
- foreach($global as $pieces){
- echo'<tr>
- <td>'.$pieces['title'].'</td>
- <td>'.$pieces['author'].'</td>
- <td>'.$pieces['print'].'</td>
- <td>'.$pieces['status'].'</td>
- </tr>';
- }
- echo'</table>';
- /*echo'<pre>';
- print_r($global);
- echo'</pre>';*/
- }
- echo"<p>Выберите значение</p>
- <form method='post' action='raschet.php'>
- <select name='status'>
- <option value='0'>0</option>
- <option value='1'>1</option>
- </select>
- <input type='submit' value='Отправить запрос'>
- </form>
- ";
- $post=$_POST['status'];
- myfunc($post);
- }