0

これは私が持っているコードです

<?php
$checkbox = $_REQUEST['checkbox']; 
for($i=0; $i<count($_REQUEST['checkbox']); $i++){ 
    $del_id = $checkbox[$i]; 
    $get_info=$db->prepare("SELECT * FROM `pending_payments` WHERE `id` = ?");
    $get_info->bind_param('i', $del_id);
    $get_info->execute();
    $result = $get_info->get_result();
    $info[] = $result->fetch_assoc();
    foreach($info as $row){ 
        $amount = $row['amount'];
        $email = $row['email'];
        echo"
        <input type='text' style='height: 35px;' name='Amount[]' value='".$amount."' />
        <input type='text' style='height: 35px;' name='EmailAddress[]' value='".$email."' /><br />
        ";
    }
}
?>

私が抱えている問題は、見つかった最初の行を複製していることです。データベースに 2 つのエントリがあり、最初の行を 2 回繰り返してから 3 番目の行に進みprint_r $infoます。

Array ( [0] => Array ( [id] => 1 [username] => ccarson030308 [amount] => 5.00 [processor] => PayPal [email] => ccarson030308@gmail.com [submitted_date] => 1372030166 ) )

次に、echoその行の を表示し、最初からやり直して表示します

Array ( [0] => Array ( [id] => 1 [username] => ccarson030308 [amount] => 5.00 [processor] => PayPal [email] => ccarson030308@gmail.com [submitted_date] => 1372030166 ) [1] => Array ( [id] => 2 [username] => tatsu91 [amount] => 5.00 [processor] => PayPal [email] => sheynever@yahoo.com [submitted_date] => 1372030166 ) ) 

for最初に表示されるのはこれだけですが、ループに何か問題がありますか? 私は通常ループしませんforforeach、それが私がやろうとしていることにとって最良の方法であるように見えましたが、どういうわけか失敗しています。

追加[]を追加しないと、12個のエラーが発生し ますWarning: Illegal string offset 'amount' Warning: Illegal string offset 'email'

4

1 に答える 1