想要选择所有值,但只选择一个

时间:2019-05-09 11:31:11

标签: javascript php html

所以我要从数据库中选择许多值,但是有一行只能选择一个值。

here

Equipamento行有很多值,但是当我单击ver mais打开一个弹出窗口时,它仅显示一个值

here

tipo行(tipo = equipamento,我必须更改标题)

JS:

var idocorrencia;
$(document).on("click","#listagem tr td button", 
    function(e) {
        idocorrencia = $(this).parent().attr("idlista");
        $("#listagem caption").text($(this).text());
        console.log(idocorrencia);

        $.ajax({
            type: 'POST',
            url: '../php/temp.php',
            data: { idoc : idocorrencia },
            success: function(data) {
                var data_array = $.parseJSON(data);
                $("#descricao").empty().append( data_array['descricao'] );
                $("#qtd").empty().append( data_array['qtd'] );
                $("#sala").empty().append( data_array['sala'] );
                $("#tipo").empty().append( data_array['tipo'] );
                $("#data").empty().append( data_array['data'] );
                $("#hora").empty().append( data_array['hora'] );
            }
        });
    }
);  

这是php代码:

$dados = array();
if(isset($_POST["idoc"])) {
    $idoc = $_POST["idoc"];
    $sql = "SELECT m.tipo FROM `material` as m INNER JOIN `ocorrencia_detalhe` 
        as od on m.id = od.id_tipo AND od.id_ocorrencia=$idoc";
    $res = mysqli_query($conn, $sql);

    while ($r = mysqli_fetch_assoc($res)) {
        $tipo = $r['tipo'];
    }

    $dados["tipo"] = $tipo;
    echo json_encode($dados);

然后显示如下:

<div id="sala"></div>
<textarea id="descricao"></textarea>
<div id="data"></div>
<div id="hora"></div>
<div id="tipo"></div>
<p id="qtd"></p>

1 个答案:

答案 0 :(得分:0)

  1. 您每次迭代都会覆盖$tipo变量。而是将其附加到数组。
  2. 您容易受到SQL注入攻击的影响-请使用带占位符的预处理语句。
$dados = array();
if (isset($_POST["idoc"])) {
    $idoc = $_POST["idoc"];
    $sql = "SELECT m.tipo 
            FROM `material` as m 
            INNER JOIN `ocorrencia_detalhe` as od 
              ON m.id = od.id_tipo
            WHERE od.id_ocorrencia=?";
    $stmt = $conn->prepare($sql);
    $stmt->bind_param("i", $idoc);
    $stmt->execute();
    $stmt->bind_result($tipo);
    while ($stmt->fetch()) {
         $dados['tipo'][] = $tipo;
    }
    $stmt->close();
    echo json_encode($dados);
}

还可以看到这段代码更容易阅读吗?正确缩进和格式化的代码可以更好地进行故障排除,而其他人也可以阅读。

相关问题