我在获取多个值时遇到问题,我从db卸载它并发布以通过while循环获取所有值,但只显示数组中的第一个值。这是我的剧本:
submit.php
$res=mysql_query(select number from phonebook);
while ($row = mysql_fetch_array($res))
{
$number = $row['number'];
}
<form method="post" action="send.php">
<input type="checkbox" name="number" value="<?php echo $number ?>">
<textarea name="message"></textarea>
<input type="submit" name="submit" value="submit">
send.php
$message = $_POST['message'];
$number = $_POST['number'];
exec('echo '.$message.' | mySmsGw --sendsms '.$number);
我试图以多个联系人号码发送消息并使用while循环获取消息,但仍然只获取数字列中的第一个值。
感谢
答案 0 :(得分:0)
如果你想要所有数字:
$number[] = $row['number'];
答案 1 :(得分:0)
这是因为循环中的以下行:
$number = $row['number'];
在每个新的迭代上,$ number值被覆盖。所以改成它:
$number[] = $row['number'];
这样它可以容纳多个数字。
答案 2 :(得分:0)
$res = mysql_query("select number from phonebook");
$number = [];
while ($row = mysql_fetch_array($res)) {
$number[] = $row['number'];
}
<form method="post" action="send.php">
<?php foreach ($number as $num) { ?>
<input type="checkbox" name="number[]" value="<?php echo $num; ?>">
<?php } ?>
<textarea name="message"></textarea>
<input type="submit" name="submit" value="submit">
POST:
$message = $_POST['message'];
$numbers = $_POST['number'];
foreach ($numbers as $number) {
exec('echo '.$message.' | mySmsGw --sendsms '.$number);
}