2013-04-06 2 views
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); 

첫째, 내 "에코로 json_encode는"나에게 제공하지 않습니다 모든 쿼리 행, 단 하나, 어떻게 내 html 페이지에 모든 쿼리 행을 전달할 수 있습니까? 여기서 누락 된 것은 무엇입니까? : (((I 필요한 두 번째 도움은 내 테이블에 그 값을 표시 할 수있는 방법 내가 올바른 기능을 (사용하고있다 $해서 getJSON)

감사합니다 사전에 마리오

답변

1

당신은해야합니다.?. 객체를 포함하는 배열 될 것입니다

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

그리고 반환 된 데이터 당신은 그것을 반복한다 : 같은과 mysql_fetch_assoc 반복.

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

인코딩 할 때 왜 반복할까요? 모든 결과를 가져 오는 것이 훨씬 낫습니다. 또한 단순히 속성에 액세스 할 수있을 때 데이터를 반복하는 이유는 무엇입니까? –

+0

Radalin, 답변 해 주셔서 감사합니다. 나는 네이선에게 대답했습니다. 그리고 그것은 당신도 마찬가지입니다. 도와 줘서 고마워. –

1

먼저 mysql 확장 프로그램을 사용 중지하십시오. 더 이상 사용되지 않으며 대신 mysqli 또는 PDO를 사용해야합니다. 한 행만 표시되는 이유는 사용중인 함수가 mysql_fetch_assoc인데 하나의 행만 반환한다는 것입니다. mysqli_fetch_all 또는 PDO equivalent이 필요합니다. $.getJSON은 올바른 기능이며, 여러분과 같은 값을 설정하는 것이 좋습니다. 무엇이 잘못 될지 알아 보려면 console.log(data)입니다.

+0

네이선, 도와 주셔서 감사합니다. 나는 "나 혼자서"무언가를 배우려고 노력하고 있으며 나는 mysqli에 대해 몰랐다. 이제 나는 그것에 관해 뭔가를 읽고 그것을 사용할 것입니다. 한 번 더 감사드립니다. 지금은 테이블에서 내 데이터를 볼 수 있지만 테이블의 "검색"및 "페이지 매김"이 작동하지 않습니다. 테이블에 "0 행"이 있다고 표시됩니다. 나는 DataTables를 사용하고 있고 그것에 대해 읽었고 corrects (분명히) 값을 전달한다. (나는 console.log (data)로 확인했다.) 나는 그 순간에 어떤 문제인지 모른다. –

관련 문제