problemen met logic operators
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?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';
} ?>
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 ?
Gewijzigd op 01/01/1970 01:00:00 door Clown
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.
Gewijzigd op 01/01/1970 01:00:00 door Martijn B
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
Je hebt nu zo iets:
Code (php)
Als $getal nu 1 is dat zal PHP nooit in de 2e if gaan.
edit:
Maar wat jij moet hebben is:
Code (php)
Gewijzigd op 01/01/1970 01:00:00 door Martijn B
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?
Gewijzigd op 01/01/1970 01:00:00 door clown
Wat je dan krijgt is:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?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;
}
?>
$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.
Gewijzigd op 01/01/1970 01:00:00 door Martijn B
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?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)) {
....
} ?>
while($groepenrow = mysql_fetch_assoc($groepen)) {
....
} ?>
dat is mn query =P dus dan:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?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 ;
} ?>
while(list($groepenrow) = mysql_fetch_assoc($groepen)) {
echo $groepenrow ;
} ?>
Gewijzigd op 01/01/1970 01:00:00 door clown
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:
edit2:
Welke phpbb hebt je versie 3?
Gewijzigd op 01/01/1970 01:00:00 door Martijn B
wlke users in welke groepen staat in phpbb_user_group
edit:
versie 2.0.1. nog wat gezeik =P
Gewijzigd op 01/01/1970 01:00:00 door clown
Dat word het:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?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;
}
?>
$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:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 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`;
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`;
Gewijzigd op 01/01/1970 01:00:00 door Martijn B