Pravděpodobně nejjednodušší způsob, jak to udělat, je nechat soubor php vrátit JSON. Řekněme tedy, že máte soubor query.php
,
$result = mysql_query("SELECT field_name, field_value
FROM the_table");
$to_encode = array();
while($row = mysql_fetch_assoc($result)) {
$to_encode[] = $row;
}
echo json_encode($to_encode);
Pokud jste nuceni používat document.write (jak jste si všimli v komentářích níže), přiřaďte svým polím atribut id takto:<input type="text" id="field1" />
. Na toto pole můžete odkazovat pomocí tohoto jQuery:$("#field1").val()
.
Zde je úplný příklad s HTML. Pokud předpokládáme, že se vaše pole nazývají field1
a field2
, pak
<!DOCTYPE html>
<html>
<head>
<title>That's about it</title>
</head>
<body>
<form>
<input type="text" id="field1" />
<input type="text" id="field2" />
</form>
</body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script>
$.getJSON('data.php', function(data) {
$.each(data, function(fieldName, fieldValue) {
$("#" + fieldName).val(fieldValue);
});
});
</script>
</html>
To je vložení po vytvoření HTML, což může být nejjednodušší. Pokud máte v úmyslu naplnit data během dynamického vytváření HTML, pak byste stále chtěli, aby soubor PHP vracel JSON, prostě byste jej přidali přímo do value
atribut.