Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Работа с базой данных и SQL запросы

 PHP.SU

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


 Страниц (1): [1]   

> Без описания
rownong
Отправлено: 21 Апреля, 2020 - 23:35:48
Post Id


Новичок


Покинул форум
Сообщений всего: 50
Дата рег-ции: Нояб. 2012  


Помог: 0 раз(а)




Здравствуйте. Появились вопросы. Помогите разобраться:

1) В phpMyAdmin есть вкладка SQL в которой можно писать SQL. Когда я пишу там SQL запросы с джоинами, у меня на странице стыкуются несколько таблиц.
Если я такой же SQL запрос буду писать в PHP скрипте и вызывать команду mysql_fetch_array то в качестве элементов массива будут помещены все столбцы всех таблиц (на подобии как я это мижу в общей таблице phpMyAdmin ) ? И затем я смогу вывести любой столбец на веб страницу?

2) В одном из столбцов таблицы содержится «Сумма сделки». Когда я делаю SQL запрос через PHP как мне как мне посчитать сумму всех сделок?

3) Как через PHP после SQL запроса в ответе вернуть данные в формате JSON (список строк или сумму строк одного из столбцов)?
 
 Top
Vladimir Kheifets
Отправлено: 22 Апреля, 2020 - 12:06:55
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 37 раз(а)




rownong пишет:
Здравствуйте. Появились вопросы. Помогите разобраться:

1) В phpMyAdmin есть вкладка SQL в которой можно писать SQL. Когда я пишу там SQL запросы с джоинами, у меня на странице стыкуются несколько таблиц.
Если я такой же SQL запрос буду писать в PHP скрипте и вызывать команду mysql_fetch_array то в качестве элементов массива будут помещены все столбцы всех таблиц (на подобии как я это мижу в общей таблице phpMyAdmin ) ? И затем я смогу вывести любой столбец на веб страницу?

2) В одном из столбцов таблицы содержится «Сумма сделки». Когда я делаю SQL запрос через PHP как мне как мне посчитать сумму всех сделок?

3) Как через PHP после SQL запроса в ответе вернуть данные в формате JSON (список строк или сумму строк одного из столбцов)?


Добрый день!

1.не верно, про mysql_fetch_array, в массив не будут помещены все столбцы,
а в массив будут выбираться строки результата.
Если требуется, получить JSON, то используйте, mysql_fetch_assoc, но лучше mysqli_

2. Используйте в запросах sql функцию SUM()
3.
PHP:
скопировать код в буфер обмена
  1.  $json=json_encode($arr); // $arr - асоцианивный массив с результатом запроса.

Удачи!
 
 Top
LIME
Отправлено: 22 Апреля, 2020 - 16:42:53
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Vladimir Kheifets пишет:
1.не верно, про mysql_fetch_array, в массив не будут помещены все столбцы,
а в массив будут выбираться строки результата.
не верно, будут помещены все столбцы перечисленные в запросе, либо вообще все если использовать *, и массив будет как ассоциативный, так и
и с численными ключами - есть второй параметр, который по умолчанию MYSQL_BOTH.
https://www.php.net/manual/ru/fu...-fetch-array.php
rownong
Цитата:
Внимание
Данное расширение устарело, начиная с версии PHP 5.5.0, и удалено в PHP 7.0.0.

Vladimir Kheifets пишет:
2. Используйте в запросах sql функцию SUM()
тогда не удастся получить все строки запроса и более того с 5.7 при дефолтном sql_mode будут ошибки если в запросе не все столбцы учавствуют в группировке.
Можно просто накапливать сумму в переменную, если надо все строки выбрать.

PHP:
скопировать код в буфер обмена
  1. $rows = [];
  2. $sum = 0;
  3. while ($row = mysql_fetch_assoc($result)) {
  4.     $rows[] = $row;
  5.     $sum += $row['sum'];
  6. }
  7. $json = json_encode($rows);
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB