1

I am working on a PHP form that allows a user to add rows to a table and then submit the information using the form through email. I need to pass the variables into the email. I have tried using this:

$n = count($type);
$i = 0;
for ($i = 0; $i < $n; $i++){
    $e_classes = "______________________________________________ \r\n\n";
    $e_classes .=  "Class Type: {$type[$i]} \r\n";
    $e_classes .= "Number of Classes: {$nc[$i]} \r\n";
    $e_classes .= "Number of Students: {$sc[$i]} \r\n";
    $e_classes .= "______________________________________________ \r\n\n";
}

But when I get the email only the last one in the table is displaying. How would I get all of the added table rows to display? I can make everything work if I use 'echo', but I need to pass everything into a variable that I can use for an email.

4

1 に答える 1

6

このような :

$e_classes = '';
$n = count($type);
$i = 0;
for ($i = 0; $i < $n; $i++){
    $e_classes .= "______________________________________________ \r\n\n";
    $e_classes .=  "Class Type: {$type[$i]} \r\n";
    $e_classes .= "Number of Classes: {$nc[$i]} \r\n";
    $e_classes .= "Number of Students: {$sc[$i]} \r\n";
    $e_classes .= "______________________________________________ \r\n\n";
}

変数のループの最初のエントリは、代わり$e_classesに.$e_classes =$e_classes .=

これは、各ループの前に、変数が最初の行の値でリセットされたことを意味します。

あなたはこれをしていました:

$Var = '';
for($i = 0, $i < n; $i++){
    $Var = 'a';
}

// Loop 1
$Var = 'a';

// Loop 2
$Var = 'a';

// Loop 3
$Var = 'a';

あなたはこれが欲しかった:

$Var = '';
for($i = 0, $i < n; $i++){
    $Var .= 'a';
}

// Loop 1
$Var = 'a';

// Loop 2
$Var = 'aa';

// Loop 3
$Var = 'aaa';

シンボル=は、変数の値を新しい値で上書きします。

シンボル.=は、変数の末尾に値を追加します。

于 2012-06-27T16:14:04.063 に答える