2010-12-05 7 views
0

J'utilise actuellement une boucle foreach pour afficher des boutons radio comme siPHP - Looping dans une boucle, peut-être?

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

?>

donc ce assez simple en avant .... Le bit que je dois faire ensuite est source de confusion .. J'ai besoin de prendre la clé $ role-> et voir si elle correspond à une entrée dans une autre table, si c'est le cas, echo 'checked = "checked"' sur le bouton radio.

Il devra être associé à la clé $ role-> et au $ userid.

Toute aide serait géniale.

Répondre

0

Vous pouvez placer des boucles où vous le souhaitez, même à l'intérieur d'un autre.

+0

Lorsque je place la boucle à l'intérieur de celle que j'ai déjà, elle renvoie le résultat du nombre de fois où la première boucle est créée. – Chris

+0

@Chris: Que voulez-vous dire? S'il vous plaît nous montrer votre code. – SLaks

+0

est le $ userid dans une table MySQL? ou un autre tableau php? – kjy112

2

Fondamentalement, vous pouvez écrire une fonction avec un retour booléen qui interroge pour voir si la clé $ userid et $ role-> existe dans la table. si cela renvoie vrai sinon retourner faux. Disons le

la fonction est checkExist il irait quelque chose comme ça.

$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

Merci ... Est-il possible de me donner un exemple du code checkExist()? ... Im genre de nouveau à faire des choses dans les fonctions – Chris

+0

vérifier la réponse à la question. – kjy112

+0

Merci .... Je vais vérifier. – Chris

0

pour checkExists ($ id) vous pouvez écrire quelque chose comme:

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

btw. J'écris directement ici, vous devrez peut-être régler quelque chose