Toon posts:

[mysql/php] Count

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb bepaalde waardes die ik uit een tabel lees
waarde uit veld 1 veld 2 t/m veld 8

hieruit haalt ie bijvoorbeel 10 7 8 3 4 8 etc..

nu wil ik deze zo weergeven dat ze van hoog naar laag worden weergegeven op de site

als je SELECT * FROM bla ORDER BY naam doet, dat is alleen voor ordenen op 1 veld

maar ik moet dus van die 8 een rangschikking hebben.

Hoe doe ik dit ? via PHP of kan het toch via mysql?

Greetz c4

Verwijderd

Het kan beide, zowel via PHP als MySQL, maar de SQL methode is sneller (databases zijn goed geoptimaliseerd tegenwoordig :))

Het is jammer dat ik je post niet kan lezen tijdens het tikken van de reply, maar je wilt zoiets als:

SELECT veld1, nummer FROM tabel WHERE veld1 = '<selectie>' ORDER BY nummer;

Achter nummer kun je nog ASC of DESC zetten om aflopened of oplopend te sorteren.

----
Dit is trouwens basis zodra je met databases gaat werken. Ik raad je aan om even te kijken op www.mysql.com voor meer informatie omtrent SQL voor MySQL of Google te raadplegen voor SQL tutorials.

Verwijderd

Topicstarter
om even makkelijker te maken hieronder ff stukje php die ik gebruik om het te laten zien:
PHP:
1
<?$resultaatsql = "SELECT pvda, vvd, d66, groenlinks, sgp, lijstfortuyn, cda, sp FROM gegevens WHERE id = $uid";$resultaatquery = mysql_db_query("politiek", $resultaatsql) or die ("janmetdepet") ;while ($resultaat = mysql_fetch_array($resultaatquery)){echo "  ".$resultaat["pvda"]." <br>        ".$resultaat["vvd"]." <br>        ".$resultaat["d66"]." <br>        ".$resultaat["groenlinks"]." <br>        ".$resultaat["sgp"]." <br>        ".$resultaat["lijstfortuyn"]." <br>        ".$resultaat["cda"]." <br>        ".$resultaat["sp"]." <br>";?>

dus wanneer die echo komt moet het eigenlijk gesorteerd worden van hoog naar laag ..

en volgens mij kan dat dan weer niet in een sql query

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Haai c4 :)

Mischien als je zoekt naar een Bubble-sort algorithm in php. Daar zijn er vast legio van te vinden :)

All my posts are provided as-is. They come with NO WARRANTY at all.


  • Sabbi
  • Registratie: December 2000
  • Laatst online: 21:08

Sabbi

je denkt aan mij.

Als je je query result 'parsed' met fetch_array ben je natuurlijk je sortering kwijt, het maakt dan immers alleen uit hoe je je array eruitprint.
Maar als je bv fetch_row doet dan kan je wel met een while loop het in de gesorteerde volgorde uitprinten.
Verder volg ik nu niet helemaal wat je precies wil, maar ik hoop dat dit wel een tip is

  • 2
  • Registratie: November 2000
  • Laatst online: 31-03 13:52

2

Als je maar 1 resultaat hebt lijkt me die while loop sowieso overbodig. En verder:
PHP:
1
<?  $columns = mysql_fetch_row($result);  sort($columns);  foreach($columns as $column) {    echo $column;  }?>

* Anoniem: 2 kijkt naar de klok

Maar kan me vergissen :)

  • PdeHoog
  • Registratie: December 2001
  • Laatst online: 23-09-2024
Op dinsdag 09 april 2002 00:55 schreef c4 het volgende:
[php]<?$resultaatsql = "SELECT pvda, vvd, d66, groenlinks, sgp, lijstfortuyn, cda, sp FROM gegevens WHERE id = $uid";
Als ik het goed begrijp worden hier in die velden pvda, vvd, d66 etc. resultaten opgeslagen.

Misschien kun je het volgende proberen:

SELECT 'pvda' as partij,
pvda as 'results'
FROM gegevens

UNION

SELECT 'vvd' as partij,
vvd as 'results'
FROM gegevens

UNION etc etc etc

ORDER BY results DESC

Dit zou moeten werken in MS-SQL, maar ik denk dat MySQL dit ook wel aan zou moeten kunnen volgens mij, toch?

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Gaan we weer, Dit is in principe onwerkbaar vanwege een bepaalde reden:

Slecht DatabaseModel.

Maar dat had ik geloof ik al eerder aangegeven.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • Goodielover
  • Registratie: November 2001
  • Laatst online: 18-08 11:34

Goodielover

Only The Best is Good Enough.

Het blijft terugkomen. Door een ontwerpfout in het begin, blijf je aan het klooien door al je programmatuur.
Dit wordt dus een niet onderhoudbaar en niet herbruikbaar systeem.

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

normaliz :Z :Z er ... :O

ach...
rvlieshout:
Het is jammer dat ik je post niet kan lezen tijdens het tikken van de reply, maar je wilt zoiets als:
Zie prefs->"Thread bij reageren laten zien". Die even aanvinken.
CyBeR:
Mischien als je zoekt naar een Bubble-sort algorithm in php. Daar zijn er vast legio van te vinden :)
Zoals al gezegd, je "moet" het in SQL sorteren. Dat is sneller en netter. Als je dat niet voor elkaar krijgt, is er dus wat mis met je ontwerp.
PdeHoog:
code:
1
MS SQL query

[..]
ik denk dat MySQL dit ook wel aan zou moeten kunnen
Niet dus. MySQL ondersteunt nog geen subselects
dusty: Slecht DatabaseModel.
Goodielover: [ontwerpfout->aanklooien->niet onderhoudbaar->niet herbruikbaar].
:Y)

c4>
Dus: doe wat aan je ontwerp.

Stelregel: Als je je kolommen namen moet gaan geven die inhoudelijk met de database te maken hebben (namen van partijen dus bijvoorbeeld), dan is er iets mis, veelal dat je je gegevens moet spreiden over tabellen maar het in 1 tabel op wilt slaan.

Ga maar na: als ik nou nog ff gauw een partij opricht die opeens 24 zetels krijgt in de poll omdat ik me ook zo "eerlijk" opstel, dan moet jij een kolom toevoegen aan de tabel, terwijl dat dus echt not done is.

dus: [search=normaliseren]

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • PdeHoog
  • Registratie: December 2001
  • Laatst online: 23-09-2024
Op dinsdag 09 april 2002 10:19 schreef drm het volgende:
normaliz :Z :Z er ... :O

ach...
[..]

Niet dus. MySQL ondersteunt nog geen subselects
[..]


[..]

:Y)

c4>
Dus: doe wat aan je ontwerp.
Volgens mij heb ik het niet gehad over een subselect maar over een UNION (oftewel een select + een select + een select). Dit is standaard SQL, dus moet ondersteund kunnen worden toch?

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

PdeHoog:
[UNION is niet subselect]
Daar kun je over discussieren, maar goed:
MySQL documentation / UNION
UNION is implemented in MySQL 4.0.0
MySQL 4 is nog niet echt dat je zegt van "de gangbare versie" :+

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Verwijderd

Op dinsdag 09 april 2002 10:24 schreef PdeHoog het volgende:

[..]

Volgens mij heb ik het niet gehad over een subselect maar over een UNION (oftewel een select + een select + een select). Dit is standaard SQL, dus moet ondersteund kunnen worden toch?
Volgens mij is UNION niet simple SELECT + SELECT + SELECT.
De union selecteert alleen de rijen die niet in SELECT voor de UNION zitten. Je krijgt dus een waanzinnig slechte performance als je teveel UNIONS doet. Beter is gebruik van UNION ALL, dat is wèl SELECT + SELECT + SELECT.
Hoe MYSql hiermee omgaat weet ik (nog) niet, want de versie van MYSql die dit ondersteunt is nog niet echt gangbaar.

  • Goodielover
  • Registratie: November 2001
  • Laatst online: 18-08 11:34

Goodielover

Only The Best is Good Enough.

Volgens mij voert een UNION gewoon de queries uit en ontdubbelt daarna.
performance zal met de +/-8 queries die hier uitgevoerd worden zeer meevallen. Het gaat om max 8 records!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Goodielover:
Het gaat om max 8 records!
*geheimzinnige blik*
Maar over hoeveel records gaat het over 5 jaar?

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Goodielover
  • Registratie: November 2001
  • Laatst online: 18-08 11:34

Goodielover

Only The Best is Good Enough.

Op dinsdag 09 april 2002 13:12 schreef drm het volgende:

[..]

*geheimzinnige blik*
Maar over hoeveel records gaat het over 5 jaar?
Maakt niet uit, het systeem is toch niet herbruikbaar |:(

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Goodielover:
Maakt niet uit, het systeem is toch niet herbruikbaar |:(
:D :D

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz

Pagina: 1