基本上,我尝试创建一个按性别在数据库中输入条目的函数,并将其放入用于显示表的数组中。但是,在下面的代码中的某处,我认为我遇到了一个无限循环 - 当我调用该函数时,页面会加载正确的条目,但会继续加载,滚动条会变得越来越长。我对php / mysql / web开发很新,所以任何帮助都会非常感激!
<?
function getbyGender($g, &$form_data){
$sql = "select * from user_info where gender='".$g."'";
echo $sql;
$query = mysqli_query($this->dblink, $sql) or die (mysql_error());
while($info = mysqli_fetch_array($query, MYSQL_ASSOC))
{
foreach($info as $key=>$value)
{
$form_data[$i][$key] = $value;
}
$i++;
}
} ?>
显示表格的代码(使用适用的API):
//Array to store all column labels to be used
$fields = array(
'uname'=>'Username',
'flname'=>'Full Name',
'bday'=>'Birthday',
'gender'=>'Gender',
'comments'=>'Comments',
'email'=>'Email',
);
$columns4 = $fields;
$t_columns4 = array();
//Format the table
foreach($columns4 as $key=>$value)
{
$t_columns4[$key]['key'] = $value;
$t_columns4[$key]['label'] = $value;
$t_columns4[$key]['sortable'] = "false";
$t_columns4[$key]['className'] = '';
if ($value == 'Comments')
{
$t_columns4[$key]['width'] = '200';
}
else{
$t_columns4[$key]['width'] = '100';
}
}
$form_data = array();
$urls4 = array();
$sort4 = array();
$form_table = new yuitable("formtable");
$form_table->setColumns($t_columns4);
$local_mysql->getByGender('f', $form_data);
答案 0 :(得分:0)
mysqli_fetch_array($query, MYSQL_ASSOC)
应为mysqli_fetch_array($query, MYSQLI_ASSOC)
。这应该是问题的根源。 while循环很好,但你可能不需要一段时间和一个foreach循环。
答案 1 :(得分:0)
我实际上并没有定义$ i = 0.我现在感觉很蠢......感谢Mark Baker指出这一点,以及其他所有人的帮助!