使用php Javascript滚动表格中的记录

时间:2016-11-01 12:02:43

标签: javascript php mysql

我在html中有一个表格,通过php(mysql)打印数据。我希望通过按下每个记录旁边的按钮,我会显示相关记录的值并打印显示的值。

我几乎成功了,但每次按下时我只拿第一个记录按钮,而不是同一行。

 <?php
            $data = 'sito';
            $db = mysqli_connect('localhost', 'root', '', $data);
            $result= mysqli_query ($db, "SELECT * FROM prodotti");
            echo"<table id='tabella' width='800' border='1'>";
                echo"<tr>
                  <th >Codice</th>
                  <th >Nome</th>
                  <th >Giacenza</th>
                  <th> Azioni </th>
                  <th >Data consegna</th>
                </tr>";
                while($row=mysqli_fetch_array($result)){
           echo"<tr>
                  <td id='cod'>".$row['Codice']."</td>
                  <td id='nom'>".$row['Nome']."</td>
                  <td id='gia'>".$row['Giacenza']."</td>
                  <td id='dat'>
                    <button id='pulsante'  onClick='giacenza()'>pulsante</button>
                  </td>
                  <td id='datac'>";
                        $dat=$row['Data consegna'];
                        $data=substr($dat,8,2)."-".substr($dat,5,2)."-".substr($dat,0,4);
                        echo $data."</td>
                </tr>";}
            echo"</table>";
    ?>
这里的PHP代码 遗憾

var d = document.createElement("div");
d.setAttribute("id", "modifica");
var String = "<textarea id='textarea' rows='1' cols='3'></textarea> <input type='text' id='input'></input>          <button type='submit' id = 'boton'>aggiorna </button>";
d.innerHTML = String;
var g = document.getElementById("gia").textContent;
document.body.appendChild(d);
document.getElementById("textarea").innerHTML = g; 

2 个答案:

答案 0 :(得分:0)

您放在每条记录旁边的按钮都是相同的。您不会以任何方式知道您按下哪个按钮。尝试这样的事情:

<button id='pulsante'  onClick='giacenza(".$row['Codice'].")'>pulsante</button>

并更改您的giacenza javascript函数,将Codice作为参数,并使用它来识别正在操作哪条记录。

我认为Codice是您的商品代码或记录中唯一的内容。如果你没有这样的领域,你需要提出一些建议。

您还需要其他任何内容的唯一标识符,例如您正在操作的文本框。不使用"MyBox"的ID,而是使用"MyBox_".$row['Codice']

的ID

答案 1 :(得分:0)

我建议将值作为参数传递给函数

PHP代码

<?php
    $data = 'sito';
    $db = mysqli_connect('localhost', 'root', '', $data);
    $result= mysqli_query ($db, "SELECT * FROM prodotti");
    echo"<table id='tabella' width='800' border='1'>";
    echo"<tr>
            <th >Codice</th>
            <th >Nome</th>
            <th >Giacenza</th>
            <th> Azioni </th>
            <th >Data consegna</th>
          </tr>";
    while($row=mysqli_fetch_array($result)){
       echo"<tr>
              <td id='cod'>".$row['Codice']."</td>
              <td id='nom'>".$row['Nome']."</td>
              <td id='gia'>".$row['Giacenza']."</td>
              <td id='dat'>
              <!-- Next line has the change -->
                <button id='pulsante' onClick='giacenza(/"".$row['Giacenza']."/")'>pulsante</button>
              </td>
              <td id='datac'>";
                    $dat=$row['Data consegna'];
                    $data=substr($dat,8,2)."-".substr($dat,5,2)."-".substr($dat,0,4);
                    echo $data."</td>
            </tr>";
    }
    echo"</table>";
?>

你的javascript代码: 它不是从元素中获取值,而是使用传递参数

中的值
function giacenza(g){
   var d = document.createElement("div");
   d.setAttribute("id", "modifica");
   var String = "<textarea id='textarea' rows='1' cols='3'></textarea> <input type='text' id='input'></input>          <button type='submit' id = 'boton'>aggiorna </button>";
   d.innerHTML = String;
   document.body.appendChild(d);
   document.getElementById("textarea").innerHTML = g;
}