PHP.SU

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

Страниц (4): [1] 2 3 4 »

> Найдено сообщений: 57
eramar Отправлено: 12 Декабря, 2011 - 22:36:37 • Тема: Как сделать правильную выборку запросом с LIMIT • Форум: Вопросы новичков

Ответов: 3
Просмотров: 164
Как сделать так, чтобы в любом случае взялась $dmy и потом $limit дат, которые меньше $dmy? То есть, чтобы выборка начиналась с $dmy, и шла назад. А не с самого начала и вперед.

так такое можно сделать ? Улыбка
eramar Отправлено: 12 Декабря, 2011 - 22:10:49 • Тема: Как сделать правильную выборку запросом с LIMIT • Форум: Вопросы новичков

Ответов: 3
Просмотров: 164
в общем я строю шкалу дат.
Если в эту дату у пользователя есть запись - то дата должна отображаться в шкале.
Всего на шкале отображается максимум 11 дат.
$dmy - сегодняшняя дата.
plan_realise - дата, на которую запланирована запись.
$query=mysql_query("SELECT DISTINCT plan_realise from user_plan where plan_id in ('{$list_user_plans}') and plan_realise>'$dmy' limit 5");
сначала запросом $query я беру МАКСИМУМ 5 дат(которые больше сегодняшних), если на эти даты есть записи.
$count=mysql_num_rows($query);
$for_limit=5-$count;
$limit=7+$for_limit;

теперь в $limit у меня количество дат, которые должны быть МЕНЬШЕ сегодняшней.

$query2=mysql_query("SELECT DISTINCT plan_realise from user_plan where plan_id in ('{$list_user_plans}') and plan_realise<='$dmy' order by plan_realise desc limit $limit ");

но дело в том, что выборка идет с начала таблицы, и получается так, что если есть , к примеру, 10 дат которые меньше сегодняшней, и подходят под выборку, а $limit =6, то возьмутся первые 6, а до $dmy дело не дойдет.

Как сделать так, чтобы в любом случае взялась $dmy и потом $limit дат, которые меньше $dmy? То есть, чтобы выборка начиналась с $dmy, и шла назад. А не с самого начала и вперед Улыбка Надеюсь написал понятно )
eramar Отправлено: 12 Декабря, 2011 - 11:49:54 • Тема: Можно ли проверить входит ли в BLOB значение? • Форум: Вопросы новичков

Ответов: 7
Просмотров: 310
a:4:{i:0;s:1:"3";i:2;s:1:"4";i:3;s:3:"161";i:4;s:3:"101";}
$n - это одно из значений в кавычках. и если
к примеру $n=1;
то выборка не должна делаться.
А если $n=101 или $n=161, то должна
(Добавление)
может кавычки просто добавить к $n ?
(Добавление)
сделал так :
$n=':"'.$n.'";';

и все работает хорошо, спасибо!
eramar Отправлено: 12 Декабря, 2011 - 11:27:21 • Тема: Можно ли проверить входит ли в BLOB значение? • Форум: Вопросы новичков

Ответов: 7
Просмотров: 310
а в таком случае проверится точное вхождение разве ?
например $n =2 ;
а выборка должна делаться при $n = 2222;
eramar Отправлено: 12 Декабря, 2011 - 10:28:06 • Тема: Можно ли проверить входит ли в BLOB значение? • Форум: Вопросы новичков

Ответов: 7
Просмотров: 310
Мне нужно узнать, есть ли $n именно в BLOB!
(Добавление)
Можно конечно брать BLOB из бд, сделать unserialize и проверить, есть ли мое $n в массиве. Но это долго. Можно ли в запросе сразу сделать:
select text from table where *тут условие : $n находится в blob'e*
eramar Отправлено: 12 Декабря, 2011 - 09:58:43 • Тема: Можно ли проверить входит ли в BLOB значение? • Форум: Вопросы новичков

Ответов: 7
Просмотров: 310
У меня в таблице есть поле типа BLOB. Там хранятся числа.
Можно ли взять число, например 10. Засериализовать его:
$n=10;
$n_ser=serialize($n);
И каким-то способом в запросе к БД проверить входит ли $n_ser в мой BLOB?
Подскажите, пожалуйста!
eramar Отправлено: 02 Декабря, 2011 - 10:35:08 • Тема: Можно ли посмотреть входит ли в BLOB переменная? • Форум: Работа с СУБД

Ответов: 3
Просмотров: 1036
а если у меня 100000 id, будет 100000 таблиц ?
eramar Отправлено: 02 Декабря, 2011 - 10:15:40 • Тема: Можно ли посмотреть входит ли в BLOB переменная? • Форум: Работа с СУБД

Ответов: 3
Просмотров: 1036
Здравствуйте! Подскажите, пожалуйста, можно ли как-то узнать, входит ли в BLOB переменная. (поле plan_members - тип данных BLOB (там хранятся id), у меня есть :
$my_id=1;
$my_id_ser=serialize($my_id);
$query=mysql_query("select YEAR(plan_realise) from user_plan where plan_id in ('{$list_user_plans}') and if(private_plan='1', *ВОТ ТУТ МНЕ НУЖНО ПРОВЕРИТЬ, ВХОДИТ ЛИ $my_id_ser в plan_members) and plan_realise='$today'");

подскажите, пожалуйста, можно ли это сделать, и как ? заранее спасибо
eramar Отправлено: 14 Октября, 2011 - 15:23:15 • Тема: работа с ассоц. массивом • Форум: Вопросы новичков

Ответов: 2
Просмотров: 148
у меня есть массив $q:
Array ( [61] => 2 [63] => 2 [14] => 1 [12] => 1 [17] => 1 [68] => 1 [60] => 1 [71] => 1 [50] => 1 [62] => 1 [64] => 1 [47] => 1 [42] => 1 [44] => 1 )

где ключ - id пользователя , значение - число вхождений этого пользователя в определенный список.
Из массива $q мне нужно получить 2 массива:

1ый: массив состоящий из двух элементов ( критерий попадания в этот массив - максимальное число вхождений в список, если число вхождений одинаково - то выбирать рандомно)

2ой: массив состоящий из двадцати элементов ( критерий попадания в этот массив - максимальное число вхождений в список, если число вхождений одинаково - то выбирать рандомно)

помогите , пожалуйста!!!
eramar Отправлено: 13 Октября, 2011 - 13:01:18 • Тема: не сортирует по datetime , неверный запрос ? • Форум: SQL и Архитектура БД

Ответов: 0
Просмотров: 17
у меня есть две таблицы profile, user_plan

мне нужна сортировка по plan_realise ( это поле типа datetime)

$query2 = mysql_query("select DISTINCT user_name,user_surname,profile.user_id, from profile,user_plan where profile.user_id=user_plan.user_i d order by plan_realise desc ");

вот мой запрос. Сортировки не происходит. Помогите, пожалуйста!
eramar Отправлено: 23 Сентября, 2011 - 16:09:03 • Тема: запись в datetime mysql переменной php • Форум: Вопросы новичков

Ответов: 8
Просмотров: 326
ошибок не выдает, строка в базе создается, но в поле user_time записывается 0000-00-00 00:00:00, а не моя переменная
eramar Отправлено: 23 Сентября, 2011 - 15:43:49 • Тема: запись в datetime mysql переменной php • Форум: Вопросы новичков

Ответов: 8
Просмотров: 326
почему-то не выполняется запрос:
$t=writeTime();
в $t хранится дата в виде : "2011-09-23 15:38:53"
делаю запрос:
$query=mysql_query("insert into plan (user_id,text,user_time) values ('$id','$text','$t') ");

user_time - имеет тип datetime
не проходит запрос...может нельзя переменную передавать в datetime??
eramar Отправлено: 21 Сентября, 2011 - 16:15:09 • Тема: неправильно сравнивает элементы массива • Форум: Вопросы новичков

Ответов: 3
Просмотров: 119
array(13) { [0]=> string(125) " 20 сентября 2011 " [1]=> string(125) " 8 сентября 2011 " [2]=> string(125) " 8 сентября 2011 " [3]=> string(125) " 8 сентября 2011 " [4]=> string(125) " 8 сентября 2011 " [5]=> string(125) " 8 сентября 2011 " [6]=> string(125) " 8 сентября 2011 " [7]=> string(125) " 8 сентября 2011 " [8]=> string(125) " 5 сентября 2011 " [9]=> string(125) " 4 сентября 2011 " [10]=> string(125) " 4 сентября 2011 " [11]=> string(125) " 4 сентября 2011 " [12]=> string(122) " 4 августа 2011 " }

вроде все нормально
eramar Отправлено: 21 Сентября, 2011 - 16:00:10 • Тема: неправильно сравнивает элементы массива • Форум: Вопросы новичков

Ответов: 3
Просмотров: 119
Не могу понять в чем дело.
У меня есть массив:
print_r($date_arr2);
вот его содержимое:
Array ( [0] => 20 сентября 2011 [1] => 8 сентября 2011 [2] => 8 сентября 2011 [3] => 8 сентября 2011 [4] => 8 сентября 2011 [5] => 8 сентября 2011 [6] => 8 сентября 2011 [7] => 8 сентября 2011 [8] => 5 сентября 2011 [9] => 4 сентября 2011 [10] => 4 сентября 2011 [11] => 4 сентября 2011 [12] => 4 августа 2011 )
PHP:
скопировать код в буфер обмена
  1. $i=0;
  2. while($res=mysql_fetch_array($query))
  3. {
  4. $notice_date=writeTime2($user_time, $format2);
  5. $user_time=$res['nc_time'];
  6. $date_arr2[]=$notice_date;
  7. $d1=$date_arr2[$i-1];
  8. $d2=$date_arr2[$i];
  9.         if($d1 != $d2)
  10.         {
  11.                 echo "не совпадают <br>";
  12.         }
  13.         if($d1 == $d2)
  14.         {
  15.                 echo "совпадают <br>";
  16.         }
  17. $i++;
  18. }


$d1 и $d2
в некоторых случаях одинаковые, например
[6] => 8 сентября 2011 [7] => 8 сентября 2011

но всегда входит в if($d1 != $d2)

не могу понять в чем дело, помогите, пожалуйста!
eramar Отправлено: 29 Августа, 2011 - 19:25:59 • Тема: Как сделать неграмоздким запрос • Форум: SQL и Архитектура БД

Ответов: 12
Просмотров: 88
PHP:
скопировать код в буфер обмена
  1. $query2 = mysql_query("select profile.user_id from profile where profile.user_id in ('{$listD}') and   not (profile.user_id = (select DISTINCT profile.user_id from profile,user_plan where profile.user_id in ('{$listD}') and profile.user_id=user_plan.user_id and '$date44'>= plan_realise and plan_realise >='$date33') )    ");


сделал как в 4ом посту. не работает все равно, помогите, пожалуйста! Огорчение

Страниц (4): [1] 2 3 4 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB