denshush2
@denshush2
The Denshush

Как устроить организовать array() ?

Всем привет есть задача.
Есть запрос к базе данных *$query ="SELECT * FROM menu ORDER BY position"
if($result = mysqli_query($connection, $query)){
$menu_all = array();
while ($row = $result->fetch_assoc()){
$menu_all[] = $row;
}
}.

Задача в том что в данной таблицы есть поле under которое по дефолту стоит *0* и как в запросе указать что все линии с "under == 0" идут допустим в один array а те где "under > 0" идут в другой array.
Спасибо
  • Вопрос задан
  • 2357 просмотров
Решения вопроса 4
@iSensetivity
бухгалтер, програміст-самоук
В цикле
if($row['under'] == 0){
$var_s_0_all[] = $row;
} else {
$var_bez_0_all[] = $row;
}
Ответ написан
Alexufo
@Alexufo
противоречивый, сложный, весь компьютерный.
Один запрос -один ответ. На один запрос два ответа - помоему это чего то новенькое)
1) два запроса
2)массив разбиваете сами на два
3) в переборе ставите нужно условие
Ответ написан
Комментировать
@Little_CJIOH
В запросе - никак.
Варианта два:
Либо почитать любой базовый туториал по sql, вплоть до статьи в википедии и составить 2 запроса.
Либо оставить запрос как есть и сортировать результат по массивам самому.

Извините, не удержался.
Еще в википедии есть статьи про пунктуацию и падежи. А вот что делать с связностью предложений я вам не посоветую.
Ответ написан
@vdem
Три человека уже верно ответили, и я еще добавлю.
1. Не пишите так, есть риск нарваться на зарезервированные слова:
SELECT * FROM menu ORDER BY position
Лучше так:
SELECT * FROM `menu` ORDER BY `position`

2. Не используйте mysql_xxx, mysqli_xxx, pg_xxx, msql_xxx. Допустим, Вам нужно с MySQLi мигрировать на другую БД, например MSSQL сервер. Будете по всему коду искать эти mysqli_ и менять. Лучше так:
$pdo = new PDO('mysql:host=locahost;dbname=mydatabase', 'user', 'passsword');
$query->prepare('SELECT * FROM `menu` ORDER BY `position`');
$query->execute();
$menu_all = $query->fetchAll(PDO::FETCH_ASSOC);

Так Вы не будете особенно зависеть от БД, и еще есть плюс в передаче параметров в запрос - не нужно будет беспокоиться об избегании SQL injection.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы