@fokin_nikolay1989

Какая проблема вывода php+mysql?

Проблема вывода информации из запроса. ПОльзователь в форме выбирает необходимый параметр по которому будет фильтровать, после этого работает select который показывает колличество записей найденных а так же вывод в таблицу данных на основании выбранного параметра
$sql = mysql_query(
"SELECT *
  FROM logRF 
 where fio like IFNULL('%".$_POST['fio']."%', fio)
    AND data_birth = IFNULL('%".$_POST['data_birth']."%', data_birth)
	AND nation = IFNULL('%".$_POST['nation']."%', nation)
	AND sentence_court = IFNULL('%".$_POST['sentence_court']."%', sentence_court)
	AND court = IFNULL('%".$_POST['court']."%', court)
	AND term = IFNULL('%".$_POST['term']."%', term)
	AND documentation = IFNULL('%".$_POST['documentation']."%', documentation)
	AND no_documentation = IFNULL('%".$_POST['no_documentation']."%', no_documentation)
	AND date_exclusion = IFNULL('%".$_POST['date_exclusion']."%', date_exclusion)
	AND planned = IFNULL('%".$_POST['planned']."%', planned)
	AND ticket = IFNULL('%".$_POST['ticket']."%', ticket)
	AND notice = IFNULL('%".$_POST['notice']."%', notice)
	AND delay = IFNULL('%".$_POST['delay']."%', delay)
	AND hospital = IFNULL('%".$_POST['hospital']."%', hospital)
	AND fines = IFNULL('%".$_POST['fines']."%', fines)
	AND ug_fines = IFNULL('%".$_POST['ug_fines']."%', ug_fines)
	AND article = IFNULL('%".$_POST['article']."%', article)
   AND bailiff = IFNULL('%".$_POST['bailiff']."%', bailiff)",$link);

 $count = mysql_query("SELECT COUNT(*) FROM logRF where fio like '%".$_POST['fio']."%' ");
 $row = mysql_fetch_row($count);

Код вывода
while($_POST = mysql_fetch_array($sql)){ 
   
   echo '<tr>';
   echo "<td width='150px'> 
			<input width='30px' type=\"image\" value=\"Перейти\" src=\"img/add.png\" onclick=\"location.href='add.php?id={$row['id']}'\"> |
			<input width='30px' type=\"image\" value=\"Перейти\" src=\"img/edit.png\" onclick=\"location.href='edid.php?id={$row['id']}'\"> |
			<input width='30px' type=\"image\" value=\"Перейти\" src=\"img/del.png\" onclick=\"location.href='delete.php?id={$row['id']}'\">
	  </td>";
    echo '<td>' . $_POST['fio'] . '</td>';
	echo '<td>' . $_POST['data_birth'] . '</td>';
	echo '<td>' . $_POST['nation'] . '</td>';
	echo '<td>' . $_POST['sentence_court'] . '</td>';
	echo '<td>' . $_POST['court'] . '</td>';
	echo '<td>' . $_POST['term'] . '</td>';
	echo '<td>' . $_POST['documentation'] . '</td>';
	echo '<td>' . $_POST['no_documentation'] . '</td>';
	echo '<td>' . $_POST['date_exclusion'] . '</td>';
	echo '<td>' . $_POST['planned'] . '</td>';
	echo '<td>' . $_POST['ticket'] . '</td>';
	echo '<td>' . $_POST['notice'] . '</td>';
	echo '<td>' . $_POST['delay'] . '</td>';
	echo '<td>' . $_POST['hospital'] . '</td>';
	echo '<td>' . $_POST['prison'] . '</td>';
	echo '<td>' . $_POST['fines'] . '</td>';
	echo '<td>' . $_POST['ug_fines'] . '</td>';
	echo '<td>' . $_POST['article'] . '</td>';
	echo '<td>' . $_POST['bailiff'] . '</td>';
	
    echo '</tr>';
  }

при этом вывод количества найденных строк показывает, а вот вывод самих строк почему то нет
  • Вопрос задан
  • 174 просмотра
Пригласить эксперта
Ответы на вопрос 2
@DenisDangerous
$count = mysql_query("SELECT COUNT(*) FROM logRF where fio like '%".$_POST['fio']."%' ");
 $row = mysql_fetch_row($count);

А где тоже самое для $sql? Т.е. запрос то вы сделали, а fetch_row где?

И к слову mysql давно устарело. Используйте mysqli или PDOMysql
Ответ написан
Комментировать
@pool
Код - жесть.

Если поиск не по fio, то либо нужно убрать в $sql знак % везде, кроме fio, либо заменить знак = на LIKE:
т.е.
а. AND term = IFNULL('".$_POST['term']."', term)
или
б. AND term LIKE IFNULL('%".$_POST['term']."%', term)

Но лучше переписать всё.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы