あなたがjQueryを持っている方法では、コンテンツをテーブルではなく '' タグに追加しています。
これは、各アイテムがそのセットアップ方法で追加されるときに起こることです (ちなみに、thead タグを追加しました。テーブルのスタイルを設定し始めると便利です)
これは、ものが追加されたときの出力であり、レンダリングが間違っている理由です。
<article id="listWarriors">
<h1>Warrior List</h1>
<table>
<thead>
<tr>
<th colspan="2">Warriors</th>
</tr>
<tr>
<td>Warrior Name</td>
<td>Warrior Type</td>
</tr>
</thead>
</table>
<tr>
<td>the wname</td>
<td>the wtype</td>
</tr>
</article>
そうは言っても、jqueryを次のように変更します
$('#listWarriors table').append(data);
ところで、いくつのアイテムを追加したいですか。複数の ajax 呼び出しを行い、一度に 1 つずつ追加する場合は、JSON を介してデータを取得することをお勧めします。お手伝いできることがあればお知らせください
コメントで議論されているように、複数のアイテムを取得したいので、JSON が最適です。この方法でJSONを使用してデータを渡すことができます
** php (クエリは既に実行されていると思いますが、念のためです) **
// Make a MySQL Connection
$query = "SELECT * FROM example";//Your query to get warriors from db
$result = mysql_query($query) or die(mysql_error());
$myWarriorsArray = array();//Where you will store your warriors
while($row = mysql_fetch_array($result)){
$myWarriorsArray[] = $row;
//This stores all keys for each iteration
/*//This is teh same as the following commented code
$myWarriorArray['warrior_name'] = row['warrior_name'];
$myWarriorArray['warrior_type'] = row['warrior_type'];
*/
}
echo json_encode($myWarriorsArray);//This will return a json object to your ajax call
Javascript
function getWarriors() {
$.ajax({
url: 'display_warrior.php',
dataType : 'json',
success: function(data) {
var toAppend = '';
alert(data);
//console.log(data);//Uncomment this to see the returned json data in browser console
for(var i=0;i<data.length;i++){//Loop through each warrior
var warrior = data[i];
toAppend += '<tr>';
toAppend += '<td>'+data[i]['warrior_name']+'</td>';
toAppend += '<td>'+data[i]['warrior_type']+'</td>';
toAppend += '</tr>';
}
$('#listWarriors table').append(toAppend);
}
});
}