как решить php ошибку Неопределенная переменная: id? - PullRequest
0 голосов
/ 25 января 2019

это мой код.он показывает отличный вывод, но одна ошибка 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.

Ответы [ 2 ]

0 голосов
/ 25 января 2019

Вы также можете достичь желаемого результата как:

Пример:

$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 в массив.тогда вам просто нужно использовать метод implode().

При использовании этого метода вам не нужно использовать метод trim() для удаления последней запятой (,)

Примечание: это просто пример использования array и implode().

0 голосов
/ 25 января 2019

Вы пытаетесь объединить переменную $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. Он использует более элегантное решение и лучший подход.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...