Задать вопрос
bootd
@bootd
Гугли и ты откроешь врата знаний!

Как заставить правильно выводить нужный мне товар из бд?

Есть раздел с популярными товарами, туда выводятся из бд товары по галочке в редактировании товара.
Есть 2 таблицы: catalog и info в которых хранятся данные о товаре.

Catalog имеет следующую структуру:
id, parent, type , title, brief, group, order, menu, login, image, date, stamp

Info имеет следующую структуру:
id, key, order, v_a, v_s, v_i, v_d, v_t

В 1й храниться основная инфа, а во второй все дополнительные поля, например мой чекбокс и цена.

Я написал такой вот запрос на вывод нужных мне позиций товара имеющих в бд поле с чексбоксом(popularItem).
SELECT c.*, p.v_s as price, b.v_s as popularItem FROM `catalog` c 
		LEFT JOIN `info` b ON c.id=b.id AND b.key='popularItem'
		LEFT JOIN `info` p ON c.id=p.id AND p.key='price'


Если нужно, то вот функция целиком:
public function mainSlider(){
		global $Data, $Page;

		$mainSliderList = $Data->GetRows("SELECT c.*, p.v_s as price, b.v_s as mainSlider FROM `catalog` c 
			LEFT JOIN `info` b ON c.id=b.id 
			LEFT JOIN `info` p ON c.id=p.id AND p.key='price'
			WHERE b.key='mainSlider'
		");

		foreach ($popularItems as $popularItem) {
			$result = '
				<li>
					<figure class="popularItem">
						<a href="'.$this->Href($popularItem['id']).'" class="popularItemImg">
							<img src="/file/view2'.$popularItem['image'].'/rc=181,151_i.jpg">
						</a>
						<figcaption>
							<a href="'.$this->Href($popularItem['id']).'" class="popularItemTitle">Тагил</a>
							<p>'.$popularItem['brief'].'</p>

							<div class="cf">
								<b class="popularItemPrice">'.$popularItem['price'].' руб.</b>
								<button class="but but3 addToCart" data-id="'.$popularItem['id'].'">Купить</button>
							</div>
						</figcaption>
					</figure>
				</li>
			';
		}

		return $result;
	}


Если вставить код во вкладку sql, то я получу свои строки с товарами

Но он не реагирует на мой чекбокс, поставил я его, удалил, все ровно выводит и почему-то только 1 товар их всех.
Помогите понять, в чем дело?
  • Вопрос задан
  • 164 просмотра
Подписаться 2 Оценить Комментировать
Решения вопроса 1
LittleFatNinja
@LittleFatNinja
горе девелопер, любитель лютой садомии
мы что маги??? где код??

udp
public function mainSlider(){
    global $Data, $Page;
    $result = '';

    $mainSliderList = $Data->GetRows("SELECT c.*, p.v_s as price, b.v_s as mainSlider FROM `catalog` c 
      LEFT JOIN `info` b ON c.id=b.id 
      LEFT JOIN `info` p ON c.id=p.id AND p.key='price'
      WHERE b.key='mainSlider'
    ");

    foreach ($certificatesList as $certificate) {
      $result .= '
        <li>
          <a href="'.$certificate['image'].'" class="certificateFancy">
            <img src="/file/view2'.$certificate['image'].'/rc230,324_i.jpg">
          </a>
        </li>
      ';
    }

    return $result;
  }
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@serega_kaktus
Программист-самоучка, фрилансер
SELECT c.*, p.v_s as price, b.v_s as popularItem FROM `catalog` c 
    LEFT JOIN `info` b ON c.id=b.id
    LEFT JOIN `info` p ON c.id=p.id AND p.key='price'
    WHERE b.key='popularItem'
Ответ написан
Ваш ответ на вопрос

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

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