传递的值$行[某物]用于执行另一个查询


Pass the value of .$row[something] for executing another query

我有一个仪表板表(MySQL),它将其值打印到php文件(dashboard.php)中的html表(仪表板ID隐藏),再加上另一列按钮,该按钮调用另一个php(deletedashboard.php)文件来删除行。我需要的是,单击按钮后,我需要获得特定行的仪表板id,并将其转发到deletedashboard.php,这样我就可以执行查询来删除该行。

dashboard.php中的表:

<?php
$result = mysql_query("select dashboardid, date, message, remarks from dashbaord");
if (mysql_num_rows($result) > 0) {
   echo "<table class='"table table-striped table-bordered table-hover'"><tr><th>Date</th><th>Message</th><th>Remarks</th><th></th></tr>";
while($row = mysql_fetch_assoc($result)) {
   echo "<tr><td style='"display:none;'">".$row["dashboardid"]."</td><td>".$row["date"]."</td><td>".$row["message"]."</td><td>".$row["remarks"]."</td><td><center><button formaction='"deletedashboard.php'" type='"button'" class='"btn btn-success glyphicon glyphicon-ok'" ><strong> Delete</strong></button>";
                      }
   echo "</table>";
   } else {
   echo "0 results";
   }
?>

deletedashboard.php:

session_start();
$conn = mysql_connect("localhost:3306", "root", "") or die (mysql_error($conn));
mysql_select_db("mydb", $conn);
$ID = *I need to get the ID from the .$row["dashboardid"] from dashboard.php*
$query = "DELETE from dashboard WHERE dashboardid=$ID";
$result = mysql_query($query);
if (!$result) {
    echo mysql_error($conn);
} else {
    header("Location: ../dashboard.php");
}

使用href

<a href="deletedashboard.php?id=<?php echo $row['dashboardid']; ?>">Delete</a>

这样更新你的代码:-

while($row = mysql_fetch_assoc($result)) {
   echo "<tr><td style='"display:none;'">".$row["dashboardid"]."</td>
   <td>".$row["date"]."</td><td>".$row["message"]."</td><td>".$row["remarks"]."</td>
   <td><center>
    <a href="deletedashboard.php?id=<?php echo $row['dashboardid']; ?>">Delete</a>
    }

deletedashboard.php

$ID = $_GET["id"];//get id
$query = "DELETE from dashboard WHERE dashboardid=$ID";

更改:

<?php
. . . 
. . .    
while($row = mysql_fetch_assoc($result)) {
   echo "<tr>";
   echo "<td style='"display:none;'">".$row["dashboardid"]."</td>";
   echo "<td>".$row["date"]."</td><td>".$row["message"]."</td>";
   echo "<td>".$row["remarks"]."</td>":
   // just append $row['dashboardid'] with page url
   echo "<td><center><button formaction='deletedashboard.php?id=".$row['dashboardid']."' type='button' class='btn btn-success glyphicon glyphicon-ok' ><strong> Delete</strong></button>";
}
   . . . 
   . . . 
?>

deletedashboard.php中用$_GET捕获id,如:

session_start();
$conn = mysql_connect("localhost:3306", "root", "") or die (mysql_error($conn));
mysql_select_db("mydb", $conn);
$ID = $_GET["id"];  // here you can get your $row['dashboardid']
$query = "DELETE from dashboard WHERE dashboardid=$ID";
$result = mysql_query($query);
if (!$result) {
    echo mysql_error($conn);
} else {
    header("Location: ../dashboard.php");
}

更新:

使用逗号将所有ids附加为:

formaction='deletedashboard.php?ids=".$row['dashboardid'].",".$row['someother_id'].",".$someStatic_id.";

捕获这些ID:使用explode()函数获取ID数组,如:

$ids[] = explode(',',$_GET['ids']);
$id1 = $ids[0];
$id2 = $ids[1];
// and so on...