Hallo,

Ik heb in mijn database een tabel met users staan. Deze klopt helemaal.

Nu wil ik in mijn staff.php pagina het volgende:

Als een gebruiker, genaamd Aart op de Staff pagina komt, moet hij te zien krijgen wie zijn moderator is.

Ventheman | Letters ABC

Dus zou Aart moeten zien: Ventheman is jou moderator.

Ik heb dit al:
<?php

require "include/instelling.php";

dbconn();

$rest = substr ("abcdefghijklmnopqrstuvwxyz", 0, 1);    // geeft "a"
$rest = substr ("bcdefghijklmnopqrstuvwxyz", 0, 1);    // geeft "b"
$rest = substr ("cdefghijklmnopqrstuvwxyz", 0, 1);    // geeft "c"
$rest = substr ("defghijklmnopqrstuvwxyz", 0, 1);    // geeft "d"
$rest = substr ("efghijklmnopqrstuvwxyz", 0, 1);    // geeft "e"
$rest = substr ("fghijklmnopqrstuvwxyz", 0, 1);    // geeft "f"
$rest = substr ("ghijklmnopqrstuvwxyz", 0, 1);    // geeft "g"
$rest = substr ("hijklmnopqrstuvwxyz", 0, 1);    // geeft "h"
$rest = substr ("ijklmnopqrstuvwxyz", 0, 1);    // geeft "i"
$rest = substr ("jklmnopqrstuvwxyz", 0, 1);    // geeft "j"
$rest = substr ("klmnopqrstuvwxyz", 0, 1);    // geeft "k"
$rest = substr ("lmnopqrstuvwxyz", 0, 1);    // geeft "l"
$rest = substr ("mnopqrstuvwxyz", 0, 1);    // geeft "m"
$rest = substr ("nopqrstuvwxyz", 0, 1);    // geeft "n"
$rest = substr ("opqrstuvwxyz", 0, 1);    // geeft "o"
$rest = substr ("pqrstuvwxyz", 0, 1);    // geeft "p"
$rest = substr ("qrstuvwxyz", 0, 1);    // geeft "q"
$rest = substr ("rstuvwxyz", 0, 1);    // geeft "r"
$rest = substr ("stuvwxyz", 0, 1);    // geeft "s"
$rest = substr ("tuvwxyz", 0, 1);    // geeft "t"
$rest = substr ("uvwxyz", 0, 1);    // geeft "u"
$rest = substr ("vwxyz", 0, 1);    // geeft "v"
$rest = substr ("wxyz", 0, 1);    // geeft "w"
$rest = substr ("xyz", 0, 1);    // geeft "x"
$rest = substr ("yz", 0, 1);    // geeft "y"
$rest = substr ("z", 0, 1);    // geeft "z"

$rest = substr ("0123456789", 0, 1);    // geeft "0"
$rest = substr ("123456789", 0, 1);    // geeft "1"
$rest = substr ("23456789", 0, 1);    // geeft "2"		
$rest = substr ("3456789", 0, 1);    // geeft "3"
$rest = substr ("456789", 0, 1);    // geeft "4"
$rest = substr ("56789", 0, 1);    // geeft "5"
$rest = substr ("6789", 0, 1);    // geeft "6"
$rest = substr ("789", 0, 1);    // geeft "7"
$rest = substr ("89", 0, 1);    // geeft "8"
$rest = substr ("9", 0, 1);    // geeft "9"

$whome = substr($CURUSER['username'], xxxxxx);


Nu is mijn vraag:
Welke code moet ik gebruiken om hiermee verder te gaan, dus wil ik de begin letter van Aart (A) hebben. Van daaruit kan ik weer verder werken.

Hopelijk is het duidelijk en alvast bedankt.

Mvg,
Ventheman
Daar heb je een punt.

Maar, in mijn optiek moet 'ie zo:


SELECT naam
FROM moderators
WHERE LOWER(gebruikers_beginletter)
LIKE CONCAT(LOWER(SUBSTRING(gebruiker, 0, 1)),'%')
LIMIT 1 
Stel gebruiker Bakker, stel mod is Piet met ABC als letters. Dan heb je ook die wildcard aan het begin nodig, anders pakt hij hem niet.

Net net even getest en in MySQL is LIKE case-insensitive, dus voor MySQL zouden die LOWER's wegkunnen. Hoe dat voor PostgreSQL is, weet ik niet.
Ohhh, hij staat als 'abc' in de tabel?

Nou, wie is er zo lief een link naar normaliseren te zoeken?

(PostgreSQL is case-sensitive, de rest ook)
Dit staat nu in mijn DATABASE:

 -- 
-- Tabel structuur voor tabel `mod_per_letter`
-- 

CREATE TABLE `mod_per_letter` (
  `letter` char(1) NOT NULL default '',
  `mod_name` varchar(100) NOT NULL default '',
  `mod_id` int(5) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

-- 
-- Gegevens worden uitgevoerd voor tabel `mod_per_letter`
-- 

INSERT INTO `mod_per_letter` VALUES ('A', 'Kimmetje', 1305);


Nu heb ik staff.php, maar hoe insert ik dat daar?
Jan Koehoorn schreef op 23.07.2006 17:31
Net net even getest en in MySQL is LIKE case-insensitive
Dat hangt van je collation af. Als je bijvoorbeeld latin1_general_ci hebt, dan is je tabel (of veld) case-insensitive. Heb je daarentegen latin1_general_cs, dan is 'ie wél case-sensitive.
@ Willem_vp: dankje! Ik mag dus aannemen dat de meeste hosts hun collation op latin1_general_ci hebben staan?
Volgens mij ga ik het nog snappen ook.

Ik heb nu een field genaamd 'mod' in de tabel 'users' gezet. Ik zal straks even zeggen als het gelukt is.
<?php

// De naam
$naam = "jeroen";

// Echo alleen eerste letter (tellen begint bij 0)
echo $naam[0]."<br />"; /* Output: j */

// Gehele string:
echo $naam."<br />"; /* Output: jeroen */

?>
Of begrijp ik je verkeerd ^^
Dus dan wordt het zo:


<?php

// De naam
$username = $username;

// Echo alleen eerste letter (tellen begint bij 0)
echo $username[0]."<br />"; /* Output: j */

// Gehele string:
echo $username."<br />"; / Output: jeroen */

?>
Jah lijkt me wel
het is alleen een beetje doelloos om een string indezelfde string op te slaan zonder veranderenen :P
$username = $username;

Reageren