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

Форум MySQL

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Фильтрация на PHP

Сообщения:  [1-10]   [11-12] 

 
 автор: karlo   (17.09.2007 в 17:49)   письмо автору
 
   для: Faraon   (17.09.2007 в 17:34)
 

Че то я не понял! В выпадающих менюшках все отлично отображается, отлично присваивается переменным и записывается в базу, это делает похожий скрипт! Роль этого, только вывести информацию из базы и при необходимости отфильтровать по дате.

   
 
 автор: Faraon   (17.09.2007 в 17:34)   письмо автору
 
   для: karlo   (17.09.2007 в 17:21)
 

Круто!
Ничего здесь не забыли?
<select name="days">$opt_days</select>.
<select name="months">$opt_months</select>.
<select name="year">$opt_year</select></td>
Как же у вас здесь переменные отобразятся то ?
Я думаю надо наверное <? print $opt_days; ?> и тд

   
 
 автор: karlo   (17.09.2007 в 17:21)   письмо автору
 
   для: Faraon   (17.09.2007 в 17:16)
 

Запрос стоит ниже, просто я поставил его наверх для наглядности.

   
 
 автор: Faraon   (17.09.2007 в 17:16)   письмо автору
 
   для: karlo   (17.09.2007 в 16:52)
 

А почему у вас запрос к БД стоит раньше чем объявляются переменные?
И проверьте после отправки
print $year .$month .$days;
отображаются или нет

   
 
 автор: karlo   (17.09.2007 в 16:52)   письмо автору
 
   для: Faraon   (17.09.2007 в 16:22)
 

Тип поля date date;
Ну как зачем, чтоб удобней было воспринимать информацию.
и поля datep, тоже date.

   
 
 автор: Faraon   (17.09.2007 в 16:22)   письмо автору
 
   для: karlo   (17.09.2007 в 16:17)
 

Сразу спрошу тип поля date какой?
И зачем в данном случае нужна сортировка?

   
 
 автор: karlo   (17.09.2007 в 16:17)   письмо автору
 
   для: Faraon   (17.09.2007 в 15:24)
 

Спасибо! =) Но че то не выходит, давайте разберемся?
Начнем с момента выбора критерия фильтрации:

<?
$db 
pg_query($con"SELECT * FROM konkurs WHERE `date` = '" $year "-" $months "-" $days."' ORDER BY date ASC ");        /// запрос к бд

$submit_batton_value="&#206;&#234;";                //надпись на кнопке

$days="";$months="";$years="";       //обьявление переменных

$form_values=array();

$selected=" SELECTED";

////////////////////////////////////////////////////////////создание чисел для меню (31 день, 12 месяцев, год увеличивается с каждим годом на 1 )

for($i=0;$i<60;$i++){
    if(
$i>&& $i<=31){
    
$opt_days.='<option value="'.$i.'"'.(($days==$i)?$selected:"").'>'.(($i<10)?"0".$i:$i).'</option>';
        if(
$i<=12){
            
$opt_months.='<option value="'.$i.'"'.(($months==$i)?$selected:"").'>'.(($i<10)?"0".$i:$i).'</option>';
        }
    }
}
for(
$i=date("Y");$i<=date("Y")+1;$i++){
    
$opt_year.='<option value="'.$i.'"'.(($year==$i)?$selected:"").'>'.$i.'</option>';
}

echo <<<END


///////////////////////////////////////////////////////////рисуем табличку и формы выбора


<td colspan="3" align="center"><br />
<form action="konkurs_sort2.php" method="post">                             /////////////// отправка данных форм методом POST

<table align="center" cellspacing="0" cellpadding="0" border="0">
<caption><b> &#212;&#238;&#240;&#236;&#224;. </b></caption>
<td>
<table align="center" cellspacing="0" cellpadding="0" border="1">
<tr>
    <td><td name="date">                                                                    ////формы выбора даты
         <select name="days">
$opt_days</select>.
         <select name="months">
$opt_months</select>.
         <select name="year">
$opt_year</select></td>
    <td align="right"><input type="Submit" name=boot value="
$submit_batton_value"></td> /// кнопка "отправить"
</tr>
</table>
</td>
</table>
        </form>
END;
?>


Делее табличка в которой выводятся данные из базы


<?
echo '<table cellpadding="3" cellspacing="0" class="events">';
echo 
'<tr align=center><td class="events" align="center" bgcolor="#EEEEEE"><p class="news_header">&#185; &#207;/&#207;</td>';
echo 
'<td class="events" align="center" bgcolor="#EEEEEE"><p class="news_header">&#196;&#224;&#242;&#224; &#226;&#237;&#229;&#241;&#229;&#237;&#232;&#255;</td>';
echo 
'<td class="events" align="center" bgcolor="#EEEEEE"><p class="news_header">&#202;&#235;&#232;&#229;&#237;&#242;</td>';
echo 
'<td class="events" align="center" bgcolor="#EEEEEE"><p class="news_header">&#210;&#232;&#239; &#234;&#238;&#237;&#234;&#243;&#240;&#241;&#224;</td>';
echo 
'<td class="events" align="center" bgcolor="#EEEEEE"><p class="news_header">&#209;&#241;&#251;&#235;&#234;&#224;</td>';
echo 
'<td class="events" align="center" bgcolor="#EEEEEE"><p class="news_header">&#206;&#239;&#232;&#241;&#224;&#237;&#232;&#229;</td>';
echo 
'<td class="events" align="center" bgcolor="#EEEEEE"><p class="news_header">&#196;&#224;&#242;&#224; &#239;&#238;&#228;&#224;&#247;&#232;</td>';
echo 
'<td class="events" align="center" bgcolor="#EEEEEE"><p class="news_header">&#206;&#242;&#226;&#229;&#242;&#241;&#242;&#226;&#229;&#237;&#237;&#251;&#233;</td>';
echo 
'<td class="events" align="center" bgcolor="#EEEEEE"><p class="news_header">&#208;&#229;&#231;&#243;&#235;&#252;&#242;&#224;&#242;</td></tr>';
////////нижняя часть таблици взята в цикл для того чтобы отобразить все строки базы и увеличить значение номера столбца на 1
$a=0;
while (
$rez pg_fetch_array($db)){
   echo 
"<tr align=center>";
{
$a++;
echo 
'<td class="events"><p class="text">' .$a'<br></td>';
echo 
'<td class="events"><p class="text">' .$rez['date'].'<br></td>';
echo 
'<td class="events"><p class="text">' .$rez['clients'].'<br></td>';
echo 
'<td class="events"><p class="text">' .$rez['tipe'].'<br></td>';
echo 
'<td class="events"><p class="text">' .$rez['links'].'<br></td>';
echo 
'<td class="events"><p class="text">' .$rez['op'].'<br></td>';
echo 
'<td class="events"><p class="text">' .$rez['datep'].'<br></td>';
echo 
'<td class="events"><p class="text">' .$rez['otv'].'<br></td>';
echo 
'<td class="events"><p class="text">' .$rez['rez'].'<br></td>';
}
echo 
'</tr>';
}
echo 
'</table>';
?>


что я делаю не так, табличка перестала отображать вообще какие либо данные.

   
 
 автор: Faraon   (17.09.2007 в 15:32)   письмо автору
 
   для: karlo   (17.09.2007 в 13:39)
 


SELECT * FROM konkurs WHERE `date` >= '" . $year . "-" . $months . "-" . $days."' AND `date` <= '" . $year1 . "-" . $months1 . "-" . $days1."' ORDER BY date ASC

   
 
 автор: Faraon   (17.09.2007 в 15:24)   письмо автору
 
   для: karlo   (17.09.2007 в 11:10)
 

Во первых у вас ошибка синтаксиса

SELECT * FROM konkurs ORDER BY date ASC WHERE date = '" . $year . "-" . $months . "-" . $days
Условие сортировки должно идти после условия WHERE, также date зарезирвированное слово в Mysql и имя этого поля надо брать в обратные кавычки

SELECT * FROM konkurs WHERE `date` = '" . $year . "-" . $months . "-" . $days."' ORDER BY date ASC 

   
 
 автор: karlo   (17.09.2007 в 13:39)   письмо автору
 
   для: mihdan   (17.09.2007 в 13:34)
 

Мне нужна не сортировка а фильтрация, что б на экране оставались только нужные мне записи, отобранные по определенному критерию, в данном случае по дате, например все записи за август 2007 года.

   

Сообщения:  [1-10]   [11-12] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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