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

Форум MySQL

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

 

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

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

тема: выборка данных по дате с несколькими другими параметрами
 
 автор: DreadfulS   (15.10.2006 в 18:00)   письмо автору
 
 

вопрос 1.

    <?php
      
//выбираем нужное нам
      
$query "SELECT * FROM base
                WHERE date="
.$_GET[???????]." AND hide='show' AND id_catalog=".$_GET['id_parent'].
                ORDER BY pos"
;
      
$prt mysql_query($query);
      if(
$prt)
      {
        
?>

теоретически выглядеть запрос должен как приведённый выше, вот только мне не понятно как туда впихнуть
а) текушую дату
б) все даты кроме текущей и выше?

вопрос 2.
в БД имеется поле date, тип поля date, формат 0000-00-00
и имеется форма записи в БД

<tr><td><p class=zag2>дата</td><td><input size=19 class=input type=text name=date value='<?php echo $date?>'></td></tr>

каким образом можно внести текущую дату в поле формы с возможностью изменения даты, для занесения в соответствующее поле в БД

попробывал сделат с формой так...

<?
  $date 
date("d.m.y");
<
tr><td><class=zag2>дата</td><td><input size=19 class=input type=text name=date value='<?php echo $date; ?>'></td></tr>

но при чтении из БД получается дата 2015 число 10 месяца 06 года

   
 
 автор: kasmanaft   (15.10.2006 в 18:19)   письмо автору
 
   для: DreadfulS   (15.10.2006 в 18:00)
 

Насчет первого вопроса ...
Это смотря в каком формате у вас дата хранится ..
вывести все за сегодняшний день - " * * * WHERE date=".date("y.m.d")." AND * * * "
дальше текущей даты соответственно " WHERE date>* * * "

По второму вопросу попробуйте изменить формат даты на такой:
date("y.m.d")

   
 
 автор: DreadfulS   (15.10.2006 в 18:32)   письмо автору
 
   для: kasmanaft   (15.10.2006 в 18:19)
 

на счёт первого спасибо, сейчас попробую, а вот по поводу изменения на другой формат, в базе дата записывается в формате 0000-00-00 другого там нет, а мне бы сделать так что бы перед записью из формы в базу она конвертировалась бы из 00-00-0000(00) в формат БД 0000-00-00, а при чтении из неё опять конвертировалась обратно в 00-00-0000(00).
p.s. надеюсь я выражаюсь понятно, если что то коверкаю, то сорь, поправляйте плиз:)

   
 
 автор: kasmanaft   (15.10.2006 в 18:41)   письмо автору
 
   для: DreadfulS   (15.10.2006 в 18:32)
 

сконвертировать можно таким способом:

<?
$date 
'15-10-2006';
echo 
date("Y.m.d"strtotime($date));
?>

конвертировать можно прямо перед занесением в БД ...

   
 
 автор: Whi-teOoS   (15.10.2006 в 20:32)   письмо автору
 
   для: DreadfulS   (15.10.2006 в 18:32)
 

Нелогично, слишком много действий, имхо. Проще хранить дату в нужном формате в базе сразу.
(в текстовом поле + функция date() если не ошибаюсь)

   
 
 автор: DreadfulS   (15.10.2006 в 21:58)   письмо автору
 
   для: Whi-teOoS   (15.10.2006 в 20:32)
 

хм... можно по подробнее? в БД сделать поле с параметром text, это понятно, а вот с функцией не очень понятно, как это реализовать на практике?

   
 
 автор: Spayker   (15.10.2006 в 22:11)   письмо автору
 
   для: DreadfulS   (15.10.2006 в 21:58)
 

Нет, не TEXT а INT(10) и в базу записывайте вот так допустим


<?php
$datetime 
time();
"INSERT INTO news (datetime)VALUES('$datetime')";
?>

Потом уже при поможи функции date(); можно приобраовывать как угодно.

   
 
 автор: DreadfulS   (15.10.2006 в 23:45)   письмо автору
 
   для: kasmanaft   (15.10.2006 в 18:19)
 

" * * * WHERE date=".date("y.m.d")." AND * * * "
этот вариант не работает, причём перепробывал его наверное во всех возможных вариантах:(

   
 
 автор: Spayker   (16.10.2006 в 00:11)   письмо автору
 
   для: DreadfulS   (15.10.2006 в 23:45)
 

Ошибка или что?

   
 
 автор: DreadfulS   (16.10.2006 в 00:13)   письмо автору
 
   для: Spayker   (16.10.2006 в 00:11)
 

вообще ничего не выводится, ошибка не выдаётся

   
 
 автор: kasmanaft   (16.10.2006 в 00:54)   письмо автору
 
   для: DreadfulS   (16.10.2006 в 00:13)
 

с большим " Y " пробовалu?
(нужно чтобы формат даты совпадал)

   
 
 автор: DreadfulS   (16.10.2006 в 09:53)   письмо автору
 
   для: kasmanaft   (16.10.2006 в 00:54)
 

пробовал

   
 
 автор: kasmanaft   (16.10.2006 в 10:19)   письмо автору
 
   для: DreadfulS   (16.10.2006 в 09:53)
 

будем гадать дальше :)
в кавычки ставил дату?

   
 
 автор: DreadfulS   (16.10.2006 в 11:01)   письмо автору
 
   для: kasmanaft   (16.10.2006 в 10:19)
 


    <?php
      $query 
"SELECT * FROM product 
                WHERE date<"
.date("Y.m.d")." AND hide='show' AND id_catalog=".$_GET['id_parent'].
                ORDER BY pos"
;
      
$prt mysql_query($query);
      if(
$prt)
      {
      
?>

таков текущий вариант, кавычки перепробывал во всех вариациях:(

   
 
 автор: Trianon   (16.10.2006 в 11:25)   письмо автору
 
   для: DreadfulS   (16.10.2006 в 11:01)
 

Тогда попробуйте правильный вариант ))
<?php 
      $query 
"SELECT * FROM product  
                WHERE date<"
.date("'Y.m.d'")." AND hide='show' AND id_catalog=".$_GET['id_parent']."  
                ORDER BY pos"

      
$prt mysql_query($query); 
      if(
$prt
      { 
      
?>

   
 
 автор: DreadfulS   (16.10.2006 в 12:17)   письмо автору
 
   для: Trianon   (16.10.2006 в 11:25)
 

спасибо большое:) я тормоз, это единственный вариант который я не опробывал:)

   
 
 автор: Trianon   (16.10.2006 в 12:19)   письмо автору
 
   для: DreadfulS   (16.10.2006 в 12:17)
 

Нет, не единственный.
Вот еще один:

<?php  
      $query 
"SELECT * FROM product   
                WHERE date<'"
.date("Y.m.d")."' AND hide='show' AND id_catalog=".$_GET['id_parent']."   
                ORDER BY pos"
;  
      
$prt mysql_query($query);  
      if(
$prt)  
      {  
      
?> 

   
Rambler's Top100
вверх

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