[mysql-php] array fill/sorteer probleem

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • HenkS
  • Registratie: Mei 2000
  • Laatst online: 11:43

HenkS

Da_king alias HenkS

Topicstarter
dag Gotters,

ik heb het volgende:

ik heb een tabel met subnet gegevens:

subnets:
s_id, subnet_name, subnetaddr, subnetmask, contact ..... enz...

nu moet ik in een overzicht alle subnetten tonen gesorteerd op subnetaddr.

maar dit is opgeslagen als varchar (is een ipnr) dus 10.10.10.10 dus je kunt niet in de query zelf een sort doen.

dus wat ik nu doe:
ik doe een select van de subnet tabel
doe dan $subnetaddr = iptolong($row[2]);

en dan dit :
$SUBNETS[$subnetrow[1]]["$subnetaddr"]=$subnetrow[3]
en dan als ie gevuld met alle rows een sort...

dit lukt aardig (sorteren wil ook nog niet helemaal goed, maar ja...)

maar mijn grootste probleem is. op deze manier heb ik niet ALLE velden uit de query in mijn array. en ik heb geen idee hoe ik dit wel voor elkaar krijg (heb al goed op php.net gelezen)


ik kan natuurlijk ook alleen s_id en subnetaddr ophalen sorteren en dan per row weer een select doen op de table, maar dan moet ik 2000x een query uitvoeren en dat is niet echt bevordelijk voor de snelheid.

ik hoop dat iemand me hier kan helpen.

thanks

Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 15-09 18:24

dusty

Celebrate Life!

SQL voorziet wel in een oplossing voor je ;)

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


Acties:
  • 0 Henk 'm!

  • HenkS
  • Registratie: Mei 2000
  • Laatst online: 11:43

HenkS

Da_king alias HenkS

Topicstarter
ja daar heb ik dus ook naar gezocht

iemand zei al dat ik gewoon ip2long in mysql kon gebruiken, dus not...

dus vraag ik me nu af hoe wel? hint?

edit:

ik heb nog mysql3 en geen 4 ... kan het daarom niet werken?

[ Voor 22% gewijzigd door HenkS op 11-06-2003 09:20 ]


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 09:15

Janoz

Moderator Devschuur®

!litemod

ip2long is een php functie. Binnen mysql heb je INET_ATON en INET_NTOA, maar dat had je ook wel ff in de manual kunnen vinden ;)

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • Evilbee
  • Registratie: November 2002
  • Laatst online: 10:42
Je kan ook dat subnet in 4 kolommen zetten, en dan daarop sorteren. Zo heb ik het bij mij opgelost.

LinkedIn - Collega worden?


Acties:
  • 0 Henk 'm!

  • HenkS
  • Registratie: Mei 2000
  • Laatst online: 11:43

HenkS

Da_king alias HenkS

Topicstarter
Janoz schreef op 11 June 2003 @ 09:43:
ip2long is een php functie. Binnen mysql heb je INET_ATON en INET_NTOA, maar dat had je ook wel ff in de manual kunnen vinden ;)
pffft net te laat. had net zelf bij de user_functions op de mysq.com pagina ook dergelijke functies gevonden, gedownload, gecompiled enz enz en het werkte mooi, en nu bestaat het toch al :D

nou ja, alleen maar leerzaam, thanks

Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 15-09 18:24

dusty

Celebrate Life!

Evilbee schreef op 11 juni 2003 @ 09:57:
Je kan ook dat subnet in 4 kolommen zetten, en dan daarop sorteren. Zo heb ik het bij mij opgelost.
Jammer als je server IP6 ondersteunt natuurlijk >:)

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


Acties:
  • 0 Henk 'm!

  • HenkS
  • Registratie: Mei 2000
  • Laatst online: 11:43

HenkS

Da_king alias HenkS

Topicstarter
Janoz schreef op 11 juni 2003 @ 09:43:
ip2long is een php functie. Binnen mysql heb je INET_ATON en INET_NTOA, maar dat had je ook wel ff in de manual kunnen vinden ;)
wil hier toch ff op terug komen

zoiets klinkt logisch, maar vind het maar eens als je de functie naam niet weet

ik zoek bv op mysql.com op ipaddress of op ip ... maar dan vind je dus echt niks.... dus vraag me af hoe je zoiets vind als je niet eens een goed trefwoord weet...

dus ik vind gewoon dat er niet altijd maar vanuit moet worden gegaan dat iets wat iemand hier weet, vanzelf sprekend maar 'even' gevonden moet kunnen worden. Sommige functies hebben gewoon vreemde namen.

bv als je de restwaarde van een deling wilt weten, voor een leek is het niet eenvoudig om erachter te komen dat je % moet gebruiken in php.... en waar zoek je dan op.....

ff mijn mening

Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 15-09 18:24

dusty

Celebrate Life!

% heeft niets met PHP te maken maar alles met de MYSQL. ;)

dat we uitgaan dat het "even" gevonden moet kunnen worden werd al niet, aangezien je anders wel een slot had gehad.

Het is trouwens redelijk makkelijk om te vinden zoeken op: "IP ADDRESS" SQL SORTING op mysql.com

Zoeken met termen die je dus eigenlijk allemaal zelf wel kent. Terwijl je de functie naam niet weet :)

Bij resultaat 27: MySQL Software / IP address manupulations.

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


Acties:
  • 0 Henk 'm!

  • HenkS
  • Registratie: Mei 2000
  • Laatst online: 11:43

HenkS

Da_king alias HenkS

Topicstarter
dusty schreef op 11 June 2003 @ 21:24:
% heeft niets met PHP te maken maar alles met de MYSQL. ;)

dat we uitgaan dat het "even" gevonden moet kunnen worden werd al niet, aangezien je anders wel een slot had gehad.

Het is trouwens redelijk makkelijk om te vinden zoeken op: "IP ADDRESS" SQL SORTING op mysql.com

Zoeken met termen die je dus eigenlijk allemaal zelf wel kent. Terwijl je de functie naam niet weet :)

Bij resultaat 27: MySQL Software / IP address manupulations.
ja ok, heb je wel gelijk in

en % is wel degelijk een php functie, maar wordt ook in sql gebruikt....
in php gebruik je % om de restwaarde van een deling te bepalen

en de resultaten die jij teruggeeft had ik ook gevonden, en dat zijn anderen dan eerder genoemd in dit topic, want dit zijn user-definable functies, die had ik dus gedownload, gecompiled met mysql enz enz en dit werkte ook perfect. maar eerder genoemde functies zitten al op zichtzelf in mysql en die vind ik dus nergens terug in de mysql manual als ik niet zoek op de functienaam zelf....

maar goed, ieder zijn point-of-view

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 09:15

Janoz

Moderator Devschuur®

!litemod

Geen php functie, maar een operator. Die staat zo ongeveer al op pagina 3 (gokje) van de manual ;) (in het onderdeel operators).

Ikzelf kende de functies van MySQL eigenlijk ook niet uit mijn hoofd. Over het algemeen zoek ik zelf altijd ff om te kijken of het heel makkelijk te vinden is. Als het mij binnen 1 a 2 minuten lukt zouden anderen het ook wel kunnen binnen redelijke tijd.

Deze fincties waren idd ietsje lastiger te vinden (Anders had ik er wel een RTFM slot op gegooid :D ), maar nog steeds niet moeilijk. Staar je niet te veel blind op search engines, zeker niet bij het zoeken naar algemene termen als 'ip-adres' of operator tekens zoals in bovenstaand voorbeeld. Deze ATON en NTOA functies heb ik gevonden in het onderdeel 'functions to use within the where clause' van de mysql manual. Dat lijkt me in principe toch niet zo heel lastig zelf te bedenken?

Juist de php manual vind ik op dit punt een stuk lastiger. Vooral omdat de functies hier zijn gegroepeerd op 'module' en niet echt op functionaliteit. Als je bijvoorbeeld niet weet dat GDLib plaatjes kan maken ben je aangewezen op de search engine om die functionaliteit te vinden. Een betere indeling kan ik trouwens niet verzinnen. Het wordt vooral veroorzaakt doordat de SQL syntax veel beter op te delen is en minder 'uitgebreid' is..

[ Voor 21% gewijzigd door Janoz op 13-06-2003 13:17 ]

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • HenkS
  • Registratie: Mei 2000
  • Laatst online: 11:43

HenkS

Da_king alias HenkS

Topicstarter
ach ja... ieder zijn eigen idee :)

ik vind de php.net site echt makkelijk om wat dan ook te vinden...

was er maar zo'n simpele site voor perl.....

nou ja, ik gebruik de functies nu van harte, dus dank aan allen :D
Pagina: 1