Zoekfunctie voor 'overige'

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Roberto Beer

Roberto Beer

07/01/2008 15:54:00
Quote Anchor link
Hallo mensen,

Sorry voor deze onduidelijke topictitel.

Ik ben een webwinkel aan het maken. Deze winkel verkoopt 2ehandsboeken.
Ik heb een alfabetische balk gemaakt van 'Alle', A t/m Z, en 'overige'.

Als je bijvoorbeeld de letter 'K' klikt, laat de website alle titels zien die beginnen met een K, mbv de query "WHERE titel LIKE '$beginletter%'", jullie allen hopelijk wel bekend.

Dit werkt heel goed, al zeg ik het zelf, maar toch ontbreekt er iets aan. Boeken die niet met een letter beginnen, maar met een cijfer of een leesteken kunnen op deze manier niet worden gezocht, omdat ik niet weet hoe ik die query dan zou moeten formulieren.

Titels als "101 nachten", " 't zwarte schaap " of allerhande titels die met een leesteken of cijfer beginnen wil ik graag onder één noemer hebben, een knop die voor de A of achter de Z komt te staan. (alfabetisch schijnt het achter de Z moeten staan).

Kan iemand mij hierbij helpen? Het zou echt te gek zijn.


Groeten,

Robbert
 
PHP hulp

PHP hulp

24/11/2024 07:24:37
 
Joren de Wit

Joren de Wit

07/01/2008 15:59:00
Quote Anchor link
Overige is dus alle titels die niet met een letter beginnen. Zou zoiets werken?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
SELECT titel
FROM tabel
WHERE titel NOT REGEXP '^[a-z]'
 
Roberto Beer

Roberto Beer

07/01/2008 16:31:00
Quote Anchor link
Nou, dat lijkt perfect te werken :)!

Hartstikke bedankt!
 
Roberto Beer

Roberto Beer

07/01/2008 16:35:00
Quote Anchor link
Zou je deze query ook op kunnen splitsen?

Eentje die zoekt naar titels die met een leesteken beginnen, en een die zoekt naar titels die beginnen met een cijfer?

Moet ik dan misschien iets doen als...

NOT REGEXP '^[a-z][0-9]' voor boeken die beginnen met een leesteken (en niet anders dan dat)?

Hoe doe ik dan boeken die met een cijfer beginnen?
 
Joren de Wit

Joren de Wit

07/01/2008 16:41:00
Quote Anchor link
De tegenhanger van NOT REGEXP is gewoon REGEXP. Dus daarmee kun je controleren of een titel met een cijfer begint:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
SELECT titel
FROM tabel
WHERE titel REGEXP '^[0-9]'


En voor een leesteken zou ik deze pakken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
SELECT titel
FROM tabel
WHERE titel NOT REGEXP '^[a-z0-9]'
 
Roberto Beer

Roberto Beer

07/01/2008 16:51:00
Quote Anchor link
Hartstikke bedankt.

't Is een taaltje op zich die Reg Expressions ;)
 
Joren de Wit

Joren de Wit

07/01/2008 16:53:00
Quote Anchor link
Zeker. Mocht je er meer over willen lezen, kijk dan eens naar deze tutorial:

http://phphulp.nl/php/tutorials/4/520/
 



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.