Avatar billede caine.dk Nybegynder
20. juni 2001 - 12:13 Der er 12 kommentarer

[MySQL] sotering af database udtræk

Jeg kan ikke få mit php scrip til at sotering af det som at der står i min database.
data:
id/cat/producent/varename/varenr/beskriv/text/pic/pris/forpris

Jeg kan ikke få den til at lave en list i min browser hvor at det hele står med en producent some over skrift og med det andet data neden under.
Samt at få den til at gøre det for hvær eneste producent.

Hilsen Caine~
Avatar billede webhamster Nybegynder
20. juni 2001 - 12:16 #1
Ëhh jeg forstår ikke helt dit spørgsmål, men

SELECT * FROM tabel ORDER BY noget

Så sortere den
Avatar billede webhamster Nybegynder
20. juni 2001 - 12:18 #2
Eller evt:
ORDER BY id desc

Så viser den det nyeste først
Avatar billede delbing Nybegynder
20. juni 2001 - 12:23 #3
DESC sorterer i faldende orden. Det har ikke noget med rowens alder  at gøre.
Avatar billede webhamster Nybegynder
20. juni 2001 - 12:24 #4
ORDER BY id desc

Jeg går ud fra at ID er int, og hvis det er så vil den smide den højeste id først
Avatar billede wizprod.com Nybegynder
20. juni 2001 - 12:31 #5
Skal vi lige nævne at hvis du vil have dine resultater sorteret omvendt end med DESC skal du skrive ASC
Avatar billede zeusmedia Nybegynder
20. juni 2001 - 12:46 #6
Der menes at et udtræk skal sorteres efter producent indenfor en bestemt kategori. F.eks. hvis man trækker data ud databasen og får varer fra 4 forskellige producenter, skal de stilles op så der kommer en overskrift med producentens navn og derunder de varer den pågældende producent laver.

Eksempel:
Intel:
P-III 866MHz
P-III 933Mhz

AMD:
T-bird 950MHz
T-bird 1200MHz

Via/Cyrix:
Crusoe 667MHz

osv osv osv...

//zeusmedia
Avatar billede jannersen Nybegynder
20. juni 2001 - 12:49 #7
<?
$result = mysql_query(\"select id, cat, producent, varename, varenr, beskriv, text, pic, pris, forpris from TABEL\");
while (\"$row = mysql_fetch_array($resutl)\") {
print \"Producent: $row[producent]<br>
Varenavn: $row[varenavn]<br>
Cat: $row[cat]<br>
Varenr.: $row[varenr]<br>
Beskrivelse: $row[beskriv]<br>
Tekst: $row[text]<br>
Billede: <img src=\\\"$row[pic]\\\"><br>
Pris: $row[pris]<br>
Forpris: $row[forpris]<br>\";
}
?>
Avatar billede jannersen Nybegynder
20. juni 2001 - 12:50 #8
oki....

  <?
$result = mysql_query(\"select id, cat, producent, varename, varenr, beskriv, text, pic, pris, forpris from TABEL where producent = \'PRODUCENT NAVN\");
while (\"$row = mysql_fetch_array($resutl)\") {
print \"Producent: PRODUCENT NAVN
Varenavn: $row[varenavn]<br>
Cat: $row[cat]<br>
Varenr.: $row[varenr]<br>
Beskrivelse: $row[beskriv]<br>
Tekst: $row[text]<br>
Billede: <img src=\\\"$row[pic]\\\"><br>
Pris: $row[pris]<br>
Forpris: $row[forpris]<br>\";
}
?> 
Avatar billede jannersen Nybegynder
20. juni 2001 - 12:51 #9
Ups....

<?
$result = mysql_query(\"select id, cat, producent, varename, varenr, beskriv, text, pic, pris, forpris from TABEL where producent = \'PRODUCENT NAVN\'\");
while (\"$row = mysql_fetch_array($resutl)\") {
print \"Producent: PRODUCENT NAVN
Varenavn: $row[varenavn]<br>
Cat: $row[cat]<br>
Varenr.: $row[varenr]<br>
Beskrivelse: $row[beskriv]<br>
Tekst: $row[text]<br>
Billede: <img src=\\\"$row[pic]\\\"><br>
Pris: $row[pris]<br>
Forpris: $row[forpris]<br>\";
}
?> 
Avatar billede zeusmedia Nybegynder
20. juni 2001 - 13:34 #10
Problem:

Hvordan får man PHP til sortere efter producentnavn (ikke MySQL)?

MySQL query ser således ud:
\"SELECT * FROM webshop ORDER BY producent DESC\"

... og den skal ikke ændres! :)

Vi vil gerne have PHP til at finde \"producent\" og sortere forskellige forekomster. Databasen skal være dynamisk, så derfor vil vi ikke lave om i PHP-koden hver gang der kommer en ny producent.

Lad os sige at vi vil dele kategorien \"bundkort\" op efter producenter og får følgende output:

id: 1
producent: Abit
varenavn: Abit#1

id: 2
producent: Asus
varenavn: Asus#1

id: 3
producent: Tyan
varenavn: Tyan#1

id: 4
producent: Abit
varenavn: Abit#2

id: 5
producent: Aopen
varenavn: Aopen#1

id: 6
producent: Abit
varenavn: Abit#3

id:7
producent: Asus
varenavn: Asus#2

osv osv...

Jeg prøver at illustrere at vores output fra databasen er blandet sammen og skal sorteres og deles op i grupper efter producentnavn så resultatet ser således ud:

Abit:
Abit#1 (id: 1)
Abit#2 (id: 4)
Abit#3 (id: 6)

Aopen:
Aopen#1 (id: 5)

Asus:
Asus#1 (id: 2)
Asus#2 (id: 7)

Tyan:
Tyan#1 (id: 3)

Men hvordan kan vi gøre det så vi ikke skal definere alle producenternes navne i alle PHP-filerne?

//zeusmedia
Avatar billede caine.dk Nybegynder
20. juni 2001 - 21:52 #11
Jeg vil godt lige have et svar på alt dette nu hvor at i ved havd det drejer sige om  :)


Mvh Caine.dk
Avatar billede zeusmedia Nybegynder
20. juni 2001 - 21:55 #12
Ja, takket være mig er det blevet forklaret! *Tsk tsk* :)

Men for lige endnu engang at forklare det lidt dybere og lidt mere billedligt: Se på www.edbpriser.dk - det skal sættes op på næsten samme måde (er der nogen der har sourcecode til edbpriser? :)

//zeusmedia
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester