我有一个为我做MySQL的东西。 我在MySQL表中有1到n行,想要查询特定结果。
要查询表格,我现在可以使用
$db->select('tablename', '*');
$res = $db->Result()
将结果作为关联数组。
现在,如果我想循环,我必须检查是否有一个或多个结果,然后显示一个结果或循环结果。
这会增加我的代码,我想找到一种结合两种结果的方法。
目前,我正在做这样的事情:
if(is_array($res[0]){
//we have more than one result
foreach($res as $something)
{
//do stuff here
}
}
else
{
//do the same stuff as above here but now with other variables since $something is only filled in the foreach loop
}
现在如上所述,我很乐意将这两者结合起来,只有一段代码来显示结果(或者进一步使用它们)
答案 0 :(得分:1)
将输入数据结构更改为循环所需的格式,然后在循环中迭代它:
if(!is_array($res[0]){
$res[0] = [$res[0]];
}
foreach($res as $something)
{
//do stuff here
}
答案 1 :(得分:0)
我建议您切换到一些广泛开发的类,如PDO(http://php.net/manual/en/book.pdo.php),或者只是在Result
方法中添加一个检查,如果没有结果,则返回一个空数组
function Result() {
// stuff to fetch and fill $arr;
return (is_array($arr[0])) $arr : array();
}