[php && mysql] sort probleem

Pagina: 1
Acties:
  • 67 views sinds 30-01-2008

  • DaFearLess
  • Registratie: Juni 2001
  • Niet online
Ik heb eigenlijk nog 2 vraagjes.

als ik de volgende code gebruik
PHP:
1
<?$result = mysql_query("SELECT * from kaartenbak order by kistnr");?>

krijg ik bijv als output
code:
1
2
3
4
5
6
7
8
9
10
11
1194
212
213
300
822
71
75
823
824
825
1

ik wil eigenlijk dat het in alfanumerieke volgorde staat is dat mogenlijk?

en is het met php ook mogenlijk dat je een zoek funktie maakt en dat hij dan gelijk naar het geene op de pagina springt van wat je gezocht hebt?

specs : http://specs.tweak.to/7435


  • jan-marten
  • Registratie: September 2000
  • Laatst online: 10-09 14:12
En als je die kolom nou eens UNSIGNED ZEROFILL maakt?
Dan krijg je in de dbase zoiets als dit te staan:

00001
01250

(hij vult het begin aan met nullen)

  • DaFearLess
  • Registratie: Juni 2001
  • Niet online
Op donderdag 04 april 2002 23:00 schreef jan-marten het volgende:
En als je die kolom nou eens UNSIGNED ZEROFILL maakt?
Dan krijg je in de dbase zoiets als dit te staan:

00001
01250

(hij vult het begin aan met nullen)
ja ok dat werkt maar dan krijg ik dus op mijn scherm ook allemaal nullen te zien en dat wil ik juist niet

specs : http://specs.tweak.to/7435


  • jan-marten
  • Registratie: September 2000
  • Laatst online: 10-09 14:12
Ik denk dat er vast wel een functie te bedenken valt die de eerste nulletjes verwijdert.
PHP:
1
<?  $nullen = "00000010";  $geennullen = "1";  $optel = $nullen + $geennullen;  echo $optel;?>

geeft bij mij keurig '11'

:)

  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 07-07 11:51
code:
1
SELECT * from kaartenbak order by 0 + kistnr

levert op:
code:
1
2
3
4
5
6
7
8
9
10
1 
71 
75 
212 
300 
822 
823 
824 
825 
1194

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


  • jan-marten
  • Registratie: September 2000
  • Laatst online: 10-09 14:12
Wat ik mij afvraag is of de output sortering wel deugt als je hem dus unsigned zerofill hebt gemaakt.

Als dat zo is (kan het zo niet uittesten, sorry) dan kun je, wanneer je de boel gaat uitprinten de kistnr's optellen met 1 daarna weer met 1 verminderen.

Als mijn systeem niet werkt dan hoop ik dat iemand anders een creatieve oplossing weet want ik ga zo op bed...

  • DaFearLess
  • Registratie: Juni 2001
  • Niet online
Op donderdag 04 april 2002 23:38 schreef bigtree het volgende:
code:
1
SELECT * from kaartenbak order by 0 + kistnr

levert op:
code:
1
2
3
4
5
6
7
8
9
10
1 
71 
75 
212 
300 
822 
823 
824 
825 
1194
harstikke bedankt dit werkte :)

specs : http://specs.tweak.to/7435


  • Grum
  • Registratie: Juni 2001
  • Niet online
je zou gewoon een int kunnen gebruiken voor je veld-type ;)

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

dusty

Celebrate Life!

Op vrijdag 05 april 2002 00:04 schreef dafearless het volgende:
[..]
harstikke bedankt dit werkte :)
Totdat je opeens een alfanummerieke resultaat terug kreeg natuurlijk. Hier maak je in principe een integer van het resultaat, wat dus betekent dat je beter je veld kan definieren als integer, want dat werkt een stuk sneller met het sorteren.

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


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 09-09 11:02
Eigenlijk vind ik dat mensen die een SQL-vraag stellen zonder de relevante table layouts te vermelden een OW mogen krijgen.

Verder is de tweede vraag mij onduidelijk, maar dat kan komen omdat ik zat ben. Mensen die vragen stellen die (echt) onvolledig/onduidelijk zijn mogen van mij ook een OW krijgen, maar daar kan ik 't beter niet over hebben, want daar wil men toch niet aan beginnen.

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 14:51

mulder

ik spuug op het trottoir

Phew, iemand met verkeerde been uit/in bed gestapt. Grumpy Old Men Award voor jou.

oogjes open, snaveltjes dicht


  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 07-07 11:51
Dat het veld een tekstveld was, kon je wel afleiden uit de uitvoer van de eerste query. De databasestructuur was dus niet nodig om te vermelden, lijkt mij.

Overigens is die uitvoer onmogelijk, aangezien die '1' bovenaan had moeten staan in plaats van onderaan. Maar dat terzijde.

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


  • Grum
  • Registratie: Juni 2001
  • Niet online
Mensen met de nodige clue/ervaring weten direct dat dit een non-integer veld is, maar de rest weet dat dus niet....

Ik vind inderdaad dat je gewoon verplicht moet zijn bij dit soort vragen je table creation-line erbij te zetten zodat er geen zinloze antwoorden gegeven worden, tijd verspild wordt en vooral enorme frustratie ontstaat over het zielige niveau van de discussie cq vraag.

En ik zou enorm voorstander zijn dat als iemand 5 vragen stelt die je in 1 regel kan oplossen dattie gewoon een waarschuwing krijgt ... tis nl af en toe te zielig voor woorden.

  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 07-07 11:51
Okee, sommige posts zijn van laag niveau, maar als je die FAQ nog nooit gelezen hebt, weet je ook niet dat je je table create moet vermelden. Je weet dus niet eens wat je fout doet. Om dan meteen een waarschuwing aan de broek te krijgen...

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 14:51

mulder

ik spuug op het trottoir

Op vrijdag 05 april 2002 10:29 schreef Grum het volgende:
Mensen met de nodige clue/ervaring weten direct dat dit een non-integer veld is, maar de rest weet dat dus niet....
Dezelfde rest die niet weet dat als als je een sql vraagje stelt, je de 'table creation-line' moet bijvoegen. Die iemand misschien helemaal niet kent/heeft gebruikt. Ik zelf bv ben programmeur. Geen databaseman. Tuurlijk weet ik er wat vanaf, maar m'n specialisme is het niet. Ik ben dus alert op andere dingen. Zo zijn er meer mensen. Heb eens wat geduld. 'tis lente.

oogjes open, snaveltjes dicht


  • Grum
  • Registratie: Juni 2001
  • Niet online
Mensen mogen ZELF ook wel wat moeite doen voor de vraag.

Duidelijk zijn over wat het probleem is, duidelijk de situatie schetsen, alle nodige en vooral relevante gegevens geven (table creates, os, versie etc etc etc)

Wat heb je eraan als 90% zit te gokken wat je bedoeld en op die manier dus geen antwoord kan geven ? en in 50% van de gevallen .. als je het netjes uitlegt .. dan kom je zelf al achter de oplossing omdat je er dan over na MOET denken.

De antwoorden die worden gesuggereerd zijn daarnaast ook wel ZO enorm slecht .. dat is etzelfde als dat je wegfietst met een lekke band en die dan elke 50 meter oppompt of dat je em gewoon ff plakt. En voor de mensen die die antwoorden bedenken heb ik eigelijk nog minder goeds voor over ... die denken namelijk NOG minder na ... hoe slechter je antwoord is hoe meer confused de topicstarter wordt waar je dus wederom geen ruk aan hebt.

  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 07-07 11:51
Exactly, als je over het probleem nadenkt, kom je er vaak wel uit. Open deur. Maar als je beginner bent, en zelfs als je een simpel probleem wilt oplossen, heb je vaak geen clue waar je moet beginnen. Dus ook niet welke informatie relevant is om er bij te zetten.

Misschien wordt dit wel een vergaande discussie, maar ik vind dat als een probleem zo simpel is op te lossen als deze, je jezelf niet moe moet gaan maken met de gebruiker op de FAQ te wijzen. Zijn oplossing is in 1 regel te geven. Da's minder werk. En hij is er mee geholpen.

Willen we van tweakers een goede kennisbank maken (houden?) dan moet in een topic met een vraag ook altijd het antwoord staan. Dat is wel zo nuttig als iemand later met hetzelfde probleem zit. Die kan het dan met de search wel oplossen, maar dan moet wel het antwoord in hetzelfde topic staan.

Als iemand gemotiveerd wordt om het zelf uit te zoeken, neemt zo'n persoon vaak niet te moeite om dat antwoord ook echt te posten. "Bedankt voor jullie moeite, maar ik ben er al achter" zie je wel eens voorbij komen. Op die manier blijft het de vraag in het topic open staan en is het een nutteloos topic als je hem bij de search tegenkomt. Maar goed, dat is mijn mening.

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


  • Grum
  • Registratie: Juni 2001
  • Niet online
Tis nog veel erger dat mensen enorm ranzige oplossingen overnemen omdat ze gewoon NIET de hele thread lezen.

90% van de mensen die een soortgelijk probleem hebben lezen de thread tot de post 'Het werkt .. YIPPIE' en lopen dus vervolgens met de meest ranzige oplossingen weg.

Hoe denk je dat deze structuur zoveel wordt gebruikt:

Voor de code die komen gaat:
[b]WAAG HET NIET OM HET TE GEBRUIKEN, HET IS 100% KUTCODE[/b]
(sad dat dit soort dingen erbij moeten staan om te voorkomen dat mensen et toch gebruiken)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$theResult = mysql_query($theQuery);
$theRow = mysql_fetch_row($theResult);
if($theRow)
{
   do
   {
    //stuff met $theRow
   } 
   while($theRow = mysql_fetch_row($theResult));
}
else
{
   // no rows
}

omdat dit ERGENS staat .. ik heb der meen ik al 8x wat over gezegt, 2x een topic over gestart en NOG zie je hebt langskomen

  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 07-07 11:51
Op vrijdag 05 april 2002 11:03 schreef Grum het volgende:
Tis nog veel erger dat mensen enorm ranzige oplossingen overnemen omdat ze gewoon NIET de hele thread lezen.
[...]
code:
1
if($theRow)
Hij is errug ranzig ja. Maar het probleem van mensen is niet dat ze ranzige code schrijven, maar dat ze beginner zijn (achterliggend probleem). Dan hebben ze er weinig aan om dat nog een keer te horen. Ik zie soms heel ranzige code van mezelf terug en realiseer me dan dat ik dat geschreven heb toen ik zelf beginner was. Leren doe je toch wel. Ook als je in het begin met ranzige code wegloopt.

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


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

Goodielover

Only The Best is Good Enough.

Compleet off topic.
Graag stoppen of open een eigen topic

  • GaMeOvEr
  • Registratie: Januari 2000
  • Laatst online: 23:50

GaMeOvEr

Is een hork.

Misschien een idee om de discussie over de kwaliteit van postings niet hier te doen? ;)

Aannames zijn fataal.


  • Grum
  • Registratie: Juni 2001
  • Niet online
Altijd aangenaam om te zien en vooral merken dat zelfs de Mods de thread niet compleet doorlezen.

Het is niet compleet offtopic anders kom je er nl niet op .. ik iig niet.

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op vrijdag 05 april 2002 11:56 schreef Grum het volgende:
Altijd aangenaam om te zien en vooral merken dat zelfs de Mods de thread niet compleet doorlezen.

Het is niet compleet offtopic anders kom je er nl niet op .. ik iig niet.
ik ben er nu en ik deel de mening van GO niet ;)
dus gewoon zo doorgaan met dit topic maar wel onderbouwd blijven posten!
</ot>

Doet iets met Cloud (MS/IBM)


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

Goodielover

Only The Best is Good Enough.

Vanaf deze post gaat het niet meer over het geschetste probleem, maar over hoe een topic start er uit zou horen te zien. Inhoudelijk ben ik het overigens met de posts eens, maar waarom niet een topic: "Hoe start ik een SQL-topic" daar kan toch alles in en kan het laten worden gecompileerd tot een FAQ.
Op vrijdag 05 april 2002 02:05 schreef Soultaker het volgende:
Eigenlijk vind ik dat mensen die een SQL-vraag stellen zonder de relevante table layouts te vermelden een OW mogen krijgen.

Verder is de tweede vraag mij onduidelijk, maar dat kan komen omdat ik zat ben. Mensen die vragen stellen die (echt) onvolledig/onduidelijk zijn mogen van mij ook een OW krijgen, maar daar kan ik 't beter niet over hebben, want daar wil men toch niet aan beginnen.

  • Grum
  • Registratie: Juni 2001
  • Niet online
de eerste 6 replies slaan nergens op .. mogen we et daar ook even op afrekenen dan ?

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

Goodielover

Only The Best is Good Enough.

Ook helemaal mee eens. Maar ben je ook met mij eens?

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

goed en nu ist klaar
volledig offtopic geluld

Doet iets met Cloud (MS/IBM)

Pagina: 1

Dit topic is gesloten.