【问题标题】:Javascript get values from databaseJavascript从数据库中获取值
【发布时间】:2013-04-07 07:01:17
【问题描述】:

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

提前致谢。 马里奥

【问题讨论】:

    标签: php javascript mysql json


    【解决方案1】:

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

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

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

    $.each(data, function(element) { /* do something */})
    

    【讨论】:

    • 当他只是要对其进行编码时,为什么要迭代呢?只获取所有结果要好得多。另外,当您可以简单地访问属性时,为什么要遍历数据?
    • Radalin,谢谢您的回答。我已经回答了 Nathan,你的也是一样。感谢您的帮助。
    【解决方案2】:

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

    【讨论】:

    • 内森,感谢您的帮助。我正在尝试“自己”学习一些东西,但我不知道 mysqli。现在我读了一些关于它的东西,我将使用它。感谢您的提示,再次感谢。此时我可以在表格中看到我的数据,但现在表格的“搜索”和“分页”不起作用它说我的表格有“0行”。我正在使用 DataTables,我正在阅读它并传递正确的(显然)值(我已经检查过 console.log(data))。目前不知道是什么问题。
    猜你喜欢
    • 2014-10-03
    • 1970-01-01
    • 2013-08-07
    • 2019-02-16
    • 1970-01-01
    • 2018-07-19
    • 2015-08-28
    • 2017-08-29
    • 1970-01-01
    相关资源
    最近更新 更多