首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编辑表格中的数据

编辑表格中的数据
EN

Stack Overflow用户
提问于 2014-06-11 19:37:36
回答 5查看 101关注 0票数 0

我有一个带有编辑按钮的表(每个产品一个),单击该按钮时,我希望它编辑特定的行。

这是我的桌子

代码语言:javascript
复制
<?php
    require 'connect.php';

    $query = $link->query("SELECT * FROM fornecedor");

    echo "<table border='1' cellpadding='2' cellspacing='2'";

    echo "<tr>
            <td>Nome</td>
            <td>NIF</td>
            <td>Cidade</td>
            <td>Rua</td>
            <td>NrPorta</td>
            <td>Website</td>
            <td>email</td>
            <td>Editar</td>
            <td>Eliminar</td>
            <td>Adicionar</td>
        </tr>"; 

        while ($row = $query->fetch_array() ) {

            echo "<tr>";
            echo "<td>" . $row["Nome"] . "</td>";
            echo "<td>" . $row["NIF"] . "</td>";
            echo "<td>" . $row["Cidade"] . "</td>";
            echo "<td>" . $row["Rua"] . "</td>";
            echo "<td>" . $row["NrPorta"] . "</td>";
            echo "<td>" . $row["Website"] . "</td>";
            echo "<td>" . $row["Email"] . "</td>";
            echo "<td><a href='editarFornecedor.php'><img src='images/edit.svg' width='40px' height='30px'></a></td>";
            echo "<td><a href='eliminarFornecedor.php'><img src='images/delete.png' width='30px' height='30px'></a></td>";
            echo "</tr>";  
        };
          echo "</table>";

          $link->close();

?>

这是我的编辑页面:

代码语言:javascript
复制
include 'connect.php';

$result = mysqli_query($link,"SELECT * FROM Fornecedor");

while($row = mysqli_fetch_array($result))

?>

  <form method="post" action="edit_data.php">
  <input type="text" name="id" value="<?php echo "$row[id]"?>">
    <tr>        
      <td>Nome</td>
      <td>
        <input type="text" name="Nome" size="40" value="<?php echo "$row[Nome]"?>">
      </td>
    </tr>
    <tr>
      <td>Nif</td>
      <td>
        <input type="text" name="Nif" size="40"  value="<?php echo "$row[NIF]"?>">
      </td>
    </tr>
    <tr>
      <td>Cidade</td>
      <td>
       <input type="text" name="Cidade" size="40" value="<?php echo "$row[Cidade]"?>">
      </td>
    </tr>
    <tr>
      <td>Rua</td>
      <td>
        <input type="text" name="Rua" size="40" value="<?php echo "$row[Rua]"?>">
      </td>
    </tr>
    <tr>
      <td>NrPorta</td>
      <td>
        <input type="text" name="NrPorta" size="40"  value="<?php echo "$row[NrPorta]"?>">
      </td>
    </tr>
    <tr>
      <td>Website</td>
      <td>
        <input type="text" name="Website" size="40"  value="<?php echo "$row[Website]"?>">
      </td>
    </tr>
    <tr>
      <td>Email</td>
      <td>
        <input type="text" name="Email" size="40" value="<?php echo "$row[Email]"?>">
      </td>
    </tr>
    <tr>
      <td align="right">
        <input type="submit" name="submit value" value="Edit">
      </td>
    </tr>
  </form>
  </table>


<?php mysqli_close($link);?> 

我只看到没有值的表单,我希望使它们可见,这样用户就可以编辑数据。我做错什么了?编码不好还是遗漏了什么?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-06-11 19:40:55

所有的$row值都是这样的:

代码语言:javascript
复制
$row[Nome]

当他们应该有这样的单引号时:

代码语言:javascript
复制
$row['Nome']

此外,HTML中的echo行如下所示:

代码语言:javascript
复制
<input type="text" name="Email" size="40" value="<?php echo "$row[Email]"?>">

但是那些"双引号是不需要的,所以应该是这样的:

代码语言:javascript
复制
<input type="text" name="Email" size="40" value="<?php echo $row['Email'] ?>">

以下是我试图解决上述问题的尝试。我认为它应该有效:

代码语言:javascript
复制
  <form method="post" action="edit_data.php">
  <input type="text" name="id" value="<?php echo $row['id'] ?>">
    <tr>        
      <td>Nome</td>
      <td>
        <input type="text" name="Nome" size="40" value="<?php echo $row['Nome'] ?>">
      </td>
    </tr>
    <tr>
      <td>Nif</td>
      <td>
        <input type="text" name="Nif" size="40"  value="<?php echo $row['NIF'] ?>">
      </td>
    </tr>
    <tr>
      <td>Cidade</td>
      <td>
       <input type="text" name="Cidade" size="40" value="<?php echo $row['Cidade'] ?>">
      </td>
    </tr>
    <tr>
      <td>Rua</td>
      <td>
        <input type="text" name="Rua" size="40" value="<?php echo $row['Rua'] ?>">
      </td>
    </tr>
    <tr>
      <td>NrPorta</td>
      <td>
        <input type="text" name="NrPorta" size="40"  value="<?php echo $row['NrPorta'] ?>">
      </td>
    </tr>
    <tr>
      <td>Website</td>
      <td>
        <input type="text" name="Website" size="40"  value="<?php echo $row['Website'] ?>">
      </td>
    </tr>
    <tr>
      <td>Email</td>
      <td>
        <input type="text" name="Email" size="40" value="<?php echo $row['Email'] ?>">
      </td>
    </tr>
    <tr>
      <td align="right">
        <input type="submit" name="submit value" value="Edit">
      </td>
    </tr>
  </form>
  </table>
票数 2
EN

Stack Overflow用户

发布于 2014-06-11 19:40:39

您忘了将数组对象的名称放在引号中。

而不是:

代码语言:javascript
复制
$row[Email]

尝试:

代码语言:javascript
复制
$row['Email']

诸若此类。

票数 0
EN

Stack Overflow用户

发布于 2014-06-11 19:44:12

问题是,您忘记使用您的$row['']在您的编辑页面的引号!

哦,而且我也不知道你是怎么用$row['']在下一页得到ID的。尝试使用查询字符串链接:

/editarFornecedor.php?id=" . $row['id'] . "

然后,在编辑页面上,使用ID查找用户要编辑的行:

$_GET['id'],让它成为一个变量,并在您的input标记上使用它!此外,您还可以在输入中添加disable

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24171203

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档