Есть 2 таблицы БД. В 1ой таблице город выдается в формате числа(id) Во 2ой таблице расшифровка этого id названием (name) Значения из 1ой таблицы: PHP: while ($row1=mysql_fetch_array($q1)) { echo '<tr><td>'.$row1['town'].'</td><td>'.$row1['cnt'].'</td></tr>'; } $row1['town'] - выводит номер города PHP: while ($row=mysql_fetch_array($q2)) { $sort_array[] = array ( 'id' => $row['id'] 'town' => $row['name']); } из второй таблицы засовываю в массив. Никак не могу понять, как сделать, чтобы при такой, например схеме: PHP: $sort_array[$row1['town']] выводилось вместо числа - название города
Вроде как-то так: PHP: <?php $i=0; while ($row=mysql_fetch_array($q2)) { $sort_array[$i] = array ( 'id' => $row['id'] 'town' => $row['name']); $i++; } ?>
У меня id города не по порядку... Попробовал $sort_array[$row['id']] = $row['name']; почему-то не работает
1)А зачем? Может лучше все делать в запросе чем в php? 2)Но если очень хочется: Код (Text): $sort_array[$row['id']] = $row['name']
Например, так: Есть 2 таблицы товары и категории товаров: Items: id|name|description|price|category_id -------------------------------------------- 1|Ford|good car|1000|1 2|Boch|good telephone|500|2 .... Categories: id|name|description ----------------------- 1|Transport|Cars,helicopters... 2|Domestic technique|Iron,microvawes... ... Ну, и допустим надо достать товары и их категории. Делаем так: [sql] SELECT i.name,i.description,i.price,c.name FROM Items i,Categories WHERE c.id=c.category_id [/sql] И никаких join-ов.
1)Это разные по смыслу запросы. При join я говорю: "Дай мне строки из первой таблицы, для которой есть строки из второй таблицы" При перечислении через запятую я говорю: "Выбери мне из всевозможного сочетания строк двух таблиц такие, которые соответствуют условию". Сюда же: Да я понимаю, что MSSQL (и скорее всего MySQL и прочие современные СУБД) используют оптимизатор запросов, чтобы сократить расход памяти и времени. Однако всегда есть положительная отличная от нуля вероятность, что придется работать с СУБД без подобного анализатора. 2)Как при таком подходе организуется left(right) join?