Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Поиск с условием
 
 автор: Eser   (07.03.2007 в 22:16)   письмо автору
 
 

Помогите пожалуйста.
Нужно написать простой поиск
1) по "имени пользователя" что бы выводил все записи этого пользователя
2)по дате "от -до" что бы выводил все сообщения из заданного диапазона
3)по "имени пользователя" и "от -до" что бы воводил сообщения пользователя за какой то промежуток времени:

Написал код но он глючит. Он выводит только сообщения пользователя за какой то промежуток времени.
Призапуске он выдает:Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Program Files\Apache Group\Apache2\htdocs\script\test5.php on line 24 но страничку отображает
Как только я хочу сделать поиск по 1) или 2) он выводит 0, а не список

Вот код:

<?php
require_once("config_mysql_connect.php");
echo ("<center><h3>Архив заявок</h3></center>
<FORM ACTION=test5.php METHOD=POST>
<table border=1 width=100%>
<td width=15%>Пользователь:
<td width=20%><input type=text name=find_zayavka_name size=25>

<td>Интервал:
<td><input type=text name=find_zayavka_time_1 size=20>
<td><input type=text name=find_zayavka_time_2 size=20>
<td><input type=submit value=Поиск>
</table>
</form>
<br>");
$name=$_POST['find_zayavka_name'];
$time1=$_POST['find_zayavka_time_1'];
$time2=$_POST['find_zayavka_time_2'];

if (isset ($name)) $sql=mysql_query("select * from zayavki where name='$name';");
if (isset ($time1)&&(time2)) $sql=mysql_query("select * from zayavki where date between '$time1' and '$time2';");
if (isset ($name)&&(time1)&&(time2)) $sql=mysql_query("select * from zayavki where name='$name' and date between '$time1'and'$time2';");

$kolstr=mysql_num_rows($sql);
echo $kolstr;

for ($i=0;$i<$kolstr;$i++)
{

$var1=mysql_fetch_array($sql);
$text=$var1['text'];
$date=$var1['date'];
$time=$var1['time'];
$endtime=$var1['endtime'];
$enddate=$var1['enddate'];

echo ("<table border=1 width=100%>
<td width=2%>$i</td>
<td width=55%><TEXTAREA NAME=text_zayavki WRAP=virtual COLS=50 ROWS=5>$text</TEXTAREA></td>
<td valign=top >Дата заявки $date $time
<br>Состояние &nbsp $stat &nbsp в $enddate $endtime
</td>
</table>");
}

?>

   
 
 автор: bronenos   (07.03.2007 в 22:24)   письмо автору
 
   для: Eser   (07.03.2007 в 22:16)
 

В условии у вас проверяется на true константа time а не переменная
<?
$sql 
'select * from zayavki where 1';
if (isset(
$name))
  
$sql .= " and name='$name'";
if (isset(
$time1) && isset($time2))
  
$sql .= " and date between '$time1' and '$time2'";
mysql_query ($sql);
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования