在循环中获取数组中的多个值

时间:2017-03-11 02:56:04

标签: php arrays

我在获取多个值时遇到问题,我从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循环获取消息,但仍然只获取数字列中的第一个值。

感谢

3 个答案:

答案 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);
}