Оптимизируйте запрос Joomla SQL для хранения данных в массиве и передайте вывод массива в поле

Я построил 2 запроса

$id = JFactory::getApplication()->input->getIn('vid');
$db = JFactory::getDbo();
$db->setQuery("SELECT `email` FROM `#__usedcar_variants` WHERE `id`='$id' LIMIT 1");
$_POST['form']['Email'] = $db->loadResult();

$id = JFactory::getApplication()->input->getIn('vid');
$db = JFactory::getDbo();
$db->setQuery("SELECT `mobile` FROM `#__usedcar_variants` WHERE `id`='$id' LIMIT 1");
$_POST['form']['Contact'] = $db->loadResult();

Однако - это не лучший способ для оптимизации, в идеале

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

Может кто-нибудь помочь PLS на нем

1 голос | спросил Ruchika 17 +03002016-10-17T16:32:17+03:00312016bEurope/MoscowMon, 17 Oct 2016 16:32:17 +0300 2016, 16:32:17

1 ответ


4

В вашем случае нет необходимости в нескольких запросах. Вы можете просто выбрать email и mobile из таблицы, например:

$id = JFactory::getApplication()->input->getInt('vid', '');
$db = JFactory::getDbo();

$query = $db->getQuery(true);
$query->select(array('email', 'mobile'))
      ->from($db->qn('#__usedcar_variants'))
      ->where($db->qn('id') . ' = ' . (int)$id)
      ->setLimit(1);
$db->setQuery($query);

$results = $db->loadObjectList();

Переменная $results теперь представляет собой объект , содержащий результаты.

Если вы хотите получить к ним доступ, просто выполните следующие действия:

$something_1 = $results->email;
$something_2 = $results->mobile;

Примечание: Я также исправил getIn с помощью getInt (в конце должен быть t)

ответил Lodder 17 +03002016-10-17T16:44:10+03:00312016bEurope/MoscowMon, 17 Oct 2016 16:44:10 +0300 2016, 16:44:10

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132