Лучше подскажите мне правильный вывод из вложенных массиов(по Вашему мнению) Итог у меня таков: Массив Завод1 (массив сотрудников) Завод2 (массив сотрудников)
Помоги решить задачу, если мне надо характеристики распихать по виду и вывести на экран Примерно: Экран 1. Тип экрана 2. Матрица Память и процессор: 1. Количество ядер процессора И т.д. Поля, которые я получаю type(вид), characteristic (характеристики), value(значение)
Ну вот я и говорю, таблица "характеристики" и в ней поля "Вид характеристики" "Характеристика" "Значения"
@ZlobnyKolob Попробуй представить себе как это всё будет работать и написать об этом сообщение. Без кода, без программирования. Просто алгоритм. Вот, например, первая твоя задача. Создаем две таблицы. "Заводы" и "Сотрудники" 1. | id_завода (PK) | название_завода | 2. | id_сотрудника (PK) | ФИО_сотрудника | id_завода (FK) | Теперь мы можем запросить всех сотрудников нужного завода. Попробуй что-то подобное представить для второй задачи.
Есть таблица "Характеристики телефонов" Поля данной таблицы: Идентификатор телефона - число Вид характеристики - Экран, Память и процессор, Общие характеристики Характеристика - Диагональ, Количество процессоров Значение - 4.7", 2 Сама задача: я запросом из базы достаю все характеристики определенного идентификатора продукта, создаю его массив (mysql_fetch_array) и мне нужно его сделать такого типа: Экран: - вид характеристик все характеристики этого вида Память и процессор - вид характеристик все характеристики этого вида и т.д., думаю так будет понятно описание задачи, мне хотяб примерчик реализации и я соображу как это дальше все происходит ,а так чет туплю . сорян
@ZlobnyKolob это реальный проект или учебный полигон? Если реальный проект, ту ИМХО тут стоит подумать о более сложной БД. Вот например: Сегодня ты торгуешь телефонами и только ими. Ты создаешь под них базу данных и всё вроде как работает. Завтра ты вдруг решил торговать еще и мониторами. А у них другие характеристики и нужно создавать новую таблицу под них. Понимаешь о чем я? Речь о универсальности. Если ты сам разработчик, то ты, в теории, можешь работать с таким подходом. А если сайтом будет пользоваться обычный Алексей Васильевич, как чаще всего и бывает? БД должна быть устроенна так, чтобы можно было торговать чем угодно. По крайней мере к этому нужно стремиться.
Это реальный проект, просто тут ситуация такая, что я его пишу исключительно под телефоны на все времена, насчет универсальности я согласен, но я так скажу, ресурс заточен исключительно под продукцию apple, так что)) цикл { $arr[$row['ВидХарактеристики']][$row['id']]=$row; } Вот допустим такой обработчик, я понимаю, что он разбивает один массив на несколько по свойству "ВидХарактеристики"
т е ты абсолютно на 100% уверен, что будешь торговать айфонами и айпадами и до макбуков дело никогда не дойдет
дойдет, но есть отдельная таблица "продукция", где у каждого мака будет свой ИД Мне самое главное понять, как сделать многомерный массив из полученной информации и правильно его вывести(самое главное вывести))
Может быть это у меня в голове всё так сложно, а гениальное то всё просто. Т е чем гениальнее тем проще и чем проще тем гениальнее. Хочешь одну таблицу - вот тебе одна таблица. | id_продукта | наименование | тип экрана | разрешение экрана | процессор | и | так | херачишь | все | характеристики |
Ну нет же, у меня таблиц несколько и одна из них характеристики с полями ИД Вид характеристики Характеристика Значение Записи будут выглядеть примерно так 1 | Экран | Диагональ | 4"7 1 | Процессор и память | Количество процессоров | 2 2 | Экран | Диагональ | 9"3 и т.д. А вывести мне надо вот так: Экран: Все характеристики Процессор и память: Все характеристики Теперь понятна моя гениальность ?)
т. е. ты с начала создаешь бд, а только потом думаешь как теперь с ней работать? Ты должен до создания БД продумать её и на момент создания уже знать как с ней работать. Я хз как с твоей БД работать)) т е можно конечно подумать, но лучше сейчас всё переделать пока ты туда не нахерачил 100500 товаров.
@ZlobnyKolob нужно выбрать все характеристики с сортировкой по виду Код (Text): SELECT * FROM `attributes` ORDER BY `type` type - вид attr - характеристика value - значение когда все строки находятся в переменной $rows: PHP: $currentType = $rows[0]['type']; echo "<h1>$currentType</h1>\r\n<ul>\r\n"; foreach ($rows as $row) { if ($currentType != $row['type']) { $currentType = $row['type']; echo "</ul>\r\n<h1>$currentType</h1>\r\n<ul>\r\n"; } echo "<li>", $row['attr'], ": ", $row['value'], "</li>\r\n"; } echo "</ul>\r\n";
опять полон форум велосипедов. Сие называется "Entity–attribute–value model", гуглить по ключевому слову "EAV". Минусы: 1. Мы шлем лесом все плюшки которые нам дает БД 2. Поиск по такой свалке тоже не будет радовать, если товаров много Плюсы: 1. Универсально, расширяемо под любой тип товара и характеристики 2. Не надо думать, не надо гадать, не надо бояццо. Альтернатива - nosql, либо скрещенный уж с ежом, типа sqldb + какой-нибудь elasticsearch для поиска, выборок и прочего. При правильном приготовлении, ака синхронизация, заранее продуманные соглашения и структура хранилища - мастхэв и минимум геморроя. При корявом же вас ждет скорое посыпание головы пеплом с последующим ударом ей же об стену )
PHP: array(3) { ["Общий блок"]=> array(1) { [4]=> array(10) { [0]=> string(1) "4" ["id"]=> string(1) "4" [1]=> string(1) "1" ["id_product"]=> string(1) "1" [2]=> string(45) "Тестовая характеристика" ["characteristic"]=> string(45) "Тестовая характеристика" [3]=> string(33) "Значение тестовое" ["value"]=> string(33) "Значение тестовое" [4]=> string(19) "Общий блок" ["type"]=> string(19) "Общий блок" } } ["Память и процессор"]=> array(1) { [2]=> array(10) { [0]=> string(1) "2" ["id"]=> string(1) "2" [1]=> string(1) "1" ["id_product"]=> string(1) "1" [2]=> string(43) "Количество процессоров" ["characteristic"]=> string(43) "Количество процессоров" [3]=> string(1) "2" ["value"]=> string(1) "2" [4]=> string(34) "Память и процессор" ["type"]=> string(34) "Память и процессор" } } ["Экран"]=> array(2) { [1]=> array(10) { [0]=> string(1) "1" ["id"]=> string(1) "1" [1]=> string(1) "1" ["id_product"]=> string(1) "1" [2]=> string(18) "Диагональ" ["characteristic"]=> string(18) "Диагональ" [3]=> string(4) "4.7"" ["value"]=> string(4) "4.7"" [4]=> string(10) "Экран" ["type"]=> string(10) "Экран" } [3]=> array(10) { [0]=> string(1) "3" ["id"]=> string(1) "3" [1]=> string(1) "1" ["id_product"]=> string(1) "1" [2]=> string(20) "Разрешение" ["characteristic"]=> string(20) "Разрешение" [3]=> string(10) "1280х1024" ["value"]=> string(10) "1280х1024" [4]=> string(10) "Экран" ["type"]=> string(10) "Экран" } } } Слиял я информацию, как теперь мне её вывести в виде Общий блок: Характеристики Память и процессор: Характеристики Экран Характеристики За раннее спасибо !
Спасибо большое, я тут немного изменил Ваш код и вот, что получилось PHP: $currentType = $array_charac['type']; do { if ($CurrentType != $array_charac['type']) { $CurrentType = $array_charac['type']; echo "<h1>" . $CurrentType . "</h1>"; } echo "<li>" . $array_charac['characteristic'] ." : " . $array_charac['value'] . "</li>"; } while ($array_charac = mysql_fetch_array($query_charac)); А результат мне был необходим вот такой: Всем большое спасибо !
Добрый вечер ! Чтоб не плодить темы, напишу в этой, может кто поможет Есть кнопочки radio <input type='radio' name='Зеленый' value='Зеленый'/>Зеленый цвет По исполнению кода - это выглядит так: как вместо точки сделать допустим квадрат с выбранным бэкграундом или рисунком, как это делает вообще, гугли и нагуглил только изменение списка, Спасибо)
Почитай вот это. Смысл в том, чтобы спрятать сам радио переключатель и задать стили для его label. Можешь сам это сделать. Сами радио переключатели и чекбоксы не стилизуются. Ждем css4