2011-01-25 3 views
0

タイトルは少し具体的ですが、その最高の私は1行で説明することができます。1つのテーブルからデータを取り出し、別のテーブルの列に挿入するにはどうすればよいですか?

私の問題は基本的には、私は私のクエリで私のデータベースにテーブルがあります。

<?php 
include 'connect.php'; 

$query = mysql_query("SELECT * FROM mobs WHERE zone='Darnolth' ORDER BY lvl ") or die(mysql_error());; 

echo "<table border='1' cellpadding='2' cellspacing='0' width=800 id='mob' class='tablesorter'><thead>"; 
echo "<tr> <th> </th> <th>Mob Name</th> <th>Level</th> <th>Health</th> <th>Drops</th> <th>Effects</th> <th>Zone</th></tr></thead><tbody>"; 

while($row = mysql_fetch_array($query)) { 


    echo "<tr><td>"; 
    echo $row['image']; 
    echo "</td><td width=200>"; 
    echo $row['mobname']; 
    echo "</td><td width=50>"; 
    echo $row['lvl']; 
    echo "</td><td width=50>"; 
    echo $row['health']; 
    echo "</td><td width=200>"; 
    echo $row['drops']; 
    echo "</td><td width=100>"; 
    echo $row['effects']; 
    echo "</td><td width=75>"; 
    echo $row['zone']; 
    echo "</td></tr>"; 
} 

echo "</tbody></table>"; 

?> 

今、これはすべての罰金ですが、滴の行はそれが上で呼び出す必要があり、私のDBに項目テーブルからその暴徒によって

を落としているすべての項目の画像をプルする必要があります上記のクエリのmob名と同じ名前でドロップされた行のイメージのitemsテーブル。

私は別のクエリを追加しようとしましたが、それは何もしませんでした。私は何も考えません。

ありがとうございました。

INNER JOINを使用して私のコードを変更しようとしました。

<?php 
include 'connect.php'; 

$query = mysql_query("SELECT mobs.image, mobs.mobname, mobs.lvl, mobs.health, mobs.drops, mobs.effects, mobs.zone, misc.droppedby FROM mobs JOIN misc ON mobs.drops = misc.droppedby") or die(mysql_error());; 


echo "<table border='1' cellpadding='2' cellspacing='0' width=800 id='mob' class='tablesorter'><thead>"; 
echo "<tr> <th> </th> <th>Mob Name</th> <th>Level</th> <th>Health</th> <th>Drops</th> <th>Effects</th> <th>Zone</th></tr></thead><tbody>"; 
// keeps getting the next row until there are no more to get 

while($row = mysql_fetch_array($query)) { 

    // Print out the contents of each row into a table 
    echo "<tr><td>"; 
    echo $row['image']; 
    echo "</td><td width=200>"; 
    echo $row['mobname']; 
    echo "</td><td width=50>"; 
    echo $row['lvl']; 
    echo "</td><td width=50>"; 
    echo $row['health']; 
    echo "</td><td width=200>"; 
    echo $row['drops']; 
    echo "</td><td width=100>"; 
    echo $row['effects']; 
    echo "</td><td width=75>"; 
    echo $row['zone']; 
    echo "</td></tr>"; 
} 

echo "</tbody></table>"; 

?> 

が、今、これが唯一の私のmiscテーブル内の項目の量によって各暴徒をロードするために、私のモブテーブルの原因になっているので、私はそうでMOB1 100倍とMOB2 100回を持っていると、それは、画像を引っ張っdoesntのmiscテーブルから削除し、mobsテーブルのdropsカラムに配置します。

答えて

0

あなたがしなければならないことは、JOINと呼ばれます。 1つのSQL SELECTクエリで複数のテーブルからデータを取り出すことができます。あなたが

SELECT * from 
book INNER JOIN author ON book.authorId = author.ID 

詳しい情報はJOINを行う可能性があります例えば

、各書籍の著者を取得するには、:迅速な返信用http://www.w3schools.com/sql/sql_join.asp

+0

おかげで、上記参照、それを試してみましたが、イムは、何かが足りないと思います – Rath

関連する問題