使用php函数列出项目

时间:2011-08-18 23:16:09

标签: php mysql

我想通过一个功能来做到这一点。我希望数据库中找到的每个项目都作为列表回显

例如。物品1
    ITEM2
    项目3
    ITEM4

我知道我错过了一些东西,但这令我感到困惑。现在我只看到一个列表,然后 刷新另一项显示替换另一项。请帮助和谢谢

function get_list() {
 $id = mysql_real_escape_string(@$_GET['id']); 
$get_list = array();
$bar = mysql_query(" SELECT  bar.* FROM bar WHERE bar.b_id = '$id' ORDER BY rand()");
 while($kpl = mysql_fetch_assoc($bar)){
 $get_list[] = array( 'videoid' => $kpl['videoid'],
                'name' => $kpl['name'],
                'description' => $kpl['description'],
                'type' => $kpl['type'],
                'bev' => $kpl['bev'],           
);
}
foreach ($get_list as $get_list);
return $get_list;
}
?>
<?php
$gkp_list = gkp_list();
foreach ($gkp_list as $gkp_list);
if (empty($gkp_list)){ echo 'no video'; }
else { 
echo '<p>$gkp_list['name']. '<br/></p>';}
?>

1 个答案:

答案 0 :(得分:2)

那里有一些主要的语法问题。

function get_list() {
    $id = mysql_real_escape_string(@$_GET['id']); 
    $get_list = array();
    $bar = mysql_query(" SELECT  bar.* FROM bar WHERE bar.b_id = '$id' ORDER BY rand()");
    while($kpl = mysql_fetch_assoc($bar)){
        $get_list[] = $kpl;         
    }
    return $get_list;
}

$gkp_list = get_list();
if (empty($gkp_list)) {
    echo 'no video';
} else {
    foreach ($gkp_list as $gkp_item) {
        echo '<p>' . $gkp_item['name']. '<br/></p>';
    }
}
?>
  1. foreach的目的是循环数组并对每个值执行某些操作。如果您正在使用整个数组(在这种情况下,返回它),请不要使用foreach
  2. Foreach最后没有分号,它通常有一个开口大括号({)。
  3. 您不需要手动复制while循环中的所有数组索引,因为所有索引都是相同的。
  4. 输出的string格式错误,您必须小心。使用语法高亮编辑器。
  5. foreach中的两个变量名称必须不同。一个引用数组,一个引用该键的值。