выборка и сортировка помогите с алгоритмом

Paranoiac

Новичок
выборка и сортировка помогите с алгоритмом

Есть 2 таблицы к примеру

таблица1 (какие фрукты есть у человека)
название | уникальный номер | картинка | кому пренадлежит | ________________________________________________________
яблоко | 1 | яб_1 | кккк
__________________________________________________________
тыква | 6 | по_1 | кккк
__________________________________________________________
помидор | 5 | по_1 | кккк

таблица2 (характеристики )

название | уникальный номер | характеристики (много)
___________________________________________________________
груша | 4 | аааа | иии| ccccc | кккк

надо выбрать все вещи принадлежащие допустим "кккк" и их характеристики и расположить только строго на определенных местах вот так

код html ..........

проверяем если есть помидор (по_***) у "кккк" то выводим данные о помидоре сюда, если нету пишем помидоров нет в этом месте

код html ..........

проверяем если есть груша (гр_***) у "кккк" то выводим данные о помидоре сюда, если нету пишем пусто
проверяем если есть еще груша у "кккк" то выводим данные о помидоре сюда, если нету пишем пусто

код html ..........

и т.д всего 20 раз!

предметы идентифицируються по части названия картинки т.е. у всех яблок начинаеться с яб (яб_1, яб_2 , яб_3)

я не могу придумать ничего как каждый раз делать 2 sql запрса

код html ..........

sql запрс если есть у человека помидор выбираем уникальный номер и картинку из 1 таблицы
sql запрс выбираем характеристики по уникальному номеру

код html ..........

sql запрс если есть у человека груша
sql запрс выбираем характеристики по уникальному номеру
....

и того получаеться 40 запросов может ктонибудь подскажет метод по рациональней?
 

ThomLee

Новичок
Допустим так, сюда туда,
Будет так ни так ни сяк.
Ну не так чтоб уж туды,
Запроси сюды, ответ туды.

Как бы так, чтобы не сяк,
Эдак, водак, мяк и шмяк,
Залепить сюда вот-так,
Получается - Косяк.

10 раз прочитал твой пост, бошка распухла, и ни хрена не понял.
Слишком много абстракций, напиши конкретно чего ты хочешь. А не спрашивай сколько у Вовочки яблок.
 

Shturm

Гигант мысли
Навскидку:

SELECT уникальный номер FROM `какие фрукты есть у человека` WHERE кому пренадлежит='kkkk' --- 1 Запрос.

SELECT ... FROM 'характеристики' WHERE уникальный номер=уникальный номер(из предыдущего массива) OR уникальный номер=еще один(оттуда же) и т.д. - 2 запрос

Я так понимаю, что уникальный номер связывает строки в этих двух таблицах.
предметы идентифицируються по части названия картинки т.е. у всех яблок начинаеться с яб
-а это что такое?

И вообще, нехорошая какая-то структура. Переделать бы.
 

Paranoiac

Новичок
Автор оригинала: Shturm
Навскидку:

SELECT уникальный номер FROM `какие фрукты есть у человека` WHERE кому пренадлежит='kkkk' --- 1 Запрос.

SELECT ... FROM 'характеристики' WHERE уникальный номер=уникальный номер(из предыдущего массива) OR уникальный номер=еще один(оттуда же) и т.д. - 2 запрос

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

-а это что такое?
1. уникальный номер связывает строки в этих двух таблицах

2. предметы идентифицируються по части названия картинки т.е. у всех яблок начинаеться с яб

(название у яблока може быть любое например вместо яблока может быть xxxxx а чтобы узнать что xxxx - это яблоко все картинки яблок начинаються c яб_*
 

Shturm

Гигант мысли
название у яблока може быть любое например вместо яблока может быть xxxxx а чтобы узнать что xxxx - это яблоко все картинки яблок начинаються c яб_
хитро
 

Paranoiac

Новичок
SELECT уникальный номер, картинка FROM `какие фрукты есть у человека` WHERE кому пренадлежит='kkkk' --- 1 Запрос.

ееее[0][0]= уникальный номер1 ееее[0][1]=картинка
ееее[1][0]= уникальный номер2 ееее[1][1]=картинка2

двадцать предметов это надо выбирать в цикле в многомерный массив а как это сделать можно пример?
 

Paranoiac

Новичок
Мне надо выбрать результаты первого запроса в двухмерный массив чтобы дальше с ними работать

ееее[0][0]= уникальный номер1, ееее[0][1]=картинка1

ееее[1][0]= уникальный номер2, ееее[1][1]=картинка2

как это сделать?
 

Shturm

Гигант мысли
Это возможно сделать только после прочтения мануала по mysql_fetch_array(),
и включения логического мышления.
 

bgm

 
1. Делаем одним запросом выборку всех фруктов и их характеристик.
2. Заполняем в цикле двумерный массив.
3. Выводим информацию из этого массива так как требуется.

Понятно?
 

Paranoiac

Новичок
1. Делаем одним запросом выборку всех фруктов и их характеристик. - одним запросом можно выбрать только все фрукты как мне кажеться

SELECT уникальный номер FROM `какие фрукты есть у человека` WHERE кому пренадлежит='kkkk' --- 1 Запрос.
$rezalt=mysql_fetch_array(...)
, а как выбрать их характеристики одним запросом?
 

Nogrogomed

Новичок
SELECT `какие_фрукты_есть_у_человека`.* FROM `какие_фрукты_есть_у_человека` LEFT JOIN `характеристики` ON `какие_фрукты_есть_у_человека`.`уникальный номер`=`характеристики`.`уникальный номер`
ORDER BY `какие_фрукты_есть_у_человека`.`кому_принадлижит`

Далее заводишь переменную "текущий человек"
Проходишься по массиву и забиваешь значения:
$massiv[$tek_chelovek][$frukt['уникальный_номер']]=$frukt['имя_картинки']

В итоге у тебя получается массив:
$massiv['Вася']['1']=='яб_1';
$massiv['Вася']['5']=='по_1';

П.С. А в первой таблице название фрукта использовать не нужно... Это может привести к аномалиям (читай - глюкам) при редактировании названия какого-нибудь фрукта во второй таблице
 
Сверху