PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (52): В начало « ... 44 45 46 47 48 49 50 [51] 52 »

> Найдено сообщений: 766
pantela Отправлено: 23 Августа, 2010 - 17:18:46 • Тема: Запрос с WHERE • Форум: SQL и Архитектура БД

Ответов: 11
Просмотров: 50
Я очень рад что так теоритический обясняите, но вот не смог ли бы вы мне код прямо предостаивть запроса... Недовольство, огорчение

2 вида мне надо выводить. через 1 запрос. А OR вроде он тут будет как одно или второе, а AND как одно и второе.

но что то не так вроде, или я не праивльно понимаю...
pantela Отправлено: 22 Августа, 2010 - 23:37:15 • Тема: Запрос с WHERE • Форум: SQL и Архитектура БД

Ответов: 11
Просмотров: 50
Ну вот именно это часть не работает как надо:
т.е. 2 мне надо вывести объявления 2 вида через это 1 запрос

CODE (SQL):
скопировать код в буфер обмена
  1. $query = "SELECT * "
  2.                               ."FROM #__as_ads_stan "
  3.                               ."WHERE publish = 1 "
  4.                               ."AND (DATE(date_end_vip) >= CURRENT_DATE()) or (DATE(date_end_std) >= CURRENT_DATE()) ";


1. publish=1
2. date_end_vip большое текушей даты
CODE (SQL):
скопировать код в буфер обмена
  1. "WHERE publish = 1 AND DATE(date_end_vip) >= CURRENT_DATE()";


1. publish=1
2. date_end_std большое текушей даты
CODE (SQL):
скопировать код в буфер обмена
  1. "WHERE publish = 1 AND DATE(date_end_std) >= CURRENT_DATE()";


Вот и не понял как их обединить по моей функции OR или AND или что там ещё и как не понял Недовольство, огорчение
pantela Отправлено: 22 Августа, 2010 - 20:52:07 • Тема: Запрос с WHERE • Форум: SQL и Архитектура БД

Ответов: 11
Просмотров: 50
Uchkuma - случайно не сделал подсветку ))

Немного не понял вас. как сделать. вот полная функция запроса:
То что мне надо с 11 по 14 строку.

CODE (SQL):
скопировать код в буфер обмена
  1. FUNCTION search($tip_nejvijimosti, $tip_sdelki, $region, $raion, $cena_min, $cena_max, $limit=0, $limitstart=0) {
  2.                 $db = &JFactory::getDBO();
  3.                
  4.                 $tip_nejvijimosti = (int) $tip_nejvijimosti;
  5.                 $tip_sdelki = (int) $tip_sdelki;
  6.                 $region = (int) $region;
  7.                 $raion = (int) $raion;
  8.                 $cena_min = (int) $cena_min;
  9.                 $cena_max = (int) $cena_max;
  10.                
  11.                 $query = "SELECT * "
  12.                                                 ."FROM #__as_ads_stan "
  13.                                                 ."WHERE publish = 1 "
  14.                                                 ."AND (DATE(date_end_vip) >= CURRENT_DATE()) or (DATE(date_end_std) >= CURRENT_DATE()) ";
  15.                 IF ($tip_nejvijimosti)
  16.                         $query .= "AND tip_nejvijimosti=$tip_nejvijimosti ";
  17.                 IF ($tip_sdelki)
  18.                         $query .= "AND tip_sdelki=$tip_sdelki ";
  19.                 IF ($region)
  20.                         $query .= "AND region=$region ";
  21.                 IF ($raion)
  22.                         $query .= "AND raion=$raion ";
  23.                 IF ($cena_min && !$cena_max)
  24.                         $query .= "AND (cena >= $cena_min OR cena IS NULL OR cena = 0) ";
  25.                 IF ($cena_max && !$cena_min)
  26.                         $query .= "AND (cena <= $cena_max OR cena IS NULL OR cena = 0) ";
  27.                 IF ($cena_min && $cena_max)
  28.                         $query .= "AND (cena >= $cena_min AND cena <= $cena_max OR (cena IS NULL OR cena = 0)) ";
  29.                 IF (!$cena_min && !$cena_max)
  30.                         $query .= "AND (cena IS NOT NULL OR cena IS NULL OR cena = 0) ";
  31.                 $query .= "ORDER BY id DESC ";
  32.                 IF ($limit)
  33.                         $query .= "LIMIT $limitstart, $limit";
  34.                 $db->setQuery($query);
  35.                 $searchResult = $db->loadObjectList();
  36.                
  37.                 RETURN $searchResult;
  38.         }
pantela Отправлено: 22 Августа, 2010 - 20:27:32 • Тема: Запрос с WHERE • Форум: SQL и Архитектура БД

Ответов: 11
Просмотров: 50
Есть таблица с объявлениями:
CODE (SQL):
скопировать код в буфер обмена
  1. CREATE TABLE `jos_as_ads_stan` (
  2.   `id` int(4) NOT NULL AUTO_INCREMENT,
  3.   `publish` int(1) DEFAULT '0',
  4.   `date_start` date DEFAULT '0000-00-00',
  5.   `date_end_vip` date DEFAULT '0000-00-00',
  6.   `date_end_std` date DEFAULT '0000-00-00',
  7.   PRIMARY KEY  (`id`),
  8.   KEY `id` (`id`)
  9. ) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=5;
  10.  
  11. INSERT INTO `jos_as_ads_stan` VALUES (1, 1, '2010-07-19', '2010-07-19', '2010-11-19');
  12. INSERT INTO `jos_as_ads_stan` VALUES (2, 1, '2010-07-19', '2010-11-19', '2010-07-19');
  13. INSERT INTO `jos_as_ads_stan` VALUES (3, 1, '2010-07-19', '2010-07-19', '2010-11-19');
  14. INSERT INTO `jos_as_ads_stan` VALUES (4, 1, '2010-07-19', '2010-11-19', '2010-07-19');
  15. INSERT INTO `jos_as_ads_stan` VALUES (5, 1, '2010-07-19', '2010-07-19', '2010-11-19');
  16. INSERT INTO `jos_as_ads_stan` VALUES (6, 1, '2010-07-19', '2010-07-19', '2010-11-19');
  17. INSERT INTO `jos_as_ads_stan` VALUES (7, 1, '2010-07-19', '2010-07-19', '2010-11-19');
  18.  


Агоритм вывода токой:
Выводить 2 вида объявдения где:
I)
1. publish=1
2. date_end_vip большое текушей даты
PHP:
скопировать код в буфер обмена
  1. "WHERE publish = 1 AND DATE(date_end_vip) >= CURRENT_DATE()";


II)
1. publish=1
2. date_end_std большое текушей даты
PHP:
скопировать код в буфер обмена
  1. "WHERE publish = 1 AND DATE(date_end_std) >= CURRENT_DATE()";


По частям всё работает,

Вот только мне надо что бы эти оба запросы работали через 1 запрос:
Попробовал запрос, но ничего не выводится:
PHP:
скопировать код в буфер обмена
  1. "WHERE publish = 1 AND (DATE(date_end_vip) >= CURRENT_DATE()) AND (DATE(date_end_std) >= CURRENT_DATE())";


т.е. надо разделить что бы оба вида учитывались бы. У меня зяпрос работает через функцию, поэтому через 1 зарос надо
pantela Отправлено: 22 Августа, 2010 - 20:26:09 • Тема: Орифметика с датой • Форум: Программирование на PHP

Ответов: 8
Просмотров: 446
Спасибо. Подмигивание
Малось по другому сделал.
pantela Отправлено: 22 Августа, 2010 - 14:43:27 • Тема: Орифметика с датой • Форум: Программирование на PHP

Ответов: 8
Просмотров: 446
спс всем но вот до реализации не додумался как.
У кого есть время может по быстрому отпишет готовый код. Закатив глазки
спс. и сорри
pantela Отправлено: 22 Августа, 2010 - 14:13:33 • Тема: Орифметика с датой • Форум: Программирование на PHP

Ответов: 8
Просмотров: 446
В базе есть поле date_end

Мне надо подсчетать сколько дней осталось. т.е. с поля date_end отнимаю текушую дату

PHP:
скопировать код в буфер обмена
  1.  
  2. $today=(date('Y-m-d')); //Текушая дата
  3. $adsDetails->date_end_std //Дата в поле
  4.  
  5. $deadline=($adsDetails->date_end_std)-(date('Y-m-d'));
  6.  
  7. echo "$deadline";
  8.  


но итог=0. Помогите доделать Растерялся

Мне что надо по отдельности всё отнимать т.е. день отдельно, месяц отдельно, год отдельно и это всё присвоить к одной переменой Однако

спс.Ув.
pantela Отправлено: 21 Августа, 2010 - 06:15:47 • Тема: Сноска на php • Форум: Программирование на PHP

Ответов: 11
Просмотров: 643
ок большое спасибо
pantela Отправлено: 20 Августа, 2010 - 00:03:41 • Тема: Сноска на php • Форум: Программирование на PHP

Ответов: 11
Просмотров: 643
asql
Да спс так, вот только мне нао только чисто выводить
0.0
0.1
0.2
0.3
0.4
0.5
....

И ещё когда значение добавляю в базу оно у меня идёт без точки. вроде надотип постаивть duble только не очень понял в скольки символах его поставить его поставить Растерялся
pantela Отправлено: 17 Августа, 2010 - 14:21:15 • Тема: Проверка с поля к полю • Форум: Программирование на PHP

Ответов: 4
Просмотров: 291
Error

Parse error: syntax error, unexpected '.', expecting ')' in Z:\home\test4.ru\www\components\com_as_ads\views\as_adsliststd\tmpl\default.php on line 29

29 line:
Your code is better than mine? (my code in post #1)
pantela Отправлено: 17 Августа, 2010 - 12:26:44 • Тема: Проверка с поля к полю • Форум: Программирование на PHP

Ответов: 4
Просмотров: 291
Есть 1 полей:
photo1
photo2
photo3
photo4
photo5

Вних находятся ссылка изображения, т.е. если в поле прописанно что нибудь значит изображение есть, если оно пустое значит нету.

Далее есть код который выводит изображение photo1, если изображения нету в photo1, тогда выводится изображение no_photo.gif
PHP:
скопировать код в буфер обмена
  1. <?PHP if (!empty($ad->photo1) && file_exists(AS_ADS_IMG_PATH.$ad->photo1)) : ?>
  2. <img src="<?PHP echo AS_ADS_IMG_URL.$ad->photo1; ?>" width="112" height="84" alt="photo_1" /><?PHP else : ?>
  3. <img src="<?PHP echo AS_ADS_OTHIMG_URL.'no_photo.gif'; ?>" width="112" height="84" alt="" /><?PHP endif; ?>


Момент токой что нубные пользователи иногда добавляя изображение, пропускай поле photo1, вот и при выводе объявления тогда появляется изображение no_photo.gif.

Одним словом мне надо реализовать токой код, что если поле photo_1 пустой, тогда перейти photo_2, если  оно пустое тогда photo_3 и.т.д. до photo_5, в итоге если и оно пустое тогда выводим изображение no_photo.gif


Решение нашол, вот только может есть более профессиональное.  ^-^

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if (!empty($ad->photo1)){$AS_ADS_IMG_URL="$ad->photo1";}
  3. if (empty($ad->photo1)){$AS_ADS_IMG_URL="$ad->photo2";}
  4. if (empty($ad->photo2)){$AS_ADS_IMG_URL="$ad->photo3";}
  5. if (empty($ad->photo3)){$AS_ADS_IMG_URL="$ad->photo4";}
  6. if (empty($ad->photo4)){$AS_ADS_IMG_URL="$ad->photo5";}
  7. if (empty($ad->photo5)){$AS_ADS_IMG_URL="$ad->photo6";}
  8. if (empty($ad->photo1) && empty($ad->photo2) && empty($ad->photo3) && empty($ad->photo4) && empty($ad->photo5) && empty($ad->photo6)) {$AS_ADS_IMG_URL="../no_photo.gif";}
  9. ?>


спс.Ув.
pantela Отправлено: 17 Августа, 2010 - 07:37:03 • Тема: Сноска на php • Форум: Программирование на PHP

Ответов: 11
Просмотров: 643
Никокой, это для примера я привёл дату... Просто аналог нужен был.

Твой код что то не работает Растерялся


Ещё токой вопрос:
У меня есть:
PHP:
скопировать код в буфер обмена
  1. км/ч<input type="radio" name="probegznachenia" value="1">
  2. мл/ч<input type="radio" name="probegznachenia" value="2">


в базе "probegznachenia" уже записанно как 1 или 2 как сделать при выводе что бы то и было отмеченно которое прописанно в базе Растерялся
pantela Отправлено: 17 Августа, 2010 - 07:05:57 • Тема: Сноска на php • Форум: Программирование на PHP

Ответов: 11
Просмотров: 643
Есть код:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $i=1990;
  3. while($i<=2010){
  4. echo "<OPTION VALUE=\"$i\"";if(!empty($birth_year) && $birth_year==$i){echo" selected";}echo">$i</OPTION>";
  5. ++$i;
  6. }
  7. ?>

Который с 1990 до 2010 делает сноску.

мне надо что бы сноска была бы токого вида:
от 0.0 до 5.0
CODE (htmlphp):
скопировать код в буфер обмена
  1. 0.1
  2. 0.2
  3. 0.3
  4. 0.4
  5. 0.5
  6. 0.6
  7. ...
  8. 5.0


Но что то не получается...

спс.Ув.
pantela Отправлено: 16 Августа, 2010 - 08:26:00 • Тема: От даты отнять текушую дату • Форум: Программирование на PHP

Ответов: 3
Просмотров: 407
Большое спасибо, хотя странно вроде этот метод тоже пробовал ))

Мой конец ещё не пришол надеюсь Язычок ))
pantela Отправлено: 16 Августа, 2010 - 06:56:32 • Тема: От даты отнять текушую дату • Форум: Программирование на PHP

Ответов: 3
Просмотров: 407
У меня есть в таблице поле тип DATE (Дата конца)
напр поле равана: 2010-07-10

Мне надо выводить текст если дата конца меньше текушей даты.

Делаю так:
PHP:
скопировать код в буфер обмена
  1.  
  2. $today=date('Y-m-d');
  3.  
  4. $deadLine = ($ad->date_end) - (today); //От поля отнять Текушую дату
  5.                                
  6. echo "$deadLine"; //Смотрю интервал
  7. echo "<br />";
  8.  
  9. if ($deadLine <= 0){
  10. echo "Кое кокой текст";
  11. }
  12.  


У меня переменая $deadLine вывоит только 2010 и никого текста ничего...

Думаю достаточно описал для того что мне надо...

Надеюсь не кажый параметре дат надо каждую считать т.е. Y-m-d-

спс.Ув.

Страниц (52): В начало « ... 44 45 46 47 48 49 50 [51] 52 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB