1

私が取り組んでいるプログラムは、基本的にレストランのレシートメーカーです。配列から取られた食べ物の束を含むドロップダウンリストがあります。配列には各アイテムの価格が含まれ、現在のところ、プログラムはドロップダウンから選択された食品を表示し、個々の価格を一覧表示して、合計します。私が抱えている問題は、誰かが同じアイテムを複数回選択した場合、そのアイテムの数量を登録する方法がないことです。基本的に、現在の選択を過去の選択と照合して、重複していないかどうかを確認するコードが必要です。どうすればいいのかよくわかりません。これが私のこれまでのコードです。ご覧になり、アドバイスをお伝えください。ありがとう。

4

2 に答える 2

1

選択した値をセッションに保存し、PHP のin_array関数を使用して、その選択の値がセッションに既に存在するかどうかを確認できます。値が false になると、他の値を複製せずに選択を追加できます。

編集; item という選択ボックスがあり、変更を投稿するとします。値は $_POST['item']; に格納されます。

ページが投稿されている場合、これを行うことができます。

<?PHP
if(!in_array($_POST['item'], $_SESSION['items'])) {
    $_SESSION['items'][] = $_POST['item']; // add posted item to array value items in session
}
?>

session_start(); を忘れないでください。ページの一番上にあります。

于 2012-10-12T19:26:55.840 に答える
0

配列キーにある種の一意の製品 ID を使用し、新しい製品を配列に追加する前に、重複を作成する可能性があるため、配列キーを介してその ID が既に存在するかどうかを確認します。存在する場合は、次のように実行します。

if (isset($products[$id]) {
    $products[$id]['quantity'] = $products[$id]['quantity']++;
} else {
    // Create new array item as you're doing now...
}
于 2012-10-12T19:28:11.437 に答える