Tjena!
Jag har gjort ett mailformulär, där mottagare hämtas från en databas (ett phpBB forum).
Nu hämtar jag även rankning för dessa användare och en viss grupp.
Jag ska samla alla mottagare i en selectlista och dela upp efter rankningen.
Såhär har jag gjort:
<select name="usrRecipient">
<option value="foo">Välj mottagare</option>
<?php
$sql = "SELECT t1.group_id, t1.user_id AS group_user, t2.user_id AS user_user_id, t2.username, t2.user_email, t2.user_rank FROM phpbb_user_group t1 INNER JOIN phpbb_users t2 WHERE t1.user_id = t2.user_id AND t1.group_id = 4 ORDER BY t2.user_rank ASC";
$exec_query = mysql_query($sql) or die("Mysql_Fel:<br />" . mysql_error());
while($result = mysql_fetch_array($exec_query)){
if(is_numeric($result['user_rank']) && $result['user_rank'] != 0){
$sql1 = mysql_query("SELECT rank_title FROM phpbb_ranks WHERE rank_id = " . $result['user_rank']) or die(mysql_error());
while($res1 = mysql_fetch_array($sql1)){
print("<optgroup label=\"" . $res1['rank_title'] . "\"></optgroup>\n");
}
}
print("<option value=\"". $result['user_email'] . "\">" . $result['username'] . "</option>\n");
}
?>
</select>
Problemet är att alla optgroup skrivs ut fel. Just nu ser det ut såhär:
<optgroup label="Grupp 1"></optgroup>
<option value="1">Mottagare 1</option>
Som jag förstått det nu (enligt validatorn för 4.01), måste det se ut såhär:
<optgroup label="Grupp 1">
<option value="1">Mottagare 1</option>
</optgroup>
Så, till min fråga.
Hur ska jag göra om i koden ovan för att få "rätt" resultat.
Det är med nöd och näppe jag fått ihop ovanstående, då jag inte är någon hejjare på PHP.
Tack på förhand!