PHP将MySQL结果组合为一个变量

PHP将MySQL结果组合为一个变量,php,mysql,variables,Php,Mysql,Variables,我试图在我正在工作的站点底部创建一个城镇列表,我可以在这个PHP块中回送变量fine,但是当我尝试在另一个PHP块中回送$result1时,它只返回第一个结果,而不是整个列表 知道发生了什么事吗 $result = mysql_query("SELECT town FROM jb_town_postcodes"); $results = array(); while($row = mysql_fetch_assoc($result)) echo $results1 = $row['town']

我试图在我正在工作的站点底部创建一个城镇列表,我可以在这个PHP块中回送变量fine,但是当我尝试在另一个PHP块中回送$result1时,它只返回第一个结果,而不是整个列表

知道发生了什么事吗

$result = mysql_query("SELECT town FROM jb_town_postcodes");
$results = array();
while($row = mysql_fetch_assoc($result))
echo $results1 =  $row['town'];
现在

比如说

echo$results[0]
将打印第一个值,例如Wolverhampton
echo$results[2]
将打印Cannock

echo$results[计数($results)-1]
将打印最后一个值

现在

比如说

echo$results[0]
将打印第一个值,例如Wolverhampton
echo$results[2]
将打印Cannock


echo$results[count($results)-1]
将打印最后一个值

您在$result1中保存的每次迭代都会从$result中获得一个新值-这就是为什么在循环后您只有最后一个城镇。

您在$result1中保存的每次迭代都会从$result中获得一个新值-这就是为什么在循环后您只有最后一个城镇。

尝试以下方法:

$result = mysql_query("SELECT town FROM jb_town_postcodes");
$results = array();

while($row = mysql_fetch_assoc($result))
  // at every iteration, store value of 
  // $row['town'] to new index of $results1
  $results1[] =  $row['town'];

// now use $results anywhere
试试这个:

$result = mysql_query("SELECT town FROM jb_town_postcodes");
$results = array();

while($row = mysql_fetch_assoc($result))
  // at every iteration, store value of 
  // $row['town'] to new index of $results1
  $results1[] =  $row['town'];

// now use $results anywhere

您应该使用花括号;)


您应该使用花括号;)


while循环内的变量不正确,因为它每次都重写,直到循环结束。您刚刚创建了一个空数组,但从未使用它。while循环内的变量不正确,因为它每次都会覆盖,直到循环结束。您刚刚创建了一个空数组,但从未使用过它。您的回答太快了,堆栈溢出实际上还不会让我接受您的回答:D谢谢!如何让它不显示为数组,而是显示为值列表?因此,与“数组([0]=>Wolverhampton[1]=>Tipton[2]=>Cannock[3]”不同的是,“Wolverhampton Tipton Cannock”例如echo$results[0]将打印Wolverhampton和echo$results[2]将打印CannockYou已经回答得如此之快以至于Stack Overflow实际上还不会让我接受您的回答:D谢谢!我如何让它不显示为数组,而是显示一个值列表?因此,与其使用“数组([0]=>Wolverhampton[1]=>Tipton[2]=>Cannock[3]”,不如使用“Wolverhampton Tipton Cannock”作为示例echo$results[0]将打印Wolverhampton和echo$结果[2]如果你只在里面放了一个命令,那么你就不应该用它们来让它更可读!@peipst9lker也许,但是如果你有很多行,那就更好了如果你只在里面放了一个命令,那么你就不应该用它们来让它更可读!@peipst9lker也许,但是如果你有很多行,那就更好了
while($row = mysql_fetch_assoc($result))
{
  $results[]= $row['town']; 
}