2010-12-05 4 views
0

я в настоящее время с помощью цикла Еогеасп отображать некоторые кнопки радио, как такPHP - Возможно, петля внутри цикла?

<?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>'; 
} 

?>

Так вот довольно прямо вперед .... Бит, что мне нужно делать дальше сбивает с толку .. . Мне нужно взять ключ $ role-> и посмотреть, соответствует ли она записи в другой таблице, если это так, echo 'checked = "отмечен" "на переключателе.

Он должен быть сопоставлен ключом $ role->, а также $ userid.

Любая помощь будет отличной.

ответ

0

Вы можете устанавливать петли везде, где хотите, даже внутри другого.

+0

Когда я вставил цикл внутри того, который уже есть, он выдает результат за раз, в течение которого получается первый цикл. – Chris 2010-12-05 00:29:50

+0

@ Крис: Что ты имеешь в виду? Пожалуйста, покажите нам свой код. – SLaks 2010-12-05 00:30:44

2

В принципе, вы можете написать функцию с логическим возвратом, которая запрашивает, есть ли в таблице ключи $ userid и $ role->. если он вернет true else, верните 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; 
} 
0

для checkExists ($ ID) вы можете написать что-то вроде:

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

КСТАТИ. Я пишу прямо здесь, вам может понадобиться что-то настроить

Смежные вопросы