0

これが私のコード構造の簡潔なものです。私がする必要があるのは、チェックボックスの値を(ユーザーがチェックした場合のみ)メッセージとして添付された文字列とともに印刷することです。本質的に、メッセージは次のようになります。10,20,30 '

私のコーディングで私は次のようなものを手に入れますDelete following?Array ( [0] => 15 [1] => 35 )

誰かが私がこれを解決するのを手伝ってくれる?どうもありがとう。(注:<html></html>理解に関連するものの下にあり、提示されるべき適切なコードのすべてが言及されているわけではありません(私は十分だと信じています)

<?php
if(isset($_POST['submit']))
{
echo "Remove following?";
print_r ($_POST['del']);
}
?>

<html>
<form>
// inside html in a dynamically created table I have the following
<?php
echo "<td class='tbldecor1'><input type='checkbox' name='del[]' value='$cxVal'></td>";
echo "<td class='tbldecor2' style='text-align:center'>".trim($rec["firstrow"])."</td>";
<?
<div><input type="submit" name="deleterec" id="deleterec" value="Delete"></div>
</form>
</html>

編集:また、印刷にループを使用する場合、1、2、3、4、5の値を、ユーザーが選択したチェックボックスの値に置き換えるにはどうすればよいですか?私が考えているループは次のようになります。

 <?php 
 $a = array(1, 2, 3, 4, 5); 
 foreach ($a as $b) 
 { 
 print $b . " "; 
 } 
 ?> 
4

3 に答える 3

2

あなたはimplodeの助けを借りてそれを行うことができます:

$vals = $_POST['del'];
echo "Remove following? " . implode( ", ", $vals );

更新(@Waleed KhanによるHTMLインジェクションに関する警告の後):

// Make sure everything is a number (non-numeric will be replaced with boolean falses)
$vals = filter_var_array( $_POST['del'], FILTER_VALIDATE_INT ); 
// Remove all boolean falses
$vals = array_filter( $vals );
// String output
$valString = implode( ", ", $vals );
echo "Remove following? {$valString}";
于 2012-10-22T01:49:07.523 に答える
0

print_r変数に関する読み取り可能な情報を出力するの代わりに、次のimplodeコマンドを使用します。

echo "Delete following? " . implode(", ",$_POST['del']);
于 2012-10-22T01:50:53.153 に答える
0

を調べてみてくださいimplode()

forループ全体を次のように置き換えることができます。

echo implode(" ", $a);
于 2012-10-22T01:50:59.743 に答える