0

我有一个 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)?

提前致谢。马里奥

4

2 回答 2

1

您必须使用以下内容遍历 mysql_fetch_assoc:

while ($row = mysql_fetch_assoc($result)) {
    $row_rs[] = $row;
}

并且返回的数据将是一个包含对象的数组。您应该使用以下方法对其进行迭代:

$.each(data, function(element) { /* do something */})
于 2013-04-06T23:00:38.893 回答
1

首先,请停止使用mysql扩展程序。它已被弃用,您应该改用mysqlior PDO。你只得到一行的原因是你正在使用的函数mysql_fetch_assoc只返回一行。您想要mysqli_fetch_allPDO 等价物$.getJSON是一个正确使用的功能,像你这样设置值应该可以工作,我console.log(data)想找出问题所在。

于 2013-04-06T23:01:17.043 回答