Users toevoegen met Select Form
<SELECT NAME="user">
Code (php)
1
2
3
4
5
2
3
4
5
<?php $query = "SELECT * FROM users";
$result = mysql_query($query, $db) or die ("FOUT: " .mysql_error());
while (list($id, $username) =
mysql_fetch_row($result)){ echo("<OPTION>".$username."</OPTION>");
} ?>
$result = mysql_query($query, $db) or die ("FOUT: " .mysql_error());
while (list($id, $username) =
mysql_fetch_row($result)){ echo("<OPTION>".$username."</OPTION>");
} ?>
</SELECT>
Nu wil ik hem laten checken of de user al in deze groep zit en hem dan dus niet meer weergeven, hoe doe ik dit?
De complete userlijst van users die al in de groep zitten kun je oproepen met:
Code (php)
1
2
3
4
2
3
4
<?php $query = "SELECT * FROM group";
$result = mysql_query($query, $db) or die ("FOUT: " .mysql_error());
while (list($id, $party, $user, $function) =
mysql_fetch_row($result)){ echo("".$user.", "); } ?>
$result = mysql_query($query, $db) or die ("FOUT: " .mysql_error());
while (list($id, $party, $user, $function) =
mysql_fetch_row($result)){ echo("".$user.", "); } ?>
ik begrijp dat je een tabel users hebt en een tabel group. Je vraag is dus eigenlijk: ik wil in mijn selectbox alle users laten zien die nog niet in de group zitten?
Ik neem aan dat je daarvoor eerst een array moet mkaen met alle users die er al in zitten, maar ik heb hier nog nooit mee gewerkt en weet zo niet hoe dat moet....
Interessant probleem. Ik zit te denken of het met een query kan, of dat je tussenstappen moet doen. Moment.
Hoe zien je MySQL tabellen er uit?
SELECT users.username FROM users, categories WHERE COUNT(users.username = categories.username) < 1
Okee, dit was een hele wilde gok.
-id
-username
-function
Tabel group
-id
-group
-user
-function
De dubbele function komt doordat een user voor de totale site een user kan zijn, maar voor die groep een admin...
@ Jelmer: volgens mij mag je aan COUNT alleen een veldnaam meegeven, en geen conditie zoals bij WHERE
$query = "SELECT * FROM group WHERE group = '".$_POST["group"]."'";
$result = mysql_query($query, $db) or die ("FOUT: " .mysql_error());
$userarray = mysql_fetch_array($result);
En dan in de select aangeven:
if(!in_array($username,$userarray)){echo("<OPTION>".$username."</OPTION>"); }
Maar ik weet niet of ik dit zo goed doe en of dit kan, hebben jullie daar ideeen over?
Gewijzigd op 11/12/2005 22:45:00 door Sander Spijk
Nee, zo zal het niet werken. mysql_fetch_array geeft wel een array terug, maar die bevat dan alle waardes van 1 record.
note1: Ok, had eerst ff moeten refreshen, sorry....
Hoe bouw je dan een array op?
Gewijzigd op 11/12/2005 22:49:00 door Sander Spijk
while($user = mysql_fetch_assoc($result))
{
$userarray[] = $user['username'];
}
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?
$query = "SELECT * FROM group WHERE group = '".$_POST["group"]."'";
$result = mysql_query($query, $db) or die ("FOUT: " .mysql_error());
while ($obj = mysql_fetch_object ($result)) {
$userarray[] = $obj->veldnaam;
}
?>
$query = "SELECT * FROM group WHERE group = '".$_POST["group"]."'";
$result = mysql_query($query, $db) or die ("FOUT: " .mysql_error());
while ($obj = mysql_fetch_object ($result)) {
$userarray[] = $obj->veldnaam;
}
?>
en dan voor veldnaam de goeie invullen
Gewelidg....
Jan bedankt... Je bent een held