PHP.SU

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

Страниц (11): « 1 [2] 3 4 5 6 7 8 9 ... » В конец

> Найдено сообщений: 151
Elegant Отправлено: 01 Июля, 2015 - 20:58:45 • Тема: Выборка из БД последних значений в цикле • Форум: Программирование на PHP

Ответов: 1
Просмотров: 229
Добрый день! Вот ломаю голову как сделать такой цикл что бы он повторялся пока не закончиться и собирал все в массив(ну или только значения последней записи в цикле)...
Вообщем есть БД..
CODE (htmlphp):
скопировать код в буфер обмена
  1. ID | PARENT_ID | LEVEL
  2. 1 |  | 0
  3. 2 | 1 | 1
  4. 3 | 2 | 2
  5. 4 | 1 | 1
  6. 5 | 4 | 1
  7. 6 | 5 | 2
  8. 7 | 5 | 2
  9. 8 | 7 | 3
  10. 9 |   | 0
  11. 10 | 9 | 1
  12.  

Итак, первый это АВТОИНКРЕМЕНТ ID, второй это родительский ID, третий это уровень
Как сделать такой цикл выборки из БД, чтобы например при $id = 1 он начинал собирать значения те где PARENT_ID = $id, затем еще один цикл и еще и еще до тех пор пока не соберт все конечные ID в массив? известно что пока LEVEL не больше 3, но возможно еще будет расширяться..
Подскажите пожалуйста! Буду очень благодарен!
Elegant Отправлено: 26 Июня, 2015 - 18:25:36 • Тема: Подскажите регулярное выражение • Форум: Вопросы новичков

Ответов: 5
Просмотров: 190
dcc0 пишет:
Если все так просто, то можно без регулярки, с помощью explode


Сейчас через explode на ПРОБЕЛ настроное...
Но не все так просто бывает так
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. Улица: 1 Дом:  Квартира: 80 Корпус: 1 Подъезд: 3 Этаж: 2
  3.  

где ДОМ не указано значение
Elegant Отправлено: 26 Июня, 2015 - 18:09:18 • Тема: Подскажите регулярное выражение • Форум: Вопросы новичков

Ответов: 5
Просмотров: 190
Добрый день уважаемые программисты!
Подскажите регулярное выражение что бы разбить строку на массив
есть
CODE (htmlphp):
скопировать код в буфер обмена
  1. Улица: 1 Дом: 1 Квартира: 80 Корпус: 1 Подъезд: 3 Этаж: 2

Нужно что бы массив получился примерно такого вида
CODE (htmlphp):
скопировать код в буфер обмена
  1. [1] - Улица: 1
  2. [2] - Дом: 1
  3. [3] - Квартира: 80
  4. [4] - Корпус: 1
  5. [5] - Подъезд: 3
  6. [6] - Этаж: 2
Elegant Отправлено: 19 Мая, 2015 - 09:04:08 • Тема: MYSQL сортировка • Форум: Вопросы новичков

Ответов: 3
Просмотров: 209
-=1100=- пишет:
Select * from "table" where date="1" GROUP BY `otkuda`


Выводить только одну запись
Elegant Отправлено: 18 Мая, 2015 - 11:57:55 • Тема: MYSQL сортировка • Форум: Вопросы новичков

Ответов: 3
Просмотров: 209
ДД! Не могу решить проблему
Есть таблица
otkuda | kuda | date
QW | WE | 1
QW | WE | 1
QW | RT | 1
WE | QW | 2
WE | RT | 2
QW | WE | 2

В скрипт приходит только параметр DATE
Как сделать MYSQL запрос что бы он показывал сгруппированные данные по столбца otkuda и kuda
Т.е.
Select * from "table" where date="1"........
а в ответе было
QW - WE
QW -RT
А меня пока получается выводить только так:
QW - WE
QW - WE
QW -RT
Elegant Отправлено: 10 Февраля, 2015 - 08:10:32 • Тема: Рандомная выборка из БД с ORDER BY • Форум: Вопросы новичков

Ответов: 4
Просмотров: 245
А можно рандомом размешать только те записи где есть СТАТУС 2, а где статус 1 допустим по алфавиту?
Elegant Отправлено: 09 Февраля, 2015 - 17:17:16 • Тема: Рандомная выборка из БД с ORDER BY • Форум: Вопросы новичков

Ответов: 4
Просмотров: 245
Мелкий пишет:
CODE (SQL):
скопировать код в буфер обмена
  1. ORDER BY `status` DESC, rand()


Для таблиц покрупнее начнутся грабли и костыли с производитльностью вплоть до сортировки силами PHP.


Спасибо! Помогло...таблица на 10000 записей у меня
Elegant Отправлено: 09 Февраля, 2015 - 16:36:26 • Тема: Рандомная выборка из БД с ORDER BY • Форум: Вопросы новичков

Ответов: 4
Просмотров: 245
ДД! Есть таблица
что то вроде
ID NAME STATUS
1 qqq 1
2 www 1
3 eee 2
4 rrr 2
5 tttt 2

я вывожу их так:
$sql = "SELECT * FROM `table`
ORDER BY `table`.`status` DESC ";

Мне выводится сначала записи к статус 2 а потом 1
...
А вот сама задача
Мне надо что бы выборка была рандомная...т.е. вывел сначала записи где статус 2 но рандомно,а потом где статус 1(можно не рандомно).
Elegant Отправлено: 26 Января, 2015 - 07:04:20 • Тема: Массив из массива • Форум: Вопросы новичков

Ответов: 1
Просмотров: 123
Добрый день! Есть массив

PHP:
скопировать код в буфер обмена
  1. while ($itog = mysql_fetch_array($result, MYSQL_ASSOC))
  2.    {
  3.            
  4.            
  5.              $week=$itog["week"];
  6.                  if( $week <= 7 ){
  7.                          if($todayweek == $week){
  8.                                   $itog["today"] =  $todaydate ;
  9.                          }
  10.                  }
  11.                  
  12.                 if($week == 8){
  13.                           $startdate =$itog["startdate"] ;
  14.                           if ($startdate == $todaydate){
  15.                                     $itog["today"] =  $todaydate ;
  16.                           }
  17.                  }
  18.                  
  19.                                 if($week == 9){
  20.                           $startdate =$itog["startdate"] ;
  21.                             $enddate =$itog["enddate"] ;
  22.                                
  23.                                 if( $startdate <= $todaydate && $todaydate <= $enddate){
  24.   $itog["today"] =  $todaydate ;
  25.                                  
  26.                           }
  27.                  }
  28.                  
  29.                  
  30.                  
  31.                  
  32.             $massiv[] = $itog;
  33.    }


{
id: "7",
imgsrc: "",
nazv: "Клвав",
week: "8",
startdate: "2015-01-25",
enddate: "0000-00-00"
}
{
id: "8",
imgsrc: "",
nazv: "Пятый день",
week: "5",
startdate: "2015-01-04",
enddate: "2015-04-18"
}
{
id: "9",
imgsrc: "",
nazv: "Тупой Текуще",
week: "9",
startdate: "2015-01-20",
enddate: "2015-02-01",
today: "2015-01-26"
}

Последнем елементе мы видим что еще есть параметр Today
Как вывести из этого массива еще один массив в котором будут только элементы содержащие TODAY в прошлом массив?
Elegant Отправлено: 25 Января, 2015 - 06:42:53 • Тема: Группировка в MYSQL • Форум: Вопросы новичков

Ответов: 2
Просмотров: 113
alexforce2 пишет:
В запрос надо добавить DISTINCT.....

Спасибо помогло
Elegant Отправлено: 25 Января, 2015 - 06:32:51 • Тема: Группировка в MYSQL • Форум: Вопросы новичков

Ответов: 2
Просмотров: 113
Добрый день! Есть вопрос по правильному запросу для выборки из БД

Для начала есть записи в БД примерно такие
ID Name
1 Банкомат Сбербарнка России
2 Банкомат Сбербарнка России
3 Банкомат Сбербарнка России
4 Филиал Сбербанка России
5 Филиал Сбербанка России
6 Филиал Сбербанка России
7 Филиал Сбербанка России
8 Офис Сбербанка России
9 Просто Сбербанк

Т.е. В базе встрчаеются одинаковые по столбику NAME объекты...

Вот файл PHP который получает по GET запрос "Сбер" и выдает результаты


PHP:
скопировать код в буфер обмена
  1. $massiv = Array();
  2. $sql = "SELECT `org_name`, `org_filial`, `img_prev`
  3. FROM  `zavedenia`
  4. WHERE  `org_name` LIKE  '%".$id."%'
  5. ORDER BY `status_id` DESC , `org_name` ASC
  6. LIMIT 15";
  7. $result = mysql_query($sql)  or die(mysql_error());
  8. while ($itog = mysql_fetch_array($result, MYSQL_ASSOC))
  9.    {
  10.          
  11.             $massiv[] = $itog;
  12.    }
  13. echo '{"level0":'.json_encode($massiv).'}';
  14.  


И вот приходит результата ответа от сервера который выдает все записи с содержанием СБЕР в количестве 15 штук(у меня в базе просто гораздо больше)...
А сообственно вот вопрос...Как в файле сгрупировать все записи по NAME? Не в базе а именно чтобы файл сам группировал?
и выдывал
1 Банкомат Сбербарнка России
1 Филиал Сбербанка России
1 Офис Сбербанка России
1 Просто Сбербанк
Elegant Отправлено: 24 Декабря, 2014 - 18:03:59 • Тема: JSON структура • Форум: Вопросы новичков

Ответов: 1
Просмотров: 124
Подскажите как настроить структуру JSON
Вообщем у меня есть каталог а у него субкатеригории...
Мне надо вывести это в виде иерархии что то такое)))
на данный момент вывожу так:
http://katalog[dot]mirada[dot]kz/viewcat.php?head=json
А вот мой код
PHP:
скопировать код в буфер обмена
  1.  
  2. $massiv = Array();
  3. if(!$catid){
  4. $sql = "SELECT *
  5. FROM  `rubric`
  6. WHERE  `level` =  '0'
  7. ORDER BY  `id` ASC ";}
  8.  
  9. $result = mysql_query($sql)  or die(mysql_error());
  10. while ($itog = mysql_fetch_array($result, MYSQL_ASSOC))
  11.    {
  12.  
  13.             $massiv[] = $itog;
  14.  
  15.  
  16.                 if ($itog['parentid']==0)
  17.                 {
  18.  
  19. $sql1 = "SELECT *
  20. FROM  `rubric`
  21. WHERE  `parentid` =  '".$itog['id']."'
  22. ORDER BY  `parentid` ASC ";
  23. $result1 = mysql_query($sql1)  or die(mysql_error());
  24. while ($itog1 = mysql_fetch_array($result1, MYSQL_ASSOC))
  25.    {
  26.  
  27. $massiv[] = $itog1;
  28.  
  29.          
  30.                 if($itog1['orgs']==0)
  31.                 {
  32.                        
  33.                 $sql2 = "SELECT *
  34.                 FROM  `rubric`
  35.                 WHERE  `parentid` =  '".$itog1['id']."'
  36.                 ORDER BY  `parentid` ASC ";
  37.                         $result2 = mysql_query($sql2)  or die(mysql_error());
  38.                         while ($itog2 = mysql_fetch_array($result2, MYSQL_ASSOC))
  39.                         $massiv[] = $itog2;
  40.                 }      
  41.          
  42.          
  43.          
  44.    };
  45.  
  46.                 };
  47.                
  48.    }
  49.  
  50. echo '{"level0":'.json_encode($massiv).'}';
  51.  

Мне бы хотелось понять как выводить многоуровнево...
Предполагаю что это должен быть массив в массиве...или что то типа того...Помогите
Elegant Отправлено: 03 Декабря, 2014 - 09:44:13 • Тема: Запрос в БД для выборки из ячейки с разеделителем • Форум: Вопросы новичков

Ответов: 2
Просмотров: 114
ДД! Столкнулся с такой проблемой...
Есть БД
ID NAME CATS
1 na1 10
2 na2 22
3 fa1 10,130
4 gep 10,22
5 beep 22

Каким запросом можно выдернуть значение где CATS = 10...
т.е. хочу что бы в ответе пришло
na1
fa1
gep
Elegant Отправлено: 02 Декабря, 2014 - 18:36:51 • Тема: Вытащить значения из строки • Форум: Вопросы новичков

Ответов: 2
Просмотров: 281
Спасибо, помогло, а как взять данные не
CODE (htmlphp):
скопировать код в буфер обмена
  1. <span>Категория (\d)

А полноценно то что находиться между span'ами...т.е. КАТЕГОРИЯ 1
Elegant Отправлено: 02 Декабря, 2014 - 08:25:16 • Тема: Вытащить значения из строки • Форум: Вопросы новичков

Ответов: 2
Просмотров: 281
Подскажите как правильно вытащить значение из строки такого рода
Цитата:

<li><a class='item' data-level='2' data-id='24' data-orgs='1'><span>Категория 1</span></a></li><li><a class='item' data-level='2' data-id='25' data-orgs='1'><span>Категория 2</span></a></li><li><a class='item' data-level='2' data-id='26' data-orgs='1'><span>Категория 3</span></a></li>


Нужно вытащить значения data-level, data-id, data-orgs и название Категория #

Я начал так...разбиваю eplode'ом по </span></a></li>... а вот дальше не знаю.....
думал через substr сделать, но значения могут быть от 1 до 999...
Подскажите пожалуйста!


Так понял что это можно сделать с помощью preg_match.....вот только я не знаю утверждения для регулярных выражений...подскажите как сделать

Страниц (11): « 1 [2] 3 4 5 6 7 8 9 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB