webForumDet fria alternativet

Skriv ut selectlista

1 svar · 374 visningar · startad av MickeA.com

MickeA.comMedlem sedan feb. 20034 441 inlägg
#1

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!

PeddaMedlem sedan juni 20006 032 inlägg
#2
<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'] . "\">\n");
            }
        }
        print("<option value=\"". $result['user_email'] . "\">" . $result['username'] . "</option>\n");
    }
    ?>
    </optgroup>
    </select>
126 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)