2013-07-16 2 views
0

У меня есть запрос mysql, соединяющий две таблицы, помещая результаты в ассоциативный массив с использованием mysql_fetch_array и отображая «имя города», используя цикл while. В том же запросе мне нужно сделать еще один запрос с использованием каждого соответствующего «имени города» ассоциативного массива и показать соответствующие теги каждого города.результат одного запроса mysql в другом запросе с использованием php

$result = mysql_query("select city.city_ID, city.city_name, city.city_page, city_images.cimage_path from  city, city_images where 

city.city_ID=city_images.city_ID"); 
while ($row = mysql_fetch_array($result)) { 
    echo '<div class="Box">'; 
    echo '<a href="' . $row['city_page'] . '">'; 
    echo '<img src=" ' . $row['cimage_path'] . ' " />'; 
    echo '</a>'; 
    echo '<div class="imagetext">'; 
    echo '<a href="' . $row['city_page'] . '">' . $row['city_name'] . '</a>'; 
    echo '</div>'; 
    echo '<div class="Inbox">'; 
    $r = mysql_query("select Tag_Name from tag, city_tag where city_tag.city_ID =$row    ['city_ID'] and city_tag.Tag_ID=tag.Tag_ID "); 
    while ($raw = mysql_fetch_array($r)) { 
     echo '<div class="boxtags">'; 
     echo '</div>'; 
    } 
    echo '</div>'; 
    echo '</div>'; 
} 

мне нужно теги, соответствующие текущим city..pls помочь

+0

Является ли это унаследованное приложение? 'mysql_query' требует [надлежащего экранирования] (http://bobby-tables.com/php) всех и всех значений, вставленных в ваш запрос. – tadman

+0

во втором цикле while вы не echo '$ raw ['Tag_Name']' вы делаете только divs –

ответ

0

Вам нужно только один запрос ...

SELECT c.city_ID 
    , c.city_name 
    , c.city_page 
    , ci.cimage_path 
    , t.Tag_Name 
    FROM city c 
    JOIN city_images ci 
    ON ci.city_ID = c.city_ID 
    JOIN city_tag ct 
    ON ct.city_ID = c.city_ID 
    JOIN tag t 
    ON tag.Tag_ID = ct.Tag_ID;