ik heb een stukje code

<?php
elseif (
$groepenrow['group_id'] == "5" AND
$groepenrow['group_id'] != "269" AND
$groepenrow['group_id'] != "327" AND
$groepenrow['group_id'] != "270") {
echo 'alleen 5';
}
elseif (
$groepenrow['group_id'] == "5" AND
$groepenrow['group_id'] != "269" AND
$groepenrow['group_id'] != "327" AND
$groepenrow['group_id'] == "270") {
echo '5 en 270';
}
else {
echo 'allees';
} ?>

het staat ervoor dat als je een bepaalde group-IDen wel hebt en bepaalde group-IDen niet hebt, dat hij een stukje tekst toont,,

zelf heb ik group ID 5 en 270,, maar als ik deze code gebruik, geeft hij alleen de code weer van dat ik alleen ID 5 heb, terwijl ik ze zowiezo 5 en 270 bezit.

ik hoop dat ik duidelijk genoeg ben =P

moet ik misschien wat anders gebruiken dan AND ?
Dus bij jou kan 1 gebruiker bij meerdere groepen horen?

Dus moet je in jou situatie ook meer dan 1 variabele hebben waar die groep id in staat. PHP zal dus meer dan 1 keer door deze code moeten om al jou groep id's te kunnen weergeven.
jep een gebruiker kan bij meerdere groepen horen,

ik heb gedaan dat als hij bv wel in 5 en 270 zit en niet in 269 en 327 dat hij dan 5 en 270 moet weergeven, maar dan geeft hij alleen 5 weer =S

terwijl ik toch echt heb getypt

WEL in 5 EN
NIET in 269 EN
NIET in 327 EN
WEL in 270

maar toch kijkt hij alleen maar naar de eerste ofzo =S
Dat komt door die else if.

Je hebt nu zo iets:

<?php
$getal = 1;

if( $getal == 1 )
{
echo '1e if';
}
elseif( $getal == 1 && $getal != 2 )
{
echo '2e if';
}
?>

Als $getal nu 1 is dat zal PHP nooit in de 2e if gaan.

edit:

Maar wat jij moet hebben is:

<?php
$aGroupID = array(5,270);

echo 'Je groep ids zijn: ';

foreach( $aGroupID as $v )
{
echo $v;
}

?>
ahaa ,, dus mijn code kijkt alleen maar naar het eerste getal? wat moet ik dan gebruiken ipv else if?

oh je heb et aangepast =P okee ik ga et proberen =)
maar werkt dat ook zo als je group id's worde opgehalad uit een mysql database?
Dat is nu juist de bedoeling, denk ik :D

Wat je dan krijgt is:

<?php
$rQuery = mysql_query('SELECT group_id FROM user_to_groups WHERE user_id = 1');

if( $rQuery === false )
{
die('OoOo, query fout!');
}

echo 'Je groep ids zijn: ';

while( list($iGroupID) = mysql_fetch_row($rQuery) )
{
echo $iGroupID;
}
?>

edit:

Ik neem aan dat je een koppel tabel hebt met minimaal 2 kolommen user_id en group_id.
<?php $groepen = mysql_query("SELECT group_id FROM phpbb_user_group WHERE user_id = " . $userdata['user_id']) or die (mysql_error());
while($groepenrow = mysql_fetch_assoc($groepen)) {


....


} ?>

dat is mn query =P dus dan:

<?php $groepen = mysql_query("SELECT group_id FROM phpbb_user_group WHERE user_id = " . $userdata['user_id']) or die (mysql_error());
while(list($groepenrow) = mysql_fetch_assoc($groepen)) {


echo $groepenrow ;


} ?>
Maar phpbb_user_group is geen koppel tabel, volgens mij.

Ik dacht dat phpbb ook ergens een koppeltabel heeft voor gebruikers en groepen, zoek die eens op. Want die heb je nodig in je query.

edit:

Staan die gebruikers groepen niet in $userdata?

doe eens, ergens:
<?php
print_r($userdata);
?>

edit2:

Welke phpbb hebt je versie 3?
nope want dat wordt alleemaal opgehalad uit phpbb_users daar staat niet bij welke users in welke groepen zitten

wlke users in welke groepen staat in phpbb_user_group


edit:
versie 2.0.1. nog wat gezeik =P
Je hebt gelijk.

Dat word het:
<?php
$rQuery = mysql_query('SELECT group_id FROM phpbb_user_group WHERE user_id = ' . $userdata['user_id']) or die (mysql_error());

while( list($iGroupID) = mysql_fetch_row($groepen) )
{
echo $iGroupID;
}
?>

edit:

Zo ziet de tabel er uit in PhpBB3:
# Table: 'phpbb_user_group'
CREATE TABLE phpbb_user_group (
	group_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
	user_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
	group_leader tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
	user_pending tinyint(1) UNSIGNED DEFAULT '1' NOT NULL,
	KEY group_id (group_id),
	KEY user_id (user_id),
	KEY group_leader (group_leader)
) CHARACTER SET `utf8` COLLATE `utf8_bin`;

Reageren