[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как выбрать по дате (для пользователя)
PHucker
Здравствуйте! Есть у меня таблица связанная с БД. Там выводятся считанные данные счетчиков с датой чтения. Мне нужно сделать так, чтобы пользователь мог выбрать считанные данные только по дате. И поставить ограничение не больше месяца.
AllesKlar
$start_date = ....
$end_date = ....

if( strtotime($end_date) <= strtotime($start_date. '+1 month'))
{
$query = "SELECT * FROM table_name WHERE feld_date >= '" . $start_date . "' AND feld_date <= '" . $end_date . "'";
.......................

}
else
{
echo "Диапазон не должен быть больше одного месяца";
}


PHucker
А что такое хУкер?

------------------
А, нашел :)
http://de.wikipedia.org/wiki/Hucker_%28Beruf%29
На немецком, правда, но, смысл там ясен :) Разнорабочий на стройке :)

_____________
[продано копирайтерам]
PHucker
Можно и хУкер, но я предпочитаю Факер)) Так вот, всё что вы написали это на "сервере" выполняется как я понимаю). Но как новичок, не постыжусь спросить еще: вот например у вас тут на форме сообщения есть выпадающие меню: Цвет, Размер, Шрифт, Список, Выравнивание. Мне нужно сделать именно так. Например: Нажал на кнопку Список и там пункты. Мне вместо этих пунктов нужно указать время. И когда нажать на время, то показались те счетчики, которые были считаны в это время. Ваш код понял. Вот мой: <html>
<head>
<title>Report</title>
<link href="css/frombase.css" type="text/css" rel="stylesheet">
</head>
<body>
<table border="1" height="" width="" id="table2">
<tr value="hidden">
<td id="first"">НомерСчетчика</td>
<td id="first">ID</td>
<td id="first">Fields</td>
<td id="first">Description</td>
<td id="first">Дата</td>
<td id="first">Значение</td>

</tr>
<?php
$connect = mysql_connect("*********", "report_user", "*******");
$selectdb = mysql_select_db("smartvend", $connect);
$result = mysql_query("SELECT history.MeterNum, fields.ID, history.FieldName, fields.Description, history.ExecDate, history.FieldValue
FROM
amr_fields fields, amr_read_history history
WHERE fields.ID=history.FieldName AND history.ExecDate>'2014.04.15'
", $connect);

while ($data = mysql_fetch_row($result))
{
echo"<tr>";
echo"<td>{$data[0]}</td>";
echo"<td>{$data[1]}</td>";
echo"<td>{$data[2]}</td>";
echo"<td>{$data[3]}</td>";
echo"<td>{$data[4]}</td>";
echo"<td>{$data[5]}</td>";
echo"</tr>";
}
?>
</table>
</body>
</html>
пожалуйста, подскажите как мне это сделать?
ваша помощь для меня важна о гуру))
AllesKlar
Цитата
И когда нажать на время, то показались те счетчики, которые были считаны в это время

Обычный <select>....</select>
Сначала из базы вибираешь только время для всех счетчиков, заполняешь этот <select>
Потом пользователь выбирает в нем время и на сервер улетает запрос.

Это азы работы с формами.

_____________
[продано копирайтерам]
PHucker
Спасибо!) Сделал как вы и говорили. Теперь как связать со значениями? На примере покажите плиз. Помогите чайнику закипеть. На всякий случай вот код еще раз:

<html>
<head>
<title>Report</title>
<link href="css/frombase.css" type="text/css" rel="stylesheet">

</head>
<body>
<table border="1" height="" width="" id="table1">
<tr >
<td id="first">НомерСчетчика</td>
<td id="first">ID</td>
<td id="first">Fields</td>
<td id="first">Description</td>
<td id="first">
<select>
<option selected disabled="Время чтения">Время чтения</option>
<option value="10 дней">10 дней</option>
<option value="15 дней">15 дней</option>
<option value="20 дней">20 дней</option>
<option value="30 дней">30 дней</option>
</select>
<input type="submit" value="Считать">
</td>
<td id="first">Значение</td>

</tr>
<?php
$connect = mysql_connect("********", "report_user", "***********");
$selectdb = mysql_select_db("smartvend", $connect);
$result = mysql_query("SELECT history.MeterNum, fields.ID, history.FieldName, fields.Description, history.ExecDate, history.FieldValue
FROM
amr_fields fields, amr_read_history history
WHERE fields.ID=history.FieldName AND history.ExecDate>'2014.04.15'
", $connect);

while ($data = mysql_fetch_row($result))
{
echo"<tr>";
echo"<td>{$data[0]}</td>";
echo"<td>{$data[1]}</td>";
echo"<td>{$data[2]}</td>";
echo"<td>{$data[3]}</td>";
echo"<td>{$data[4]}</td>";
echo"<td>{$data[5]}</td>";
echo"</tr>";
}
?>
</table>
</body>
</html>
Valick
<option value="10 дней">10 дней</option>
лучше так
<option value="10">10 дней</option>

и еще старайтесь html код размещать внизу, а сначала всю логику обработки страницы на РНР.

_____________
Стимулятор ~yoomoney - 41001303250491
PHucker
Учту обязательно, как связать пункт "15 дней" с считанными данными на 15 дней?
У меня еще несколько таких таблиц, и если я научусь, то с другими таблицами легче будет. unsure.gif
AllesKlar
<select>
<option
value="10 дней">10 дней</option>
....
</select>


<select name='time_interval'>
<option
value="10">10 дней</option>
...
</select>

-----------------

<?php
$intervals = array(10,15,20,30);
if( isset($_POST['time_interval']) && in_array(intval($_POST['time_interval']) , $intervals) )
{
$interval = intval($_POST['time_interval']);
$start_date = .... // начало интервала
$end_date = date('Y-m-d', strtotime($start_date. '+' . $interval . 'days'));
$query = "SELECT * FROM table_name WHERE feld_date >= '" . $start_date . "' AND feld_date <= '" . $end_date . "'";
...........................


}
else
{
// неверный интервал
}


_____________
[продано копирайтерам]
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.