Как отображать данные в div с текстовыми полями только один раз, получая только уникальные данные из таблицы?

Я пытаюсь отобразить некоторые данные в div с 3 полями, получая только уникальные значения из таблицы. Используемый запрос отлично работает в pgAdmin3, но при попытке отобразить его на странице отображаются несколько блоков div на основе данных, отсканированных на предыдущей странице.

Поскольку это массив, я использую foreach для отображения, и по этой причине создается несколько div, и я не знаю, как отображать данные из массива без использования цикла.

Получение данных отсканированных на предыдущей странице

$strings = explode(PHP_EOL,trim($_SESSION['grid']));

Отображение данных в div с использованием foreach на основе числа штрих-кодов, отсканированных на предыдущей странице

foreach ($strings as $d){ 
$sql = "select distinct size from items where main_group IN(select distinct 
main_group from items where addl_item_code_barcode IN ('$d')) ORDER BY 
size";
$result = pg_query($db, $sql);
$res = pg_fetch_assoc($result);
?> 
<div class = "col-sm show-hide">
<input type = "text" value = "<?php echo $res['size']; ?> " readonly 
style = "background-color: #F5F5F5;" class = "form-control"><br> 
<input class = "form-control" type = "text" name = "n2" id = "n2"/><br>
<select class = "form-control">
<option>25%</option>
<option>50%</option>
<option>100%</option>
</select><br>
</div>
<?php }?>

Я отсканировал 2 штрих-кода на предыдущей странице, у которых такое же значение «36» в поле «размер». Поскольку сканировалось 2 данных, цикл запускался дважды и дважды отображался. Как мне отобразить это только один раз.

Вот как теперь выглядит страница. https://ibb.co/qDh425j

Вставить foreach в <div> не получилось?

brombeer 08.01.2019 08:58

Неа. У меня такой же результат.

Cooper 08.01.2019 09:05
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
31
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Каждый штрих-код связан с товаром размером «36».

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

В противном случае вам нужно решить, что делать со штрих-кодами, которые соответствуют элементу того же размера.

Наконец, вы, вероятно, можете объединить запрос, чтобы вам не понадобился цикл для каждого штрих-кода. что-то вроде этого

$sa = [];
foreach ($strings as $s) {
    //add single quotes
    array_push($sa, "'".$s."'");
}   
//recreate string with coma
$d=implode(',', $sa);

$sql = "select distinct size from items where main_group IN(select distinct 
main_group from items where addl_item_code_barcode IN ('$d')) ORDER BY 
size";

Извините, но вы можете мне сказать, что $ sa = []; является?

Cooper 08.01.2019 09:23

предложению 'IN' в SQL нужны ваши штрих-коды в форме, ('bar1', 'bar2'). Итак, я создал массив $ sa и вставил в него процитированные штрих-коды, позже я рекомбинирую, используя implode, чтобы предоставить список, разделенный запятыми. цитируемых штрих-кодов, которые затем передаются в ваш запрос

Adeel 08.01.2019 10:15

Другие вопросы по теме