Fondamentalement, j'essaye de faire une fonction pour prendre des entrées dans une base de données par genre, et le mettre dans un tableau qui est utilisé pour afficher une table. Cependant, quelque part dans le code ci-dessous, je pense que je cours dans une boucle infinie - quand j'appelle la fonction, la page charge les bonnes entrées, mais continue à charger, et la barre de défilement s'allonge de plus en plus. Je suis très nouveau dans le développement PHP/mysql/web en général, donc toute aide serait très appréciée!Requête boucle infinie - sql dans php
<?
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++;
}
} ?>
code
qui affiche la table (en utilisant l'API yuitable):
//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);
Alors, où définissez-vous '$ i'? –
vous ne imprimez pas dans votre fonction, de sorte que cette méthode ne provoque pas directement la longue barre de défilement. vous devriez nous donner le code dans lequel vous imprimez le tableau – chresse
Ceci n'imprime rien, donc si vous avez une boucle infinie, la barre de défilement ne sera pas plus longue. S'il y a un problème, c'est ailleurs. – andrewsi