如何在函数中的while循环外获取php变量
这是我能想到的最好的,但它不起作用。我试着做了一块饼干,但它仍然不能按我想要的方式工作如何在函数中的while循环外获取php变量,php,Php,这是我能想到的最好的,但它不起作用。我试着做了一块饼干,但它仍然不能按我想要的方式工作 function getTowns($conn) { $sql = "SELECT towns.name, towns.id, regions.name AS region_name FROM towns INNER JOIN regions ON towns.region_id = regions.id ORDER BY name ASC"; $result = $conn->quer
function getTowns($conn)
{
$sql = "SELECT towns.name, towns.id, regions.name AS region_name FROM towns INNER JOIN regions ON towns.region_id = regions.id ORDER BY name ASC";
$result = $conn->query($sql);
$town_opt = ''; //stands for town option
town_opt .= "<datalist id='townlist'>";
while ($row = $result->fetch_assoc()) {
$town_id = $row['id'];
$town_opt .= "<option>" . $row['name'] . ", " . $row['region_name'] . "</option>";
}
$town_opt .= "</datalist>";
return $town_opt;
};
echo $town_id;
echo getTowns($conn);
//how can I echo every town id?
返回一个数组,第一个值是您想要的一个值,第二个值是另一个值它给我这个错误消息:注意:第67行的C:\xampp\htdocs\skathy\book.php中的数组到字符串转换array///第67行是/$town\u id echo$towns[1];检查解决方案,它应该是print\r$towns[1]
function getTowns($conn)
{
$sql = "SELECT towns.name, towns.id, regions.name AS region_name FROM towns INNER JOIN regions ON towns.region_id = regions.id ORDER BY name ASC";
$result = $conn->query($sql);
$town_opt = ''; //stands for town option
// We first set the town_id placeholder
$town_id = array();
town_opt .= "<datalist id='townlist'>";
while ($row = $result->fetch_assoc())
{
// We add the ID into our array
$town_id[] = $row['id'];
$town_opt .= "<option>" . $row['name'] . ", " . $row['region_name'] . "</option>";
}
$town_opt .= "</datalist>";
// We return an array
return array($town_opt, $town_id);
/* Or you could use this
return array('town_opt' => $town_opt, 'town_id' => $town_id);
And then use them like so:
$towns = getTowns($conn);
// $town_opt
echo $towns['town_opt'];
// $town_id
print_r($towns['town_id]);
*/
};
$towns = getTowns($conn);
// $town_opt
echo $towns[0];
// $town_id
print_r($towns[1]);