PHP关于通过递归函数显示所有分类的问题

<?php
function zilei($fid){

$sql="select * from dangan_class where f_id=$fid";
$query=mysql_query($sql);
while($row=mysql_fetch_array($query)){
?>
<form action="" method="post">
<tr><td><input type="hidden" name="id" value="<?php echo $row[id] ?>"/>
<input type="text" name="name" value="<?php echo $row[name]?>"/>
<input type="submit" name="update_class" value="更新"/>
<input type="button" name="button" value="删除" onClick="location.href='?del=<?php echo $row[id]?>'"/>
</td></tr> </form>
<?php
$fid=$row[id];
zilei ($fid);
}

zilei(0);
?>
大家帮忙看一下,哪里不对,应该怎么改啊?现在运行结果什么也不显示

首先函数不能像你这样封装,而且没必要使用递归,循环就可以了(当然函数的自我嵌套循环就是递归算法),我的代码如下:

$sql = "SELECT * FROM `dangan_class` WHERE f_id = 1"; // 这里的f_id可以用变量,我只是演示,所以就填写一个具体的值
// 获取结果集
$result = mysql_query($sql);
// 用while循环遍历解析的数组
while (!!$assoc = mysql_fetch_assoc($result)) {
    echo '<input type="hidden" name="id" value="' . $assoc['id'] . '"/>';
    echo '<input type="text" name="name" value="' . $assoc['name'] . '"/>';
    echo '<input type="submit" name="update_class" value="更新"/>';
    echo '<input type="button" name="button" value="删除" onClick="location.href=\'?del=' . $assoc['id'] . '\'"/>';
}

以上代码应该就能正常打印出结果了,如果还有问题,欢迎追问~

温馨提示:答案为网友推荐,仅供参考