Beginletters opvragen.

Status
Niet open voor verdere reacties.

XenomX

Gebruiker
Lid geworden
27 apr 2002
Berichten
822
A B C D E F G H etc.

Hoe kan ik het zo maken dat wanneer er op de A of de B word geklikt alle 'namen' die met een A beginnen te voorschijn komen?

:thumb:
 
Lekker compleet..

Uit database ?
Bestanden ?

En met wat ..
 
Uit een mysql database.

Ik heb namen van personen erin staan en onderaan de pagina de letter a t/m. z wanneer er nu op A geklikt word wil ik graag dat alle personen waarvan de naam met een A begint getoont worden.
 
Code:
[...] WHERE kolom LIKE 'A%'
Ik weet niet zeker of dit hoofdlettergevoelig is...
 
En nu pakt ie dus ook Patat? Tenminste ik heb Like ook gebruikt bij de zoekfunctie en dan zoekt hij het hele woord, alleen de beginletter moet bekeken worden.
 
Oei ik zie het denk ik al, de % erachter, ipv, voor en achter.


:thumb:
 
Kan dit ook met een $_GET waarde? Ben nu wat aan het spelen, maar krijg het niet voorelkaar:confused:

Wat kan hier fout aanzijn?
PHP:
$letter = $_GET['letter'];
function selecteer(){
$select = "SELECT naam,id FROM gebruikers WHERE naam LIKE '$letter'";

En dan geef ik die letter mee als bv:
http://www.eisdatop.com/test.php?letter=G%
 
Zet es onder function selecteer(){ (ranzig btw) de volgende code:
PHP:
global $letter;

Oh, en misschien es error_reporting(E_ALL); bovenin je script dumpen ?
 
Gebruik binnenin die selecteer() functie gewoon $_GET['letter'] ipv $letter, voor $_GET hoef je geen global toe te passen + je bespaart geheugenruimte doordat $letter niets anders is dan $_GET['letter'].
 
Ik had het global ook al niet gebruikt omdat ie het zonder ook al deed :)
 
Wat bedoel je ?

Zoals de code gegeven is, moet je global gebruiken wil je $letter in de functie kunnen gebruiken.
 
PHP:
$letter = $_GET['letter'];
function selecteer(){
$select = "SELECT naam,id FROM gebruikers WHERE naam LIKE '$letter'";

Ik zou ook niet weten waar dit voor nodig zou moeten zijn, de code staat in dezelfde pagina, het is dus geen apart bestand, dus global is niet nodig.
 
Ik snap het ook niet nee waarom die global wordt gebruikt? maar wat ik wel weet is dat het zonder niet werkt, bij mij dan.

je bespaart geheugenruimte doordat $letter niets anders is dan $_GET['letter'].
Hoeveel kb's scheelt dit?:p

Maar je hoeft dan geen global te gebruiken? vreemd:confused:
 
Geplaatst door XenomX
Ik zou ook niet weten waar dit voor nodig zou moeten zijn, de code staat in dezelfde pagina [...]
Lees eens meer over functies en variabelgebruik. Variabelen van buitenaf zijn niet bruikbaar in een functie, tenzij je global gebruikt. De uitzonderingen op deze regel zijn de superglobals ($_GET, $_POST, $SERVER), die, als je je server brak hebt geconfigureerd en register_globals op 'On' hebt staan, direct aanroepbaar zijn met de indexnaam.
$_GET['bla'] kun je dan meteen schrijven als $bla. Let er wel op dat die best ranzig is.
Geplaatst door eisdatop
Hoeveel kb's scheelt dit?:p
Laat ik het zo stellen: als iemand op één plek $letter = $_GET['letter'] gebruikt, dan is het 99% zeker dat die stijl vaker wordt gebruikt. Wanneer je serverload hoog ligt, en je doet dit meerdere keren, dat kun je dit zeker als een punt beschouwen waarop je performance omhoog kan krikken.
 
Laatst bewerkt:
Geplaatst door JPeetje
.Laat ik het zo stellen: als iemand op één plek $letter = $_GET['letter'] gebruikt, dan is het 99% zeker dat die stijl vaker wordt gebruikt. Wanneer je serverload hoog ligt, en je doet dit meerdere keren, dat kun je dit zeker als een punt beschouwen waarop je performance omhoog kan krikken.

dat heb ik dus alleen hierbij, anders gebruik ik wel altijd gewoon $_GET['letter'] in de functie selecteer(), maar omdat je zit met die % achter een letter was ik een beetje aan het proberen;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan