重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
完整的代码如下:
成都创新互联总部坐落于成都市区,致力网站建设服务有网站建设、成都网站制作、网络营销策划、网页设计、网站维护、公众号搭建、微信小程序定制开发、软件开发等为企业提供一整套的信息化建设解决方案。创造真正意义上的网站建设,为互联网品牌在互动行销领域创造价值而不懈努力!
$con = mysql_connect('localhost(服务器地址)', '数据库用户名', '数据库密码');
//数据库连接。
if (!$con)
{
die('Could not connect: ' . mysql_error());
}//连接失败输出错误
mysql_select_db('数据库名', $con);
$sql = "select Name from 表名;";
$result = mysql_query($sql,$con);
while($row= mysql_fetch_array($result)){
echo $row['Name'];
}
你的指的是无限级吧,A是B和C的父级,B是D,E,F的父级,C是G和H的父级,D又是I,J,K的父级。一般都是采用递归算法。
/**
* 无限级的遍历
* @param [array] $data 所有数据
* @param integer $parent parent为0时,是最祖先级
* @param integer $level 记录几级
* @return [array] 已经遍历好的数组
*/
public function category($data,$parent=0,$level=0){
$array = [];
foreach ($data as $key = $value) {
if($value['parent'] == $parent){
$value['level'] = $level;
$array[] = $value;
$this-category($data,$value['id'],$level+1);
}
}
return $array;
}
这当然是不行的了,上面的告诉你的也是错误的,因为原因在于你循环的时候进行了数据库的查询,所以每次都是新的数据,指针当然要从第一条开始了。
所以不是你的循环的错误,而是你数据库查询代码位置的错误
要这样写
$num=mysql_query("select
*
from
china_city
where
parentid=0");
$n=
mysql_num_rows
($num);
for($i=1;$i=$n;$i++){
${"row".$i}=mysql_fetch_array($num);
echo
$i."
".${"row".$i}['city']."
";
}
一般都是用foreach或while写的
foreach(mysql_fetch_array($num)
as
$key=$value){}
while($row
=mysql_fetch_array($num)){}