Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 26.01.2015
Сообщений: 115

Обьединение строк (ячеек)

15.08.2017, 15:32. Показов 511. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня есть таблица MYSQL. я могу просматривать ее через phpmyadmin
В этой таблице находятся все свойства товаров
Чтобы не нагружать Вам голову представим что у меня не 8000 товаров, а всего 3.
Вот как выглядит база данных свойств с 3 товарами

Хорошо. Мне нужно вывести на страницу сайта 3 товара, где будет указано ID - Название - Цвет - Твердость - Поверхность - Вид
Соответственно из нашей тоблицы IBLOCK_PROPERTY_ID = 311 - это свойство Цвет
312 - Твердость, 313 - Поверхность, 315 - Вид Товара.
Я создал таблицу в базе данных в которой есть ТОЛЬКО ID
Этот ID = IBLOCK_ELEMENT_ID
И я через sql запрос вывожу VALUE (значение свойства) в эту таблицу.
Должно получится так:

Но у меня выводит вот так:

Могу предположить, что в sql запросе указано "Выводить VALUE на страницу если IBLOCK_PROPERTY_ID = 311 и ID = IBLOCK_ELEMENT_ID.
Для полного понимания прикрепляю php-код:
Кликните здесь для просмотра всего текста
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
60
<?php
$host=''; // имя хоста (уточняется у провайдера)
$database=''; // имя базы данных, которую вы должны создать
$user=''; // заданное вами имя пользователя, либо определенное провайдером
$pswd=''; // заданный вами пароль
 
$dbh = mysql_connect($host, $user, $pswd) or die("Не могу соединиться с MySQL.");
mysql_select_db($database) or die("Не могу подключиться к базе.");
 
 
echo "<table border='1' font-size:20px width=100%>";
 
$query = mysql_query("SELECT a_data_klemma.ID, b_iblock_element.NAME, b_catalog_price.PRICE, b_iblock_element_property.IBLOCK_ELEMENT_ID,
b_iblock_element_property.IBLOCK_PROPERTY_ID, b_iblock_element_property.VALUE
    FROM a_data_klemma
LEFT JOIN b_iblock_element ON a_data_klemma.ID=b_iblock_element.ID
LEFT JOIN b_catalog_price ON a_data_klemma.ID=b_catalog_price.PRODUCT_ID
LEFT JOIN b_iblock_element_property ON a_data_klemma.ID=b_iblock_element_property.IBLOCK_ELEMENT_ID WHERE b_iblock_element_property.IBLOCK_PROPERTY_ID = 374 OR b_iblock_element_property.IBLOCK_PROPERTY_ID = 407");
 
echo '<thead>';
echo '<tr>';
echo '<th>ID</th>';
echo '<th>Название</th>';
echo '<th>Цена</th>';
echo '<th>Внутренний Артикул</th>';
echo '<th>Второй Артикул</th>';
echo '</tr>';
echo '</thead>';
echo '<tbody>';
 
while ($array = mysql_fetch_array($query)) {
 
if($array['ID']){
    print "<tr>";
        print "<td height=30>";
    print_r($array['ID']);
    print "</td>";
        print "<td height=30>";
    print_r($array['NAME']);
    print "</td>";
        print "<td height=30>";
    print_r($array['PRICE']);
    print "</td>";
 
    print "<td height=30>";
    if ($array['IBLOCK_PROPERTY_ID'] == 374){
    print_r($array['VALUE']);
    print "</td>";
}
    print "<td height=30>";
    if ($array['IBLOCK_PROPERTY_ID'] == 407){
    print_r($array['VALUE']);
    print "</td>";
}
    print "</tr>";
}
}
print "</table>";
 
?>
Миниатюры
Обьединение строк (ячеек)   Обьединение строк (ячеек)   Обьединение строк (ячеек)  

0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.08.2017, 15:32
Ответы с готовыми решениями:

Обьединение ячеек sql таблицы
Нужно вывести таблицу через php. Выводить умею, только вот такая вот беда, очень понятно на фото показано Помогите, обьяснять сложно. На...

StringGrid обьединение ячеек
Нужно сделать таблицу как на фото, но не удается обьединить ячейку в StringGrid. Как это можно сделать? Очень ныжна помощь.

Обьединение ячеек в екселе
Здраствуйте!Делаю выгрузку из лотуса в ексель,не получается програмно сделать обьединение ячеек в екселе: xlCells(N, 1).MergeCells = True...

2
ytf
276 / 259 / 185
Регистрация: 15.08.2017
Сообщений: 1,483
15.08.2017, 20:06
после выполнения запроса

PHP
1
2
3
4
5
6
$query = mysql_query("SELECT a_data_klemma.ID, b_iblock_element.NAME, b_catalog_price.PRICE, b_iblock_element_property.IBLOCK_ELEMENT_ID,
b_iblock_element_property.IBLOCK_PROPERTY_ID, b_iblock_element_property.VALUE
    FROM a_data_klemma
LEFT JOIN b_iblock_element ON a_data_klemma.ID=b_iblock_element.ID
LEFT JOIN b_catalog_price ON a_data_klemma.ID=b_catalog_price.PRODUCT_ID
LEFT JOIN b_iblock_element_property ON a_data_klemma.ID=b_iblock_element_property.IBLOCK_ELEMENT_ID WHERE b_iblock_element_property.IBLOCK_PROPERTY_ID = 374 OR b_iblock_element_property.IBLOCK_PROPERTY_ID = 407");
можно по-очередно рассмотреть строки и сформировать из них новый массив

PHP
1
2
3
4
5
6
7
8
$a2 = array();
while ($array = mysql_fetch_array($query)) {
$id = $array['ID'];
if (!isset($a2[$id])) $a2[$id] = $array;
 
if ($array['IBLOCK_PROPERTY_ID'] == 374) $a2[$id]['374'] = $array['VALUE'];
if ($array['IBLOCK_PROPERTY_ID'] == 407) $a2[$id]['407'] = $array['VALUE'];
}
используя новый массив вывести таблицу
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
foreach ($a2 as $id => $array) {
 
    print "<tr>";
        print "<td height=30>";
    print_r($array['ID']);
    print "</td>";
        print "<td height=30>";
    print_r($array['NAME']);
    print "</td>";
        print "<td height=30>";
    print_r($array['PRICE']);
    print "</td>";
 
    print "<td height=30>";
    print_r($array['374']);
    print "</td>";
 
    print "<td height=30>";
    print_r($array['407']);
    print "</td>";
 
    print "</tr>";
}
1
0 / 0 / 0
Регистрация: 26.01.2015
Сообщений: 115
15.08.2017, 20:35  [ТС]
Большущее спасибо! Лучший ответ! +1 и отзыв положительный Ваши! Спасибо Большое! Вы очень помогли
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.08.2017, 20:35
Помогаю со студенческими работами здесь

Обьединение ячеек по строчно
Имеется таблица В столбце (A) работает макрос,который объединяет пустые ячейки до следующей записи,как сделать что бы всталбце...

Обьединение строк
Фрагмент кода: $(document).ready(function(e) { var content_string = &quot;&lt;h3&gt;תחילת עבודה&lt;/h3&gt;&lt;select&gt;&quot;; for(var i = 0; i...

Обьединение строк
Доброго времени суток, господа. Подскажите как объединять правильно строки в акцесе допустим есть 3 таблицы: 1.первая с именами...

Обьединение двух строк LPCTSTR
LPCTSTR ss1 =L&quot;.bmp&quot;; LPCTSTR a3 = L&quot;99&quot;; HANDLE hImage = LoadImage(NULL,L&quot;a3&quot;L&quot;ss1&quot;, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE); ...

Обьединение дубликатов строк по определённому правилу
Добрый день. Помогите с одной задачкой. Выгружаю логи с серверов: Get-Eventlog system -after $yesterday -before $today -Entry error...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты 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
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru