PHP로 웹샵을 만들고 세션을 사용하여 임시 항목을 저장합니다.배열에서 항목 제거
<form method="post" action="basket.php">
<table border="1" style="width:400px;">
<tr>
<td style="width:35%;">Product</td>
<td style="width:30%;">Aantal</td>
<td style="width:25%;">Totale prijs</td>
<td style="width:10%;"></td>
</tr>
<?php
for($i = 0; $i < count($_SESSION['basket']); $i++) {
$id = $_SESSION['basket'][$i]['itemId'];
$number = $_SESSION['basket'][$i]['number'];
$result = $mysqli->query('SELECT * FROM items WHERE id = "' . $id . '"');
$row = $result->fetch_assoc();
$total = $number * $row['price'];
?>
<tr>
<td>
<a href="view_item.php?id=<?php echo $id; ?>">
<?php echo $row['name']; ?>
</a>
</td>
<td><?php echo $number; ?></td>
<td>€ <?php echo $total; ?></td>
<td><input type="submit" name="removeItem[]" value="Verwijder" /></td>
</tr>
<?php
if (isset($_POST['removeItem'])) {
unset($_SESSION['basket'][$i]);
}
$_SESSION['basket'] = array_values($_SESSION['basket']);
}
?>
</table>
</form>
세션에 3 개의 항목을 설정할 때.
Array
(
[basket] => Array
(
[0] => Array
(
[itemId] => 1
[number] => 1
[timestamp] => 1380722942
)
[1] => Array
(
[itemId] => 1
[number] => 1
[timestamp] => 1380722944
)
[2] => Array
(
[itemId] => 1
[number] => 1
[timestamp] => 1380722945
)
)
)
그리고 두 번째 항목을 제거, 그것은 또한 마지막 항목 ..
무엇을 잘못 제거?
누군가 나를 도울 수 있습니까?
두 번째 항목은 항목 # 1입니다. 어쩌면 당신은 제 2 품목 (# 2)을 제거하고 있습니까? 실제로는 3 번째입니까? – Reinherd
코드를 본질적인 질문으로 분리하는 것을 고려하십시오. 그것은 간단한 질문을하는 많은 코드입니다. – kojiro
코드를 제거하기 위해 어떤 코드를 사용하고 있습니까? – quantme