PHP - 在循环中循环,也许?

时间:2010-12-05 00:24:49

标签: php

我目前正在使用foreach循环来显示一些单选按钮

<?php
foreach($roles as $role){
    $output .= '<div class="row">';
    $output .= '    <input name="_'.$role->key.'" type="radio" id="'.$role->key.'" class="radio" />';
    $output .= '    <label for="'.$role->key.'" style="text-transform: lowercase;">'.$role->name.'</label>';
    $output .= '</div>';
}

&GT;

所以那是相当直接的....我接下来需要做的一点是令人困惑......我需要使用$ role-&gt;键并查看它是否与另一个表中的条目匹配,如果是这样,单选按钮上的echo'check =“checked”'。

需要与$ role-&gt;键以及$ userid匹配。

任何帮助都会很棒。

3 个答案:

答案 0 :(得分:2)

基本上你可以用一个布尔返回来编写一个函数来查询表中是否存在$ userid和$ role-&gt;键。如果确实返回true,则返回false。让我们说

函数是checkExist它会是这样的。

    $output .= '    <input name="_'.$role->key.'" type="radio" id="'.$role->key.'" class="radio"';
    if(checkExist($userid, $role->key))
         $output .= ' checked '; 
    $output .= '/>';

function checkExist($userid, $key){
     //do a query to check if userid $key exists in table
     //code will look like this :-
     //$search = mysql_query("SELECT COUNT(*) FROM yourtable WHERE user='$userid' and   key='$key'");
     //$total_records = mysql_num_rows($search);
     //the mysql_num_rows() will return the number of records from the query...

     if(mysql_num_rows() == 0)
         return false;
     else
         return true;
}

答案 1 :(得分:0)

你可以把圈子放在任何你想要的地方,甚至可以放在另一个圈子内。

答案 2 :(得分:0)

检查Exists($ if)你可以写下这样的东西:

function checkExists($id){
    $result = $mysql_query("SELECT ID from tablename WHERE ID=$id");
    return mysql_num_rows($result);
}

顺便说一句。我在这里直接写作,你可能需要调整一些东西