Старото разширение MySQL mysql
е остарял, по-добре използвайте mysqli
или PDO
!
mysql_fetch_row()
връща само 1 ред! Трябва да го поставите в цикъл, например:
$data = array();
while ( $row = mysql_fetch_row($result) )
{
$data[] = $row;
}
echo json_encode( $data );
Трябва също да промените JavaScript:
$.ajax({
url: 'api.php', data: "", dataType: 'json', success: function(rows)
{
for (var i in rows)
{
var row = rows[i];
var id = row[0];
var vname = row[1];
$('#output').append("<b>id: </b>"+id+"<b> name: </b>"+vname)
.append("<hr />");
}
}
});
Между другото бих ви препоръчал да използвате mysql_fetch_assoc()
защото прави кода ви по-гъвкав и по-чист.