PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (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 ):
скопировать код в буфер обмена
$query = "SELECT * "
. "FROM #__as_ads_stan "
. "WHERE publish = 1 "
. "AND (DATE(date_end_vip) >= CURRENT_DATE()) or (DATE(date_end_std) >= CURRENT_DATE()) " ;
1. publish=1
2. date_end_vip большое текушей даты
1. publish=1
2. date_end_std большое текушей даты
Вот и не понял как их обединить по моей функции OR или AND или что там ещё и как не понял
pantela
Отправлено: 22 Августа, 2010 - 20:52:07 • Тема: Запрос с WHERE • Форум: SQL и Архитектура БД
Ответов: 11 Просмотров: 50
Uchkuma - случайно не сделал подсветку ))
Немного не понял вас. как сделать. вот полная функция запроса:
То что мне надо с 11 по 14 строку.
CODE (
SQL ):
скопировать код в буфер обмена
FUNCTION search( $tip_nejvijimosti, $tip_sdelki, $region, $raion, $cena_min, $cena_max, $limit= 0, $limitstart= 0) {
$db = &JFactory::getDBO( ) ;
$tip_nejvijimosti = ( int) $tip_nejvijimosti;
$tip_sdelki = ( int) $tip_sdelki;
$region = ( int) $region;
$raion = ( int) $raion;
$cena_min = ( int) $cena_min;
$cena_max = ( int) $cena_max;
$query = "SELECT * "
. "FROM #__as_ads_stan "
. "WHERE publish = 1 "
. "AND (DATE(date_end_vip) >= CURRENT_DATE()) or (DATE(date_end_std) >= CURRENT_DATE()) " ;
IF ( $tip_nejvijimosti)
$query .= "AND tip_nejvijimosti=$tip_nejvijimosti " ;
IF ( $tip_sdelki)
$query .= "AND tip_sdelki=$tip_sdelki " ;
IF ( $region)
$query .= "AND region=$region " ;
IF ( $raion)
$query .= "AND raion=$raion " ;
IF ( $cena_min && !$cena_max)
$query .= "AND (cena >= $cena_min OR cena IS NULL OR cena = 0) " ;
IF ( $cena_max && !$cena_min)
$query .= "AND (cena <= $cena_max OR cena IS NULL OR cena = 0) " ;
IF ( $cena_min && $cena_max)
$query .= "AND (cena >= $cena_min AND cena <= $cena_max OR (cena IS NULL OR cena = 0)) " ;
IF ( !$cena_min && !$cena_max)
$query .= "AND (cena IS NOT NULL OR cena IS NULL OR cena = 0) " ;
$query .= "ORDER BY id DESC " ;
IF ( $limit)
$query .= "LIMIT $limitstart, $limit" ;
$db-> setQuery( $query) ;
$searchResult = $db-> loadObjectList( ) ;
RETURN $searchResult;
}
pantela
Отправлено: 22 Августа, 2010 - 20:27:32 • Тема: Запрос с WHERE • Форум: SQL и Архитектура БД
Ответов: 11 Просмотров: 50
Есть таблица с объявлениями:CODE (
SQL ):
скопировать код в буфер обмена
CREATE TABLE `jos_as_ads_stan` (
`id` int( 4) NOT NULL AUTO_INCREMENT ,
`publish` int( 1) DEFAULT '0' ,
`date_start` date DEFAULT '0000-00-00' ,
`date_end_vip` date DEFAULT '0000-00-00' ,
`date_end_std` date DEFAULT '0000-00-00' ,
PRIMARY KEY ( `id` ) ,
KEY `id` ( `id` )
) ENGINE= MyISAM AUTO_INCREMENT = 5 DEFAULT CHARSET= utf8 COLLATE= utf8_unicode_ci AUTO_INCREMENT = 5 ;
INSERT INTO `jos_as_ads_stan` VALUES ( 1 , 1 , '2010-07-19' , '2010-07-19' , '2010-11-19' ) ;
INSERT INTO `jos_as_ads_stan` VALUES ( 2 , 1 , '2010-07-19' , '2010-11-19' , '2010-07-19' ) ;
INSERT INTO `jos_as_ads_stan` VALUES ( 3 , 1 , '2010-07-19' , '2010-07-19' , '2010-11-19' ) ;
INSERT INTO `jos_as_ads_stan` VALUES ( 4 , 1 , '2010-07-19' , '2010-11-19' , '2010-07-19' ) ;
INSERT INTO `jos_as_ads_stan` VALUES ( 5 , 1 , '2010-07-19' , '2010-07-19' , '2010-11-19' ) ;
INSERT INTO `jos_as_ads_stan` VALUES ( 6 , 1 , '2010-07-19' , '2010-07-19' , '2010-11-19' ) ;
INSERT INTO `jos_as_ads_stan` VALUES ( 7 , 1 , '2010-07-19' , '2010-07-19' , '2010-11-19' ) ;
Агоритм вывода токой:
Выводить 2 вида объявдения где:
I)
1. publish=1
2. date_end_vip большое текушей даты
II)
1. publish=1
2. date_end_std большое текушей даты
По частям всё работает,
Вот только мне надо что бы эти оба запросы работали через 1 запрос:
Попробовал запрос, но ничего не выводится:
т.е. надо разделить что бы оба вида учитывались бы. У меня зяпрос работает через функцию, поэтому через 1 зарос надо
pantela
Отправлено: 22 Августа, 2010 - 14:43:27 • Тема: Орифметика с датой • Форум: Программирование на PHP
Ответов: 8 Просмотров: 446
спс всем но вот до реализации не додумался как.
У кого есть время может по быстрому отпишет готовый код.
спс. и сорри
pantela
Отправлено: 22 Августа, 2010 - 14:13:33 • Тема: Орифметика с датой • Форум: Программирование на PHP
Ответов: 8 Просмотров: 446
В базе есть поле date_end
Мне надо подсчетать сколько дней осталось. т.е. с поля date_end отнимаю текушую дату
но итог=0. Помогите доделать
Мне что надо по отдельности всё отнимать т.е. день отдельно, месяц отдельно, год отдельно и это всё присвоить к одной переменой
спс.Ув.
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:
скопировать код в буфер обмена
<img src="<?PHP echo AS_ADS_IMG_URL. $ad -> photo1 ; ?> " width="112" height="84" alt="photo_1" /><?PHP else : ?>
<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:
скопировать код в буфер обмена
<?PHP
if ( ! empty ( $ad -> photo1 ) ) { $AS_ADS_IMG_URL = "$ad->photo1 " ; } if ( empty ( $ad -> photo1 ) ) { $AS_ADS_IMG_URL = "$ad->photo2 " ; } if ( empty ( $ad -> photo2 ) ) { $AS_ADS_IMG_URL = "$ad->photo3 " ; } if ( empty ( $ad -> photo3 ) ) { $AS_ADS_IMG_URL = "$ad->photo4 " ; } if ( empty ( $ad -> photo4 ) ) { $AS_ADS_IMG_URL = "$ad->photo5 " ; } if ( empty ( $ad -> photo5 ) ) { $AS_ADS_IMG_URL = "$ad->photo6 " ; } 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" ; } ?>
спс.Ув.
pantela
Отправлено: 17 Августа, 2010 - 07:37:03 • Тема: Сноска на php • Форум: Программирование на PHP
Ответов: 11 Просмотров: 643
Никокой, это для примера я привёл дату... Просто аналог нужен был.
Твой код что то не работает
Ещё токой вопрос:
У меня есть:
PHP:
скопировать код в буфер обмена
км/ ч< input type= "radio" name= "probegznachenia" value= "1" >
мл/ ч< input type= "radio" name= "probegznachenia" value= "2" >
в базе "probegznachenia " уже записанно как 1 или 2 как сделать при выводе что бы то и было отмеченно которое прописанно в базе
pantela
Отправлено: 17 Августа, 2010 - 07:05:57 • Тема: Сноска на php • Форум: Программирование на PHP
Ответов: 11 Просмотров: 643
Есть код:
PHP:
скопировать код в буфер обмена
<?PHP
$i = 1990 ;
while ( $i <= 2010) {
echo "<OPTION VALUE=\" $i \" " ; if
( ! empty ( $birth_year ) && $birth_year == $i ) { echo " selected" ; } echo ">$i </OPTION>" ; ++ $i ;
}
?>
Который с 1990 до 2010 делает сноску.
мне надо что бы сноска была бы токого вида:
от 0.0 до 5.0
Но что то не получается...
спс.Ув.
pantela
Отправлено: 16 Августа, 2010 - 06:56:32 • Тема: От даты отнять текушую дату • Форум: Программирование на PHP
Ответов: 3 Просмотров: 407
У меня есть в таблице поле тип DATE (Дата конца)
напр поле равана: 2010-07-10
Мне надо выводить текст если дата конца меньше текушей даты.
Делаю так:
PHP:
скопировать код в буфер обмена
$deadLine = ( $ad -> date_end ) - ( today) ; //От поля отнять Текушую дату
echo "$deadLine " ; //Смотрю интервал
echo "<br />" ;
if ( $deadLine <= 0) {
echo "Кое кокой текст" ;
}
У меня переменая $deadLine вывоит только 2010 и никого текста ничего...
Думаю достаточно описал для того что мне надо...
Надеюсь не кажый параметре дат надо каждую считать т.е. Y-m-d-
спс.Ув.
Страниц (52): В начало « ... 44 45 46 47 48 49 50 [51] 52 »
Powered by ExBB FM 1.0 RC1. InvisionExBB