我有一个html页面和一个php页面。 html页面有一个表,php有一个mysql表的查询。 我不知道如何在我的html页面中显示查询结果。
html页面包含以下部分代码:
<table class="table-striped" id="tabela_editavel_1">
<thead>
<tr>
<th>Contacto</th>
<th>Dt Receção</th>
<th>Dt Validade</th>
<th>Refª Cliente</th>
<th>Num Proposta</th>
<th>Estado</th>
</tr>
</thead>
<tbody id="dados_tabela">
<tr class="">
<td id="xz"><input id="contacto"/></td>
<td id="xz"><input id="dtrececao"/></td>
<td id="xz"><input id="dtvalidade"/></td>
<td id="xz"><input id="ref_cli"/></td>
<td id="xz"><input id="numproposta"/></td>
<td id="xz"><input id="estado"/></td>
</tr>
</tbody>
</table>
<script>
$.getJSON('php/c_listaconsultas.php', function(data) {
$('#contacto').val(data.nome);
$('#dtrececao').val(data.datarecepcao);
$('#dtvalidade').val(data.validadeconsulta);
$('#ref_cli').val(data.referenciaconsulta);
$('#numproposta').val(data.propostanumero);
$('#estado').val(data.estado);
});
</script>
我的php文件包含代码:
(...)
mysql_select_db($database_connLOOPGEST, $connLOOPGEST);
$query_rs_listaconsultas = sprintf("SELECT clientes_consultas.id_cliente, clientes_consultas.id_consulta, clientes_consultas.datarecepcao, clientes_consultas.referenciaconsulta, clientes_consultas.validadeconsulta, clientes_consultas.tituloconsulta, loop_propostas.propostanumero, clientes_contactos.nome, loop_propostas.id_proposta, status.descricao estado, clientes.nome_curto nome_cliente FROM (clientes_consultas left join clientes_contactos on clientes_consultas.id_contacto = clientes_contactos.id_contacto) left join loop_propostas on clientes_consultas.id_consulta = loop_propostas.id_consultacliente inner join status on status.id_status = clientes_consultas.estado inner join clientes on clientes.id_cliente = clientes_consultas.id_cliente WHERE clientes_consultas.id_cliente=%s ORDER BY clientes_consultas.datarecepcao DESC", GetSQLValueString($numcliente_rs_listaconsultas, "int"));
$rs_listaconsultas = mysql_query($query_rs_listaconsultas, $connLOOPGEST) or die(mysql_error());
$row_rs_listaconsultas = mysql_fetch_assoc($rs_listaconsultas);
$totalRows_rs_listaconsultas = mysql_num_rows($rs_listaconsultas);
echo json_encode($row_rs_listaconsultas);
首先,我的“echo json_encode”并没有给我所有的查询行,但只有一行,如何将所有查询行传递给我的html页面?这里缺少什么? :((( 我需要的第二个帮助是如何在表格中显示这些值?我正在使用正确的函数(。$ getJSON)?
提前致谢。 马里奥
答案 0 :(得分:1)
您必须使用以下内容迭代mysql_fetch_assoc:
while ($row = mysql_fetch_assoc($result)) {
$row_rs[] = $row;
}
返回的数据将是一个包含对象的数组。你应该用:
迭代它$.each(data, function(element) { /* do something */})
答案 1 :(得分:1)
首先,请停止使用mysql
扩展程序。它已被弃用,您应该使用mysqli
或PDO。你只获得一行的原因是你正在使用的函数,mysql_fetch_assoc
只返回一行。您需要mysqli_fetch_all
或PDO equivalent。 $.getJSON
是一个正确使用的函数,设置像你这样的值应该可行,我会console.log(data)
找出出错的地方。