Resultaten scheiden met komma, behalve laatste resultaat.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Kevin Stoove

Kevin Stoove

14/12/2009 10:16:00
Quote Anchor link
Goedendag mensen van het goede leven,

Ik heb hard gezocht op zowel PhpHulp als onze vriend google, echter kan ik de oplossing niet vinden. Ik heb uberhaupt nog nooit resultaten gescheiden met komma's dus dit is compleet nieuw voor me.

Ik zal even een voorbeeld schetsen van wat ik wil.

Ik heb 2 tabellen.

boeken
- titel
- info

genres
- id
- genre

koppel
- boeken_id
- genres_id

De tabel boeken is gevuld met met uiteraard verschillende boekentitels en wat informatie. De tabel genres is gevuld met waardes als avontuur, misdaad, mystery, etcetera...

Nu krijgt elk boek dus een genre mee. Sommige één genre, anderen meerdere.

Nu wil ik dus de genres selecteren en weergeven op deze manier:

Genres: Misdaad, Romantiek, Science-Fiction.

(let op, aan het einde moet een punt komen, en geen komma!)

Hoe krijg ik dat eigenlijk voor elkaar?

Ik zat eerst te denken alle genres eruit te halen en dan een komma erachter plaatsen en weergeven. Echter krijg ik dan op het einde ook een komma en dat wil ik niet. Wie kan me de oplossing vertellen?
 
PHP hulp

PHP hulp

25/11/2024 06:59:14
 
TJVB tvb

TJVB tvb

14/12/2009 10:39:00
Quote Anchor link
Je kunt met implode werken. Dus een lijst van genres erin stoppen met een , als scheidingsteken instellen. En aan het einde kun je dan gewoon de . plaatsen.
 
SilverWolf NL

SilverWolf NL

14/12/2009 10:39:00
Quote Anchor link
Dit zou moeten werken:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?PHP
$str
="Generes: "; //Waarde waarmee je begint
while($res = mysql_fetch_assoc($sql)){
  $str.=$res['genres'].", "; //Nieuwe genre er achter aan plakken
}
$str=substr($str,0,-2)."."; //Laatste komma eraf halen en punt er achter plakken.

echo $str;
?>


Edit:
Implode kan ook...
Gewijzigd op 01/01/1970 01:00:00 door SilverWolf NL
 
Andreas Warnaar

Andreas Warnaar

14/12/2009 10:51:00
Quote Anchor link
Je kunt ook de genres in je Query bij elkaar brengen met de MySql functie GROUP_CONCAT
http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat

Dan krijg je iets van :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
SELECT GROUP_CONCAT(genres.genre) as genres, boeken.title FROM boeken,genres,koppel
WHERE boeken.id = koppel.boeken_id
AND koppel.genre_id = genres.id


Misschien heb je er iets aan.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.