Получение результатов sql-запроса в Codeignitor и отображение на веб-странице

#php #mysql #codeigniter-3

#php #mysql #codeigniter-3

Вопрос:

Я использую систему CMS под названием CSZCMS, которая основана на Codeignitor 3.10. Я создал форму для сбора пользовательских данных из опроса, которая загружает данные в таблицу MySQL. Используя PHPadmin, я создал запрос для получения нужных мне результатов. Однако я не могу найти, как это сделать, это отобразить результаты запроса на веб-странице в CMS. Я думаю, что отсутствует строка подключения к БД, поскольку CMS использует CodeIgnitor framework.

Создал форму, загрузил данные в БД, создал SQL, использовал PHPAdmin для создания PHP-скрипта ниже. Вставленный ниже php-код в веб-страницу.

$query = mysqli_query($sqli, «ВЫБЕРИТЕ Channel , Which Company , Offer , Business Sector , url Link , Discount Code , Contact , Sector form_deal_form ОТКУДА 1″);

Я ожидал увидеть данные из таблицы на веб-странице, и каждый раз, когда веб-страница загружается, она получает последние данные из таблицы БД.

Комментарии:

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

Ответ №1:

Используйте $this->db->query() вместо

mysqli_query()

 $query= "SELECT Channel, Which Company, Offer, Business Sector, url Link, Discount Code, Contact, SectorFROM form_deal_form WHERE 1";

$data= $this->db->query($query);
 

Это приведет к получению результата в data

Для получения более подробной информации об этом обратитесь к документации codeigniter

https://codeigniter.com/user_guide/database/queries.html

Лучше использовать конструктор запросов codeignitor

https://codeigniter.com/user_guide/database/query_builder.html

Ответ №2:

Хороший ответ от Shafeeque TP, еще лучше использовать конструктор запросов или класс active record, предоставляемый codeigniter. Для этого перейдите к своему application/config/autoload.php , перейдите $autoload['libraries'] и добавьте 'database' в массив, таким образом, вам не нужно загружать его вручную.

Для части запроса просто сделайте это:

 $this->db->select('Channel', 'Which Company', 'Offer', 'Business Sector', 'url Link', 'Discount Code', 'Contact', 'Sector')
         ->from('form_deal_form')
         ->where(1)
         ->get()
         ->result();
 

Не уверен WHERE , что часть вашего запроса верна, я просто поставил a 1 ради преобразования вашего запроса в класс active record . В качестве дополнительного примечания вам не нужно использовать result(); для генерации результатов вашего запроса, это был просто пример. Вы можете найти другие способы получения результатов по ссылкам, предоставленным Shafeeque TP.