php访问数据数组与foreach

时间:2015-04-12 12:12:13

标签: php wordpress foreach

我有一个db表,它由提交表单填充。

该表由ID,usr_ID,名称等组成。 我正在使用wordpress制作自定义表格列表,而且......我不是最好的foreach。

我将如何进行循环,只显示每个名称和usr_id一次

示例:

row 1:
id = 1, usr_id = 5, name = Alexander
row 2;
id = 2, usr_id = 4, name = james
row 3;
id = 3, usr_id = 5, name = Alexander
row 4
id = 4, usr_id = 4, name = james

我如何制作一份打印出来的foreach声明:

usr_id = 5, name = Alexander
usr_id = 4, name = james

的目的是使每个名称都可以点击,然后只为点击的特定usr_id制作一个foreach语句,以查看每个用户提交的内容

4 个答案:

答案 0 :(得分:2)

  

我如何制作一份打印出来的foreach声明:

您可以将其用于数组输出:

foreach ($query as $v) {
    echo "usr_id = ".$v['usr_id']." , name = ".$v['name'];
}

您也可以为数组输出执行此操作:

foreach ($query as $key => $list){
    echo $list['someindex'];
}

但我不知道你是否想那样......

有关foreach的完整文档,请参阅this ...:)

答案 1 :(得分:0)

假设您$array包含您的数据。如果$array是关联数组:

foreach($array as $a)
{
    echo "usr_id = " . $a['usr_id'] . "- name = ". $a['name'];
}

如果$array是索引数组:

foreach($array as $a)
{
    echo "usr_id = " . $a[1] . "- name = ".$a[2];
}

答案 2 :(得分:0)

$dbhost = 'localhost'; $dbuser = 'DB USER'; $dbpass = 'DB USER PASSWORD'; $dbname = 'DB NAME';  
    $db = new PDO('mysql:host='.$dbhost.'; dbname='.$dbname, $dbuser, $dbpass, array( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION ));

    foreach($db->query('SELECT id, usr_id, name FROM THE-TABLE WHERE id>=1') as $row) {
        $id = $row['id']; 
        $usr_id = $row['usr_id']; 
        $name = $row['name'];

        // DO WHATEVER HERE 

    }

或者你表示该表有很多列...使用外卡

$dbhost = 'localhost'; $dbuser = 'DB USER'; $dbpass = 'DB USER PASSWORD'; $dbname = 'DB NAME';  
        $db = new PDO('mysql:host='.$dbhost.'; dbname='.$dbname, $dbuser, $dbpass, array( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION ));

        foreach($db->query('SELECT * FROM THE-TABLE WHERE id>=1') as $row) {
            $id = $row['id']; 
            $usr_id = $row['usr_id']; 
            $name = $row['name'];

            # the rest of the columns

            // DO WHATEVER HERE 

        }

答案 3 :(得分:0)

只是为了简化使用

$name_arr=array();
foreach ($query as $v) 
{
 if(in_array($v['name'],$name_arr)==false)
   {
    $name_arr[]=$v['name'];
    echo "usr_id = ".$v['usr_id']." , name = ".$v['name'];
   }
}

这样每个名字只有一个