array + mysql (+ inverteren)
xboes - 29/06/2006 15:40
HTML interesse
Hallo,
ik zou graag een array maken waarbij de waarden die hij uitleest uit een database verwijderd worden uit de array.
ik heb volgende code:
<?php
$groep = array(
5 => "senioren",
7 => "supporters",
9 => "bestuur",
14 => "sponsoring",
15 => "jeugdwerking",
16 => "kantine",
17 => "administratie",
24 => "activiteiten",
25 => "sportief beleid",
33 => "financieel",
57 => "webteam",
86 => "jeugd"
);
include("inc/db.inc.php");
$query = "SELECT group_id FROM phpbb_user_group WHERE user_id = 25";
$result = mysql_query($query);
while($row = mysql_fetch_array($result)) {
$groep_id = array($groep[$row['group_id']]);
$download = array_diff($groep, $groep_id);
}
print_r($download);
?>
<?php
5 => "senioren" ,
7 => "supporters" ,
9 => "bestuur" ,
14 => "sponsoring" ,
15 => "jeugdwerking" ,
16 => "kantine" ,
17 => "administratie" ,
24 => "activiteiten" ,
25 => "sportief beleid" ,
33 => "financieel" ,
57 => "webteam" ,
86 => "jeugd"
) ;
include ( "inc/db.inc.php" ) ;
$query = "SELECT group_id FROM phpbb_user_group WHERE user_id = 25" ;
$groep_id = array ( $groep [ $row [ 'group_id' ] ] ) ;
}
?>
maar dit verwijdert enkel de laatst uitgelezen waarde van de database uit de array, terwijl ik alle waarde zou willen verwijderen uit de array die hij uitleest van de database.
Kan er mij iemand helpen?
7 antwoorden
Gesponsorde links
MothZone - 29/06/2006 15:48
PHP ver gevorderde
Je vertrekt op lijn 28 dan ook elke keer van de volledige array $groep, en niet van de al aangepaste array $download.
Thomas - 29/06/2006 15:59
Moderator
Ik kan me niet voorstellen dat de groep_id's van groepen die een gebruiker niet wilt zien opgeslagen worden in phpbb_user_group?
xboes - 29/06/2006 16:02
HTML interesse
maar ik wil dit gebruiken voor een ander script, waarbij ik juist die groepen nodig heb, waar hij geen lid van is (moet geen vragen stellen, is redelijk ingewikkeld... :-) )
maar wat moet ik dan wel gebruiken om de juiste waarden terug te krijgen?
MothZone - 29/06/2006 16:05
PHP ver gevorderde
Probeer dit eens:
<?php
$groep = array(
5 => "senioren",
7 => "supporters",
9 => "bestuur",
14 => "sponsoring",
15 => "jeugdwerking",
16 => "kantine",
17 => "administratie",
24 => "activiteiten",
25 => "sportief beleid",
33 => "financieel",
57 => "webteam",
86 => "jeugd"
);
include("inc/db.inc.php");
$query = "SELECT group_id FROM phpbb_user_group WHERE user_id = 25";
$result = mysql_query($query);
while($row = mysql_fetch_array($result)) {
$groep_id = array($groep[$row['group_id']]);
$groep = array_diff($groep, $groep_id);
}
print_r($groep);
?>
<?php
5 => "senioren" ,
7 => "supporters" ,
9 => "bestuur" ,
14 => "sponsoring" ,
15 => "jeugdwerking" ,
16 => "kantine" ,
17 => "administratie" ,
24 => "activiteiten" ,
25 => "sportief beleid" ,
33 => "financieel" ,
57 => "webteam" ,
86 => "jeugd"
) ;
include ( "inc/db.inc.php" ) ;
$query = "SELECT group_id FROM phpbb_user_group WHERE user_id = 25" ;
$groep_id = array ( $groep [ $row [ 'group_id' ] ] ) ;
}
?>
xboes - 29/06/2006 16:11
HTML interesse
mooi!!!!!
dankuwel!
en kan er mij iemand zeggen hoe ik de bekomen array nu kan omzetten in een lijst van de vorm:
"senioren", "supporters", "jeugdwerking", enz. (dus mét de aanhalingstekens en mét de komma's ertussen...
Simon - 29/06/2006 16:16
PHP expert
met een foreach?
<?php
foreach($groep as $gr) {
$str .= '"'.$gr.'", ';
}
$strlen = str_len($str);
echo substr($str, 0, (strlen-2)); //laatste komma en spatie weg
?>
<?php
foreach ( $groep as $gr ) {
$str .= '"' . $gr . '", ' ;
}
$strlen = str_len( $str ) ;
echo substr ( $str , 0 , ( strlen
- 2 ) ) ; //laatste komma en spatie weg ?>
xboes - 29/06/2006 16:20
HTML interesse
hartelijk dank! alles werkt perfect!
Gesponsorde links
Dit onderwerp is gesloten .