Есть у меня уже на страничке два поля для дат, допустим, хранятся в $d1 и $d2. Надо вывести результат запроса с этими параметрами.
например,
//подключение к базе выше
<?php
$query = "";
$res ="";
$query = "SELECT count(user_id) FROM vision_tests where TestDate => " & $d1 & "TestDate <= " & $d2;
$res = mysql_query($query);
echo $res
?>
Результатом будет одно число, мне даже строк не надо. Поправьте меня?
пока пишет "Resource id #31"
Рисую практически в блакноте, приложение пока взять негде. Помогите, плиз. Потом можете закидать меня помидорами
Спустя 1 час, 9 минут, 42 секунды (25.09.2008 - 12:06) waldicom написал(а):
Необходимо выводите не $res, а использовать функцию mysql_fetch_row() или mysql_fetch_assoc()
Там же есть примеры использования
Там же есть примеры использования
Спустя 39 минут, 36 секунд (25.09.2008 - 12:45) sergeiss написал(а):
У меня есть подозрение, что и величины $id1 и $id2 тоже неправильно берутся. И знак & я не понял, зачем введен.
Спустя 15 часов, 59 минут, 51 секунда (26.09.2008 - 04:45) ussama написал(а):
Цитата(waldicom @ 25.9.2008, 16:06) [snapback]49241[/snapback]
Необходимо выводите не $res, а использовать функцию mysql_fetch_row() или mysql_fetch_assoc()
Там же есть примеры использования
Там же есть примеры использования
Спасибо большое!
Цитата(sergeiss @ 25.9.2008, 16:45) [snapback]49245[/snapback]
У меня есть подозрение, что и величины $id1 и $id2 тоже неправильно берутся. И знак & я не понял, зачем введен.
У меня тоже, я пока без where пробую. В книжках, которые у меня есть нет запросов с параметрами. Поправьте, если не трудно, эту строку? Сами переменные правильные, я их по одному выводила.
Спустя 47 минут, 39 секунд (26.09.2008 - 05:33) ussama написал(а):
Спасибо вам за помощь.
Я сделала вот так:
Только вот по дате фильтровать не хочет. Но это уже, видимо, проблема с MySql.
Я сделала вот так:
Код
<?php
$query = "";
$result ="";
$query = "SELECT count(user_id) as all_test FROM vision_tests where testDate >= $sv1_testDate";
//echo $sv1_testDate;
//$res = mysql_query($query);
$result = mysql_query($query);
if (!$result) {
echo "Could not successfully run query ($sql) from DB: " . mysql_error();
exit;
}
if (mysql_num_rows($result) == 0) {
echo "No rows found, nothing to print so am exiting";
exit;
}
while ($row = mysql_fetch_assoc($result)) {
echo $row["all_test"];
//echo $row["fullname"];
//echo $row["userstatus"];
}
mysql_free_result($result);
?>
$query = "";
$result ="";
$query = "SELECT count(user_id) as all_test FROM vision_tests where testDate >= $sv1_testDate";
//echo $sv1_testDate;
//$res = mysql_query($query);
$result = mysql_query($query);
if (!$result) {
echo "Could not successfully run query ($sql) from DB: " . mysql_error();
exit;
}
if (mysql_num_rows($result) == 0) {
echo "No rows found, nothing to print so am exiting";
exit;
}
while ($row = mysql_fetch_assoc($result)) {
echo $row["all_test"];
//echo $row["fullname"];
//echo $row["userstatus"];
}
mysql_free_result($result);
?>
Только вот по дате фильтровать не хочет. Но это уже, видимо, проблема с MySql.
Спустя 2 часа, 44 минуты, 5 секунд (26.09.2008 - 08:17) sergeiss написал(а):
Что значит "не хочет фильтровать по дате"?
Вообще, если мы какие-то строки или даты используем в запросе в символьном виде, то они обязаны быть в апострофах. Иначе ошибка будет.
Вообще, если мы какие-то строки или даты используем в запросе в символьном виде, то они обязаны быть в апострофах. Иначе ошибка будет.
Спустя 18 минут, 20 секунд (26.09.2008 - 08:35) ussama написал(а):
Я нашла - у меня дата пользователем вводится в формате дд/мм/гггг, а сравнивать в запросе надо гггг/мм/дд.
Накопала функцию explode. Ей местами цифры переставляю. Вроде бы правильно всё работает )
И спасибо за апострофы - я их сначала не ставила.
Накопала функцию explode. Ей местами цифры переставляю. Вроде бы правильно всё работает )
И спасибо за апострофы - я их сначала не ставила.
Спустя 1 час, 38 минут, 54 секунды (26.09.2008 - 10:14) sergeiss написал(а):
Может я и не прав... Но дата должна пониматься в разных форматах. Попробуй без перестановки цифр, но с апострофами.
Спустя 2 дня, 18 часов, 20 минут, 5 секунд (29.09.2008 - 04:34) ussama написал(а):
Цитата(sergeiss @ 26.9.2008, 14:14) [snapback]49351[/snapback]
Может я и не прав... Но дата должна пониматься в разных форматах. Попробуй без перестановки цифр, но с апострофами.
Я пробовала с апострофами - вываливает все записи без фильтра.
Спустя 5 часов, 33 минуты, 52 секунды (29.09.2008 - 10:08) sergeiss написал(а):
Цитата(ussama @ 29.9.2008, 5:34) [snapback]49534[/snapback]
Цитата(sergeiss @ 26.9.2008, 14:14) [snapback]49351[/snapback]
Может я и не прав... Но дата должна пониматься в разных форматах. Попробуй без перестановки цифр, но с апострофами.
Я пробовала с апострофами - вываливает все записи без фильтра.
Плз Выложите сюда запрос. С кратким описанием, что именно хотите получить. Чтобы не гадать, а "живьем" его увидеть. Не может такого быть, чтобы не фильтровалось!
Спустя 21 час, 14 минут, 2 секунды (30.09.2008 - 07:22) ussama написал(а):
Вот так 36 записей:
Вот так ни одной:
и пишет "Truncated incorrect datetime value: '22/03/2008'"
Запросы запускаю в MySql Query Browser. Раньше (где все записи вываливает) запускала в PHP Report Maker'e 2.
Может я что-то не то делаю, запрос то пустяшный.
Ещё оказалось, что дата в базе хранится со временем. Приходится время добавлять. Но вот так, как в первом варианте всё работает, так что в этом вопросе не стоит беспокойства )) спасибо
Код
SELECT * FROM vision_tests where testDate between '2008/03/21' and '2008/03/21 23:59:59'
Вот так ни одной:
Код
SELECT * FROM vision_tests where testDate between '21/03/2008' and '22/03/2008'
и пишет "Truncated incorrect datetime value: '22/03/2008'"
Запросы запускаю в MySql Query Browser. Раньше (где все записи вываливает) запускала в PHP Report Maker'e 2.
Может я что-то не то делаю, запрос то пустяшный.
Ещё оказалось, что дата в базе хранится со временем. Приходится время добавлять. Но вот так, как в первом варианте всё работает, так что в этом вопросе не стоит беспокойства )) спасибо
_____________