循环遍历MYSQL查询的结果并插入表中

时间:2013-07-14 09:52:48

标签: php mysql

我会再试一次问这个问题。希望这次更有意义!

我的网页上有一个用户可编辑的单元格。我想连接到MYSQL数据库并在字段中搜索输入到此单元格的文本,对于找到的每个结果,我想在我的表中添加一个新行。我知道如何连接到数据库,我知道如何通过HTML创建查询。我不知道并希望得到一些指导,是循环每个结果并使用变量来完成查询的机制!

我添加行的代码

<script>
function getsearchresults()
{
var table=document.getElementById("myTable");
var row=table.insertRow(-1);
var cell1=row.insertCell(0);
var cell2=row.insertCell(1);
var cell3=row.insertCell(2);
var cell4=row.insertCell(3);
cell1.innerHTML= Variable1heremaybe?;
cell2.innerHTML="Variable2heremaybe?;
cell3.innerHTML="Variable3heremaybe?;
cell4.innerHTML="Variable4heremaybe?;
}
</script>
</head>
<body>

<table style="margin-top:350px; margin-left:25px;" id="myTable" border="1">
  <tr>
    <td>column1 <div style="width: 100px"> </div></td>
    <td>column2 <div style="width: 100px" > </div></td>
    <td>column3 <div style="width: 100px" > </div></td>
    <td>column4 <div style="width: 100px" > </div></td>

</table>

查询搜索代码

<?php
// Create connection
$con=mysqli_connect("bla","blabla","blablabla","blablabla");

// Check connection
if (mysqli_connect_errno($con))
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

SELECT `Table1`.`Column1`
FROM Table1
WHERE (`Table1`.`Column1` Variableheremayb?)
ORDER BY `Table1`.`Column1` ASC
?>

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

你可以这样做: 在这里,我假设您已经成功连接到数据库

//first execute the query 

$result = mysqli_query("Your query");

//then fetch the result of each row using a loop

while($row = mysqli_fetch_assoc($result))
{
  //here you can display the data or store it in a variable or anything else you want
  // for example you want to display it inside div tag.
   echo "<div>".$row["column1"]."</div>";
   echo "<div>".$row["column2"]."</div>";
   //and so on

}

我希望这可以提供一些帮助。

答案 1 :(得分:0)

首先,我建议将HTML中的行单元命名为同名cell[]。它们将作为一个数组发布,这更容易循环它。

<table>
  <tr>
    <td><input type="text" name="cell[]" /></td>
    <td><input type="text" name="cell[]" /></td>
    <td><input type="text" name="cell[]" /></td>
  </tr>
</table>

服务器端部分:

<?php

// Connect to MySQL
...

// Validate your form inputs
...
$cells = yourInputFilter($_POST['cell']);
...

// Build query
$cellSql = implode(',', $cells);

$sql = "SELECT *
        FROM table1
        WHERE column1 IN ($cellSql)
        ORDER BY column1";