С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 09.07.2018
Сообщений: 26
MySQL

Выборка данных с базы

06.02.2019, 10:37. Показов 2280. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. У меня есть блок с категориями которые я достаю с таблицы с базы вот код:

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<div id="block-category">
<meta charset="utf-8">
    <p class="header-title">Категории товаров</p>
 
    <ul>
 
        <li><a id="index1">Женская одежда</a>
 
        <ul class="category-section">
            <li><a href=""><strong>Вся одежда</strong></a></li>
        <?php
$type = 'womensclothing';
$sql = ('SELECT `brand` FROM `category` WHERE `type` = ?');
$query = $pdo->prepare($sql);
$query->execute([$type]);
$category = $query->fetchAll(PDO::FETCH_OBJ);
 
foreach ($category as $key ) {
    echo '<li><a href="view_cat.php?cat='.strtolower($row["brand"]).'$type='.$row["type"].'">' . $key->brand . '</a></li>';
}
 
        ?>
            
        </ul>
 
 
        </li>
                <li><a id="index2">Женская обувь</a>
 
        <ul class="category-section">
            <li><a href=""><strong>Вся обувь</strong></a></li>
            <?php
            $type = 'womensshoes';
            $sql = ('SELECT `brand` FROM `category` WHERE `type` = ?');
            $query = $pdo->prepare($sql);
            $query->execute([$type]);
            $category = $query->fetchAll(PDO::FETCH_OBJ);
 
            foreach ($category as $key ) {
                echo '<li><a href="view_cat.php?cat='.strtolower($row["brand"]).'$type='.$row["type"].'">' . $key->brand . '</a></li>';
            }
 
 
 
 
        ?>
 
        </ul>
 
 
        </li>
 
 
    </ul>
 
 
 
</div>
И есть другая таблица в базе с товарами

вывожу все товары вот так:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
 
      $query = $pdo->query("SELECT * FROM `table_products`  ORDER BY $sorting");
 
 
    while ($row = $query->fetch(PDO::FETCH_OBJ)) {
 
  if ($row->image != "" && file_exists("./uploads_images/".$row->image))
  {
    $img_path = './uploads_images/'.$row->image;
    $max_width = 150;
    $max_height = 150;
    list($width, $height) = getimagesize($img_path);
    $ratioh = $max_height/$height;
    $ratiow = $max_width/$width;
    $ratio = min($ratioh, $ratiow);
    $width = intval($ratio*$width);
    $height = intval($ratio*$height);
  }else
  {
    $img_path = "/images/noimage.gif";
    $width = 110;
    $height = 200;
  }
 
                echo '
 
                <li>
                <div class="block-images-list">
                <img src="'.$img_path.'"width="'.$width.'"height="'.$height.'" />
                </div>
                <ul class="reviews-and-counts-list">
                <li><img src="/images/icon-eye.png"/><p>0</p></li>
                <li><img src="/images/comment-icon.png"/><p>0</p></li>
                </ul>
                <p class="style-title-list"><a href="">'.$row->title.'</a></p>
                <a class="add-cart-style-list"></a>
                <p class="style-price-list"><strong>'.$row->price.'</strong> грн.</p>
                <div class="style-text-list">
                '.$row->mini_description.'
                </div>
 
                </li>
 
                ';
 
            }
 
 
         ?>
Мне нужно теперь эти товары сортировать по категориям с первой таблицы базы
Пробую это сделать вот так:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
    <?php
 
 
    $brand_id = ($_GET ['brand_id'] ? intval(htmlspecialchars(trim($_GET ['brand_id']))) : 1);
    $query = $pdo->prepare("SELECT * FROM `table_products` WHERE `brand_id` = ? ");
    $query -> execute(array($brand_id));
 
while ($row = $query->fetch(PDO::FETCH_OBJ)) {
 
  if ($row->image != "" && file_exists("./uploads_images/".$row->image))
{
$img_path = './uploads_images/'.$row->image;
$max_width = 200;
$max_height = 200;
list($width, $height) = getimagesize($img_path);
$ratioh = $max_height/$height;
$ratiow = $max_width/$width;
$ratio = min($ratioh, $ratiow);
$width = intval($ratio*$width);
$height = intval($ratio*$height);
}else
{
$img_path = "/images/noimage.gif";
$width = 110;
$height = 200;
}
 
        echo '
 
        <li>
        <div class="block-images-grid">
        <img src="'.$img_path.'"width="'.$width.'"height="'.$height.'" />
        </div>
        <p class="style-title-grid"><a href="">'.$row->title.'</a></p>
        <ul class="reviews-and-counts-grid">
        <li><img src="/images/icon-eye.png"/><p>0</p></li>
        <li><img src="/images/comment-icon.png"/><p>0</p></li>
        </ul>
        <a class="add-cart-style-grid"></a>
        <p class="style-price-grid"><strong>'.$row->price.'</strong> грн.</p>
        <div class="mini_features">
        '.$row->mini_features.'
        </div>
 
        </li>
 
        ';
 
      }
 
   ?>
но не получается, выводит только товары под brand_id =1
Что я делаю не правильно ?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.02.2019, 10:37
Ответы с готовыми решениями:

Выборка из базы данных
private function select($table_name, $fields, $where = &quot;&quot;, $order = &quot;&quot;, $up = true, $limit = &quot;&quot;) { for ($i = 0; $i &lt; count($fields);...

Выборка из базы данных
здравствуйте!!! Помогите разобраться с проблемой выборки из базы данных... &lt;? if(!isset($id)) { $result = mysql_query...

Выборка из базы данных
Прошу помощи. Отчаялся, помогите, не хватает знаний, нужно чтобы из базы данных фотографии отображались в линию 7 штук, у меня...

20
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
06.02.2019, 10:48
Цитата Сообщение от Azag Посмотреть сообщение
$_GET ['brand_id']
лишний пробел и не вижу где такая переменная <a href="?brand_id=тут значение">
0
0 / 0 / 0
Регистрация: 09.07.2018
Сообщений: 26
06.02.2019, 11:16  [ТС]
спасибо, пробел убрал.


и не вижу где такая переменная <a href="?brand_id=тут значение">



А где она должна быть? можно по подробнее?
Плохо разбираюсь.
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
06.02.2019, 12:41
Azag, надо в файле где вывод категорий выводить ссылку или саму категорию сделать ссылкой, на вывод товар для этой категории.
В файле с категориями должна быть ссылка вида

PHP
1
<a href="view_tovar.php?brand_id=<?=$row->id?>"><strong><?=$key->brand?></strong></a>
и тогда вы передадите ид категории в файл выборки товаров.

Цитата Сообщение от Azag Посмотреть сообщение
выводит только товары под brand_id =1
а вы понимаете смысл этой записи:
Цитата Сообщение от Azag Посмотреть сообщение
$brand_id = ($_GET ['brand_id'] ? intval(htmlspecialchars(trim($_GET ['brand_id']))) : 1);
0
0 / 0 / 0
Регистрация: 09.07.2018
Сообщений: 26
06.02.2019, 13:29  [ТС]
Цитата Сообщение от Виталюска Посмотреть сообщение
Сообщение от Azag
выводит только товары под brand_id =1
а вы понимаете смысл этой записи:
Сообщение от Azag
$brand_id = ($_GET ['brand_id'] ? intval(htmlspecialchars(trim($_GET ['brand_id']))) : 1);
понятно что эта запись на данный момент передает значение по умолчанию brand_id=1 так как не находит то самое id которое нужно передавать.

Цитата Сообщение от Виталюска Посмотреть сообщение
надо в файле где вывод категорий выводить ссылку или саму категорию сделать ссылкой, на вывод товар для этой категории.
В файле с категориями должна быть ссылка вида
что-то ничего у меня не получается с этой ссылкой.
0
0 / 0 / 0
Регистрация: 09.07.2018
Сообщений: 26
08.02.2019, 10:24  [ТС]
может кто-то еще знает как мне написать правильно?
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
10.02.2019, 22:14
Цитата Сообщение от Azag Посмотреть сообщение
что-то ничего у меня не получается с этой ссылкой.
покажите что не получается, код куда вы ее вставляете
0
0 / 0 / 0
Регистрация: 09.07.2018
Сообщений: 26
12.02.2019, 23:15  [ТС]
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<div id="block-category">
 
<meta charset="utf-8">
    <p class="header-title">Категории товаров</p>
 
    <ul>
 
        <li><a id="index1">Женская одежда</a>
 
        <ul class="category-section">
            <li><a href=""><strong>Вся одежда</strong></a></li>
        <?php
$type = 'womensclothing';
$sql = ('SELECT `brand` FROM `category` WHERE `type` = ?');
$query = $pdo->prepare($sql);
$query->execute([$type]);
$category = $query->fetchAll(PDO::FETCH_OBJ);
 
foreach ($category as $key ) {
    echo '<li><a href="href="view_cat.php?brand_id=<?=$row->id?>"><strong><?=$key->brand?></strong></a></li>';
}
 
        ?>
            
        </ul>
 
 
        </li>
                <li><a id="index2">Женская обувь</a>
 
        <ul class="category-section">
            <li><a href=""><strong>Вся обувь</strong></a></li>
            <?php
            $type = 'womensshoes';
            $sql = ('SELECT `brand` FROM `category` WHERE `type` = ?');
            $query = $pdo->prepare($sql);
            $query->execute([$type]);
            $category = $query->fetchAll(PDO::FETCH_OBJ);
 
            foreach ($category as $key ) {
                echo '<li><a href="view_cat.php?brand_id=<?=$row->id?>"><strong><?=$key->brand?></strong></a></li>';
            }
 
 
 
 
        ?>
 
        </ul>
 
 
        </li>
 
 
    </ul>
 
 
 
</div>
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
14.02.2019, 11:57
это
Цитата Сообщение от Azag Посмотреть сообщение
foreach ($category as $key ) {
* * echo '<li><a href="href="view_cat.php?brand_id=<?=$ro w->id?>"><strong><?=$key->brand?></strong></a></li>';
}
?>
замените на это
PHP
1
2
3
foreach ($category as $key ) { ?>
    <li><a href="href=view_cat.php?brand_id=<?=$row->id?>"><strong><?=$key->brand?></strong></a></li>
<?}?>
0
0 / 0 / 0
Регистрация: 09.07.2018
Сообщений: 26
14.02.2019, 12:30  [ТС]
PHP
1
2
3
4
foreach ($category as $key ) { ?>
    <li><a href="view_cat.php?brand_id=<?=$row->id?>"><strong><?=$key->brand?></strong></a></li>
<?}
?>
сделал так, все равно выводит по умолчанию
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
18.02.2019, 11:07
Цитата Сообщение от Azag Посмотреть сообщение
сделал так, все равно выводит по умолчанию
а ссылка формируется правильно? что HTML показывает? Может не верно формируется ссылка и на выходе получаем view_cat.php?brand_id=и тут вместо значения не чего. Либо значение не передается в файл view_cat.php, или ошибка в написании переменной.
0
0 / 0 / 0
Регистрация: 09.07.2018
Сообщений: 26
18.02.2019, 17:16  [ТС]
Да, именно так ка Вы написали
Цитата Сообщение от Виталюска Посмотреть сообщение
view_cat.php?brand_id=и тут вместо значения не чего.
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
19.02.2019, 14:25
Цитата Сообщение от Azag Посмотреть сообщение
view_cat.php?brand_id=<?=$row->id?>"
тут не $row, a $key
0
0 / 0 / 0
Регистрация: 09.07.2018
Сообщений: 26
19.02.2019, 14:41  [ТС]
абсолютно ничего не поменялось
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
19.02.2019, 15:17
Цитата Сообщение от Azag Посмотреть сообщение
абсолютно ничего не поменялось
ну я не Ванга, если не чего не изменилось значит в таблице нет столбца с именем ID

а в самой ссылке название товара есть?
0
0 / 0 / 0
Регистрация: 09.07.2018
Сообщений: 26
19.02.2019, 15:43  [ТС]
Цитата Сообщение от Виталюска Посмотреть сообщение
<?=$key->brand?>
вот это выводит мне названия товаров из базы. При клике на эти названия мне нужно выводить только те товары которые соответствуют названиям для этого я задействую колоночку в таблице brand_id
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
20.02.2019, 10:31
Цитата Сообщение от Azag Посмотреть сообщение
колоночку в таблице brand_id
PHP
1
2
3
4
foreach ($category as $key ) { ?>
    <li><a href="view_cat.php?brand_id=<?=$key->brand_id?>"><strong><?=$key->brand?></strong></a></li>
<?}
?>
или покажите структуру таблиц
0
0 / 0 / 0
Регистрация: 09.07.2018
Сообщений: 26
20.02.2019, 11:00  [ТС]
маленькая таблица это категории
большая это сами товары
Миниатюры
Выборка данных с базы  
Изображения
 
0
0 / 0 / 0
Регистрация: 09.07.2018
Сообщений: 26
20.02.2019, 11:01  [ТС]
123
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
20.02.2019, 17:02
Лучший ответ Сообщение было отмечено Azag как решение

Решение

Azag, код оставляем

PHP
1
2
3
4
foreach ($category as $key ) { ?>
    <li><a href="view_cat.php?brand_id=<?=$key->id?>"><strong><?=$key->brand?></strong></a></li>
<?}
?>
а вот запрос в коде
Цитата Сообщение от Azag Посмотреть сообщение
$sql = ('SELECT `brand` FROM `category` WHERE `type` = ?');
изменяем на
PHP
1
$sql = ('SELECT `brand`, `id` FROM `category` WHERE `type` = ?');
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.02.2019, 17:02
Помогаю со студенческими работами здесь

Выборка из базы данных
При выборке из базы данных данной функцией. public function getAll($table_name, $order, $up) { return...

Выборка из базы данных
Помогите, почему не выводит данные если названия таблиц и строк в БД на русском языке? Вылезает такая ошибка Warning: mysql_num_rows()...

Выборка с базы данных
Доброго времени суток! Хочу попросить помощи. Вот я столкнулся с такой проблемой, с которой до сих пор не сталкивался. Вот у меня есть...

Выборка данных из базы phpMyAdmin
Здравствуйте, у меня небольшая проблемка. Моя база создана на Дэнвере последней версии. С помощью php я подключил её к форме на основе...

Выборка данных из базы по датам!
Подскажите как решить задачу! Есть таблица базы данных: Вывел сумму колонки &quot;sum&quot;: $orders_sum = 0; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru