Probleem met query en output hiervan
Rubrieken
r_id primary key
name varchar(255)
Users
u_id primary key
etc
Users_Rubrieken
id PK
r_id id uit rubrieken
u_id id uit users
Nu wil ik bijv. rubriek met id 1 (r_id =1) editen en users laten zien die lid zijn van die groep.
Dit lukt.
maar ik wil dus een Select veld hebben met multiple selection mogelijkheden en daarin alle users weergeven met de huidige leden reeds geselecteerd.
Ik krijg op een of andere manier die query maar niet voor elkaar..
Ik heb nu de volgende code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<form name="delete_or_add" method="POST">
<table width="500" border="0" cellspacing="0" cellpadding="0" class="border">
<tr>
<td colspan="3" class="menukop"> Bewerk de rubrieken</td>
</tr>
<tr>
<td colspan="3"> </td>
</tr>
<tr>
<td width="2"> </td>
<td width="150">Naam</td>
<td><input name="name" size="50" value="
<?
$id = $_GET['id'];
$SQL = "SELECT * FROM users_rubrieken LEFT JOIN rubrieken ON users_rubrieken.r_id = rubrieken.r_id LEFT JOIN users ON users.u_id=users_rubrieken.u_id WHERE rubrieken.r_id=".$id."";
$query = mysql_query($SQL) or die(mysql_error());
while($data =mysql_fetch_object($query)) {
$rubriekname = $data->name;
$rubriekuser = $data->u_id;
$rubriekvoornaam = $data->voornaam;
$rubriekachternaam = $data->achternaam;
echo $rubriekname;
?>
">
</td>
</tr>
<td> </td>
<td valign="top">Leden</td>
<td>
<select name="users" size="5" multiple="multiple">
<?
$userSQL = "Select * from users order by achternaam asc";
$userquery = mysql_query($userSQL) or die("user<br>".mysql_error());
while($usr = mysql_fetch_object($userquery)) {
$achternaam = $usr->achternaam;
$voornaam = $usr->voornaam;
$userid = $usr->u_id;
if($userid==$rubriekuser) {
echo"<option value=\"$usr->u_id\" selected=\"selected\">".$rubriekachternaam.", ".$rubriekvoornaam."</option>\n";
}
else {
echo"<option value=\"$usr->u_id\">".$achternaam.", ".$voornaam."</option>\n";
}
} //einde user loop
}
?>
</select>
<table width="500" border="0" cellspacing="0" cellpadding="0" class="border">
<tr>
<td colspan="3" class="menukop"> Bewerk de rubrieken</td>
</tr>
<tr>
<td colspan="3"> </td>
</tr>
<tr>
<td width="2"> </td>
<td width="150">Naam</td>
<td><input name="name" size="50" value="
<?
$id = $_GET['id'];
$SQL = "SELECT * FROM users_rubrieken LEFT JOIN rubrieken ON users_rubrieken.r_id = rubrieken.r_id LEFT JOIN users ON users.u_id=users_rubrieken.u_id WHERE rubrieken.r_id=".$id."";
$query = mysql_query($SQL) or die(mysql_error());
while($data =mysql_fetch_object($query)) {
$rubriekname = $data->name;
$rubriekuser = $data->u_id;
$rubriekvoornaam = $data->voornaam;
$rubriekachternaam = $data->achternaam;
echo $rubriekname;
?>
">
</td>
</tr>
<td> </td>
<td valign="top">Leden</td>
<td>
<select name="users" size="5" multiple="multiple">
<?
$userSQL = "Select * from users order by achternaam asc";
$userquery = mysql_query($userSQL) or die("user<br>".mysql_error());
while($usr = mysql_fetch_object($userquery)) {
$achternaam = $usr->achternaam;
$voornaam = $usr->voornaam;
$userid = $usr->u_id;
if($userid==$rubriekuser) {
echo"<option value=\"$usr->u_id\" selected=\"selected\">".$rubriekachternaam.", ".$rubriekvoornaam."</option>\n";
}
else {
echo"<option value=\"$usr->u_id\">".$achternaam.", ".$voornaam."</option>\n";
}
} //einde user loop
}
?>
</select>
maar deze geeft de volgende output:
http://www.roroo.nl/images/error.jpg
In principe klopt dit ook aangezien de $SQL query 2 resultaten geeft en binnen die loop dus 2x het select veld maakt..
ik wil dit dus niet :)
Maar ik kom er maar niet uit.
Kan iemand mij helpen?
Er zijn nog geen reacties op dit bericht.