Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何解决php错误未定义变量:id?_Php_Database - Fatal编程技术网

如何解决php错误未定义变量:id?

如何解决php错误未定义变量:id?,php,database,Php,Database,这是我的密码。它显示了完美的输出,但显示了一个php错误 这是我的密码。它显示了完美的输出,但显示了一个php错误 <tbody> <?php while ($row = mysqli_fetch_array($result)) { $sum+= $row["Price"]; $id .= $row["id"] . ","; echo "<tr><td>" . "#" . $r

这是我的密码。它显示了完美的输出,但显示了一个php错误 这是我的密码。它显示了完美的输出,但显示了一个php错误

<tbody>
   <?php
      while ($row = mysqli_fetch_array($result)) {
          $sum+= $row["Price"];
          $id .= $row["id"] . ",";
          echo "<tr><td>" . "#" . $row["id"] . "</td><td>" . $row["Name"] . "</td><td>Rs " . $row["Price"] . "</td><td><a href='cart-remove.php?id={$row['id']}' class='remove_item_link'> Remove</a></td></tr>";
      }
      $id = rtrim($id, ", ");
      echo "<tr><td></td><td>Total</td><td>Rs " . $sum . "</td><td><a href='success.php?itemsid=" . $id . "' class='btn btn-primary'>Confirm Order</a></td></tr>";
      ?>
</tbody>

未定义变量:id


您尝试连接
$id
变量,但没有将其设置在任何位置,因此它是未定义的。您只需在while循环之前定义它,如下所示:

<tbody>
<?
$id = "";
while ($row = mysqli_fetch_array($result)) {
    $sum+= $row["Price"];
    $id .= $row["id"] . ",";
    echo "<tr><td>" . "#" . $row["id"] . "</td><td>" . $row["Name"] . "</td><td>Rs " . $row["Price"] . "</td><td><a href='cart-remove.php?id={$row['id']}' class='remove_item_link'> Remove</a></td></tr>";
}
$id = rtrim($id, ", ");
echo "<tr><td></td><td>Total</td><td>Rs " . $sum . "</td><td><a href='success.php?itemsid=" . $id . "' class='btn btn-primary'>Confirm Order</a></td></tr>";
?>
</tbody>


这将解决您的问题,但请检查@devpro-answer。他正在使用一种更优雅的解决方案和更好的方法。

您尝试连接
$id
变量,但您没有将其设置在任何位置,因此它是未定义的。您只需在while循环之前定义它,如下所示:

<tbody>
<?
$id = "";
while ($row = mysqli_fetch_array($result)) {
    $sum+= $row["Price"];
    $id .= $row["id"] . ",";
    echo "<tr><td>" . "#" . $row["id"] . "</td><td>" . $row["Name"] . "</td><td>Rs " . $row["Price"] . "</td><td><a href='cart-remove.php?id={$row['id']}' class='remove_item_link'> Remove</a></td></tr>";
}
$id = rtrim($id, ", ");
echo "<tr><td></td><td>Total</td><td>Rs " . $sum . "</td><td><a href='success.php?itemsid=" . $id . "' class='btn btn-primary'>Confirm Order</a></td></tr>";
?>
</tbody>


这将解决您的问题,但请检查@devpro-answer。他正在使用一种更优雅的解决方案和更好的方法。

您还可以通过以下方式实现您想要的结果:

示例:

$idArray = array(); // initialize array
while () { // your while loop
$idArray[] = $row["id"]; // save id into an array
}
$id = implode(',', $idArray); // now you can use this variable as you need.
在这里,我将
$id
保存到一个数组中。然后你只需要使用这个方法

通过使用此方法,您无需使用
trim()
方法删除最后一个逗号
(,)


旁注:这只是一个使用
数组的示例。

您还可以实现所需的结果,如下所示:

示例:

$idArray = array(); // initialize array
while () { // your while loop
$idArray[] = $row["id"]; // save id into an array
}
$id = implode(',', $idArray); // now you can use this variable as you need.
在这里,我将
$id
保存到一个数组中。然后你只需要使用这个方法

通过使用此方法,您无需使用
trim()
方法删除最后一个逗号
(,)


旁注:这只是一个使用
数组
和的示例。

可能重复的
$id=''在循环或
$id=0时使用此选项
$id.=$row
$id
之前的
建议将值附加到现有的
$id
中,使用
内爆()
并将id保存在arrayokk中..获得了它…..
$id=''的可能重复在循环或
$id=0时使用此选项
$id.=$row
$id
之前的
建议将值附加到现有的
$id
使用
内爆()
并将id保存在arrayokk中..明白了。。。。