sorteer functie vanauit database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marcel

marcel

07/02/2009 16:51:00
Quote Anchor link
Hallo,


Ik ben op zoek naar een script waarin ik mijn cd kan invoeren.
Ik heb wel enige ervaring met php maar niet voldoende om dit volledig zelf te schrijven.
De meeste aanpassingen kan ik wel maken.

Ik zoek een script die het volgende doet.

Ik voer de volgende gegevens in:

artiest, album titel, cd/lp/dvd jaartal.

Dit invoer script heb ik wel (gratis geleend) maar hij sorteert niet zoals ik het wil.

Het idee is dat hij al deze gegevens uit de database haalt en dat ik kan sorteren zoals ik het wil.
bijvoorbeeld alles sorteren op artiest, album, cd/dvd/lp of jaartal.
Nu zou ik ook graag een combinatie van deze willen laten weergeven zoals eerst sorteren op artiest i.c.m. jaartal.
Of alle artiesten die beginnen met een b.

Zoiets.

Ik hoop dat ik het duidelijk heb kunnen uitleggen en dat er iemand is die weet waar ik zoiets kan vinden.

Alvast reuze bedankt.

Marcel
 
PHP hulp

PHP hulp

30/11/2024 01:00:00
 
Jo colling

jo colling

07/02/2009 17:11:00
Quote Anchor link
het hele script ga ik niet schrijven maar de problemen ga ik wel proberen op te lossen :

geef je zoektermen nummers en dan met switch

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
switch($zoekterm){
case 0:
// bv artiesten waarde=0 en dan gewoon wat je wil doen....
break;
case 1:
// bv album waarde=1
break;
case....


en het zoeken
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT rij FROM tabel WHERE artiest LIKE 'b%'

alleen als je beginletter wilt als je midden in het woord wil zoeken moet het zoeits zijn als LIKE '%b%' en als het niet b moet zijn moet je b gewoon vervangen door een variable
Gewijzigd op 01/01/1970 01:00:00 door jo colling
 
Marcel

marcel

07/02/2009 18:06:00
Quote Anchor link
Bedankt voor je reactie.
Dit is wat ik nu heb maar dat doet niet wat ik eigenlijk wil.
Ik krijg dus wel de gegevens uit de database en hij sorteert ze op artiest.
Op zich prima maar nu wil ik ze daarna op jaartal gesorteerd hebben zodat die eerst kijkt naar de sortering van artiest en als tweede op jaartal.

Liever heb ik eigenlijk ook een systeem van bijvoorbeeld list/menu systeem.
Eerst een aantal zoekopdrachten op geven als b.v. artiest begint met a en een jaartal en dan zoeken.

Ik hoop dat mijn vraag duidelijk is.
Ik heb dit script ook gekregen en aangepast maar krijg het niet zoals ik het eigenlijk wil.

Alvast bedankt voor het kijken.
Gewijzigd op 01/01/1970 01:00:00 door marcel
 
- SanThe -

- SanThe -

07/02/2009 18:09:00
Quote Anchor link
Je post is nu niet echt leesbaar. Pas je post even aan en gebruik en tags om je code heen. Om php code zet je uiteraard dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php en ?>
Gebruik je Afbeelding knop om dit te doen.

SanThe.
 
Marcel

marcel

07/02/2009 18:10:00
Quote Anchor link
excuses.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
42
43
44
45
46
47
48
49
50
51
52
<?php
$incl
= include "..//config.php";
if($incl <> TRUE){
exit("<h2>Fout bij invoegen van bestanden</h2>");
}

?>

<div id="Layer2">
  <table width="1127" height="45" bordercolor="#FFFFFF">
    <tr>     
        <td width="339"><b><a href="./~safeuseroverzicht.php?sort=Titel<? if($_GET['sort'] == "Titel"){echo "_inv";} ?>">Titel</a>: </b></td>
        <td width="452"><b><a href="./~safeuseroverzicht.php?sort=Artiest<? if($_GET['sort'] == "Artiest"){echo "_inv";} ?>">Artiest</a>: </b></td>
        <td width="134"><b><a href="./~safeuseroverzicht.php?sort=CDLP<? if($_GET['sort'] == "CDLP"){echo "_inv";} ?>">CDLP</a>: </b></td>
        <td width="182"><b><a href="./~safeuseroverzicht.php?sort=Jaartal<? if($_GET['sort'] == "Jaartal"){echo "_inv";} ?>">Jaartal</a>: </b></td>
    </tr>

<?php

if (isset($_GET['sort'])){
    
    
    if ($_GET['sort'] == "Titel"){ $lijst_select = "SELECT * FROM kot_msnlijst ORDER BY Titel ASC"; }
    if ($_GET['sort'] == "Artiest"){ $lijst_select = "SELECT * FROM kot_msnlijst ORDER BY Artiest ASC"; }
    if ($_GET['sort'] == "CDLP"){ $lijst_select = "SELECT * FROM kot_msnlijst ORDER BY CDLP ASC"; }
    if ($_GET['sort'] == "Jaartal"){ $lijst_select = "SELECT * FROM kot_msnlijst ORDER BY Jaartal ASC"; }
    
    
    if ($_GET['sort'] == "Artiest_inv"){ $lijst_select = "SELECT * FROM kot_msnlijst ORDER BY Artiest DESC"; }
    if ($_GET['sort'] == "Titel_inv"){ $lijst_select = "SELECT * FROM kot_msnlijst ORDER BY Titel DESC"; }
    if ($_GET['sort'] == "CDLP_inv"){ $lijst_select = "SELECT * FROM kot_msnlijst ORDER BY CDLP DESC"; }
    if ($_GET['sort'] == "Jaartal_inv"){ $lijst_select = "SELECT * FROM kot_msnlijst ORDER BY Jaartal DESC"; }
    
}
else{ $lijst_select = "SELECT * FROM kot_msnlijst ORDER BY Artiest ASC"; }

if (isset($_GET['letter'])){
$letter = $_GET['letter'];
$letter = substr ($letter, 0, 1);

$lijst_select = "SELECT * FROM kot_msnlijst WHERE `beginletter` = '".$letter."' ORDER BY Artiest ASC";
}


$lijst_query = mysql_query($lijst_select) or die(mysql_error());

   while($lijst = mysql_fetch_object($lijst_query))
   {


$msn = $lijst->msn;
$msn = str_replace (".", "[dot]", $msn);
$msn = str_replace ("@", "[at]", $msn);

echo "<tr><td>$lijst->Artiest</td><td>$lijst->Titel</td><td>$lijst->CDLP</td><td>$lijst->Jaartal</td></tr>";
   }

?>
 
Jesper Diovo

Jesper Diovo

07/02/2009 18:14:00
Quote Anchor link
SanThe schreef op 07.02.2009 18:09:
Gebruik je Afbeelding knop om dit te doen.

En ook lezen is zo moeilijk :-).
 
- SanThe -

- SanThe -

07/02/2009 18:18:00
Quote Anchor link
Hij sorteert prima op artiest en niet op jaartal? Wat staat er dan in de database in jaartal en wat is het voor datatype?
 
Marcel

marcel

07/02/2009 18:24:00
Quote Anchor link
Hij sorteert op beiden maar de bedoeling is dat hij eerst op de eerste letter van de artiest sorteert en daarna kijkt naar het jaartal.

Hij registreert in de database dan ook de eerste letter van de artiest dus tot zover gaat het goed maar daarna is hij wat willekeurig.
 
Eddy E

Eddy E

07/02/2009 18:28:00
Quote Anchor link
Volgens mij weet de TS (Marcel dus) nog niet echt van de ORDER BY:

Van: ORDER BY Artiest ASC
Naar: ORDER BY Jaartal DESC, Artiest ASC
 
Marcel

marcel

07/02/2009 18:34:00
Quote Anchor link
euhhm nee eigenlijk niet en snap ook nog niet hoe je het bedoeld.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if ($_GET['sort'] == "Titel"){ $lijst_select = "SELECT * FROM kot_msnlijst ORDER BY Titel ASC"; }


hierin aanpassen?


(ja kom er steeds weer achter dat ik eigenlijk er nog veel te weinig van af weet maar wil het erg graag proberen.)
 
Eddy E

Eddy E

07/02/2009 18:37:00
Quote Anchor link
daar staat Titel, niet Artiest.

Dus op regel 22, 27, 32 en 38.

Eigenlijk mag je gewoon begrijpen:
ASC = oplopend: 1>10 en A>Z
DESC = aflopend: 10>1 en Z>A

Je kan meer dingen opgeven:

ORDER BY jaar DESC, artiest ASC, aantal_cds DESC
 
- SanThe -

- SanThe -

07/02/2009 18:38:00
Quote Anchor link
ORDER BY veldnaam ASC sorteert altijd alléén op die veldnaam. Wil jij dus op twee (of meer) veldnamen sorteren dan zal je die dus ook moeten opgeven gescheiden door een komma. Zie de post van Eddy Erkelens voor een voorbeeld.
 
Marcel

marcel

07/02/2009 18:44:00
Quote Anchor link
ok top.

Het kwartje begint te vallen en ga gelijk proberen dit voor elkaar te krijgen.

Bedankt en loop ik vast reageer ik weer.
 



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.