[PHP] Namen lijst gesorteerd

Pagina: 1
Acties:

  • _Gekkie_
  • Registratie: Oktober 2000
  • Laatst online: 20-03 18:27

_Gekkie_

And the cow said: Helloooooow?

Topicstarter
Keej... Kweet het de titel is wat verdacht...

Maar goed, ik ben niet zo'n PHP bink maar wil toch het volgende:
Lijst met Leden:
-A
Andries, Jan
-B
Blaak, Henk de
(er is geen achternaam met C)
-D
Dirks, Michiel
etcetc

Wil dus zeggen, ik wil op 1 pagina, een lijst gesorteerd op naam, gegroupeerd op eerste letter van de achternaam (en als er dus geen naam met die letter is, dat ie dus die letter niet laat zien...)

Is dit mogelijk??

Gekkie is a proud member of TheBenny!


  • chem
  • Registratie: Oktober 2000
  • Laatst online: 27-08 13:53

chem

Reist de wereld rond

pseudo-code:
while (namen) {
als eerste letter naam niet overeenkomt met buffer: print eerste letter
print naam
buffer = eerste letter naam
}

Klaar voor een nieuwe uitdaging.


  • _Gekkie_
  • Registratie: Oktober 2000
  • Laatst online: 20-03 18:27

_Gekkie_

And the cow said: Helloooooow?

Topicstarter
Keej... relax... dank je... :?

:)

Zoals ik al zei, ben niet zo'n php-bink... :?
Wat dus wil zeggen, dat ik het toch niet helemaal snap ;)

Gekkie is a proud member of TheBenny!


Verwijderd

De mensen zijn snel tevreden tegenwoordig ;)

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 27-08 13:53

chem

Reist de wereld rond

ja, ik ga het niet voor je spellen...

zoek maar op hoe je moet sorteren, hoe je achter de 1e letter van een woord komt etc. etc.

Lukt dat niet, kom dan terug :)

Klaar voor een nieuwe uitdaging.


  • _Gekkie_
  • Registratie: Oktober 2000
  • Laatst online: 20-03 18:27

_Gekkie_

And the cow said: Helloooooow?

Topicstarter
Keej..

ik kom er dus echt niet uit...
kzal ff de source (dus de layout) hier plaatsen...
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?
$sql_bedrijf = mysql_query("SELECT ID, Naam FROM bedrijf");
        print "
        <table border=\"1\" cellspacing=\"0\" cellpadding=\"1\" width=\"90%\">
          <tr> 
            <td colspan=\"3\">
              <h1 align="center">Bedrijven Overzicht</h1>
            </td>
          </tr>
          <tr> 
            <td width=\"100\">Ga naar:</td>
            <td colspan=\"2\">";
            //hier laat ie strx dus alleen de letters zien waarvan er namen in db
            //mee beginnen. (die letters worden links naar deze pagina zie hieronder.
            $sql_bedrijf_sort = mysql_query("SELECT ID, Naam FROM bedrijf ORDER BY Naam ASC");
            while ($letter_sort = db_getarray($sql_bedrijf))
            {
            print"<a HREF=\"$PHP_SELF?f=2&amp;functie=overzicht#$letter\"
            </td>
          </tr>
        //hier moet dus nog wat komen wat ik niet weet
        while bla?
        {
          <tr> 
            <td width=\"100\"><a name=\"$letter\"></a>$letter</td>
            <td colspan=\"2\">&amp;nbsp;</td>
          </tr>
        $sql_bedrijf_inhoud = mysql_query("SELECT ID,Naam FROM bedrijf WHERE Naam LIKE '$letter%'");
        while ($result3 = db_getarray($sql_bedrijf_inhoud))
        {
        print"<tr> 
            <td width="100\">&amp;nbsp;</td>
            <td width=\"43%\">$result[Naam]</td>
            <td width=\"33%\"><a href=\"$PHP_SELF?bedrijf_action=informatie&amp;item=$bedrijf[ID]\">[img]\"/img/search.gif\"[/img]</a></td>
          </tr>";
        }
        }
        print"</table>";
?>

Ik hoop dat het een beetje te zien is...

Gekkie is a proud member of TheBenny!


  • Wokker
  • Registratie: September 2001
  • Laatst online: 16-09 06:17

Wokker

De avond wokkel

HIj komt hier om hulp te vragen niet om weer wegstuurd te worden !!

Het oneindige X 0


  • _Gekkie_
  • Registratie: Oktober 2000
  • Laatst online: 20-03 18:27

_Gekkie_

And the cow said: Helloooooow?

Topicstarter
Tjeempie.. wil ik m wijzigen (die php code updaten tot wat ik nu heb...mag het niet meer?!?!)

dus mijn excuses, maar hier komt ie nogmaals:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?
$sql_bedrijf = mysql_query("SELECT ID, Naam FROM bedrijf");
        print "
        <table border=\"1\" cellspacing=\"0\" cellpadding=\"1\" width=\"90%\">
          <tr> 
            <td colspan=\"3\">
              <h1 align="center">Bedrijven Overzicht</h1>
            </td>
          </tr>
          <tr> 
            <td width=\"100\">Ga naar:</td>
            <td colspan=\"2\">";
            //hier laat ie strx dus alleen de letters zien waarvan er namen in db
            //mee beginnen. (die letters worden links naar deze pagina zie hieronder.
            $sql_bedrijf_sort = mysql_query("SELECT ID, Naam FROM bedrijf ORDER BY Naam ASC");
            while ($letter_sort = db_getarray($sql_bedrijf))
            {
            print"<a HREF=\"$PHP_SELF?f=2&amp;functie=overzicht#$letter\"
            }
            print"</td>
          </tr>";
          
        //hier moet dus nog wat komen wat ik niet weet
        while bla?
        {
          <tr> 
            <td width=\"100\"><a name=\"$letter\"></a>$letter</td>
            <td colspan=\"2\">&amp;nbsp;</td>
          </tr>
        $sql_bedrijf_inhoud = mysql_query("SELECT ID,Naam FROM bedrijf WHERE Naam LIKE '$letter%'");
        while ($result3 = db_getarray($sql_bedrijf_inhoud))
        {
        print"<tr> 
            <td width="100\">&amp;nbsp;</td>
            <td width=\"43%\">$result[Naam]</td>
            <td width=\"33%\"><a href=\"$PHP_SELF?bedrijf_action=informatie&amp;item=$bedrijf[ID]\">[img]\"/img/search.gif\"[/img]</a></td>
          </tr>";
        }
        }
        print"</table>";
?>

Gekkie is a proud member of TheBenny!


Verwijderd

Ik snap wel niet helemaal wat je wil doen (beetje duf :)),
maar sorteren doe je bijvoorbeeld hiermee en ehh wat ook nog handig is is substr. Met deze functie kan je bijv. de eerste letter pakken. (substr("string",0,1) geeft "s" )
Suc6!

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Wat wil je nou precies bereiken? Ik zie in het (overigens niet echt duidelijke, maar dat vergeef ik je maar) stukkie code een aantal queries die verdacht veel op elkaar lijken.

Heb ik het goed begrepen als ik zeg dat je uit een database een aantal namen haalt en deze per letter gegroupeerd wilt tonen?
Zo ja, dan kan je heel simpel op de manier die ACM chem al aangaf de gegevens wegschrijven.

Zo wordt de flow dan ongeveer door je scriptje:
code:
1
2
3
4
5
6
7
8
9
10
11
1. haal namen uit database
   (ORDER BY Naam ASC, en ze zijn al gesorteerd).
2. zet een tijdelijke var op ""
3. zitten er (nog) namen in de recordset?
   ja, pak volgende en ga naar 4.
   nee, ga naar 7.
4. als eerste letter <> tempvar print eerste letter
   en stop eerste letter in tempvar
5. print naam
6. ga naar 3
7. the end

duidelijk?

Today's subliminal thought is:


  • _Gekkie_
  • Registratie: Oktober 2000
  • Laatst online: 20-03 18:27

_Gekkie_

And the cow said: Helloooooow?

Topicstarter
tja... zo zou het inderdaad moeten jah...

Maar hoe ziet dat er dan uit?! Ik heb al naar voorbeelden gekeken, maar daar kom ik toch niet echt uit...?

Gekkie is a proud member of TheBenny!

Pagina: 1