PDA

Bekijk Volledige Versie : met mysql-query oneven nummers uit datbase halen



Rob
21/11/07, 02:11
Hallo,

Ik heb een MySql-database met daarin 500 huisnummers in 1 straat.
Dit zijn zowel de even als de oneven huisnummers van 1 t/m 500.

Hoe kan ik nu m.b.v. php de oneven huisnummers van 121 t/m 329 hier uit
vissen?

Iets in trant van

select * from adressen where huisnr......

Ik heb wel php-voorbeelden gevonden om te controleren of 1 getal even of
oneven is, maar volgens mij is dat niet de goede manier.

Kan iemand me helpen?

Alvast bedankt,
Rob

Erick T. Barkhuis
21/11/07, 02:11
Rob:

> Hoe kan ik nu m.b.v. php de oneven huisnummers van 121 t/m 329 hier uit
> vissen?
>
> Iets in trant van
>
> select * from adressen where huisnr......

WHERE huisnr%2=1;

--
Erick

Rob
21/11/07, 02:11
In article <MPG.21ad58848d56c0e398a84c@news.individual.net>, erick.use-
net@ardane.c-o-m says...
> Rob:
>
> > Hoe kan ik nu m.b.v. php de oneven huisnummers van 121 t/m 329 hier uit
> > vissen?
> > Iets in trant van
> > select * from adressen where huisnr......
>
> WHERE huisnr%2=1;

Dank je Erick,

Ik snap de notatie niet, maar het werkt wel.
En WHERE huisnr%2!=1 levert de even huisnummers op.
Kan ik op een even simpele manier ook de huisnummers zoeken tussen 121
en 329?

Ik zou ook geholpen zijn met een linkje naar uitleg over deze zaken.
Zit al een hele tijd te googelen op php-tutorials, maar met weinig
resultaat.

groet,
Rob

Erick T. Barkhuis
21/11/07, 02:11
Rob:
> In article <MPG.21ad58848d56c0e398a84c@news.individual.net>, erick.use-
> net@ardane.c-o-m says...
> > Rob:
> >
> > > Hoe kan ik nu m.b.v. php de oneven huisnummers van 121 t/m 329 hier uit
> > > vissen?
> > > Iets in trant van
> > > select * from adressen where huisnr......
> >
> > WHERE huisnr%2=1;

> Ik snap de notatie niet, maar het werkt wel.

De notatie betekent "modulo" en heeft te maken met de restwaarde na
deling.
20%3=2, want 20 gedeeld door drie is "zes rest twee".
22%7=1, want 21 gedeeld door zeven is "drie rest een".


> En WHERE huisnr%2!=1 levert de even huisnummers op.
> Kan ik op een even simpele manier ook de huisnummers zoeken tussen 121
> en 329?

Dat doe je door een beetje met voorwaarden te combineren:

WHERE huisnr%2=1 AND huisnr>120 AND huisnr<330

>
> Ik zou ook geholpen zijn met een linkje naar uitleg over deze zaken.
> Zit al een hele tijd te googelen op php-tutorials, maar met weinig
> resultaat.

Het MySQL-handboek is je vriend.
Of gewoon een tutorial op het gebied van MySQL.
http://www.tizag.com/mysqlTutorial/
Let wel even op de MySQL-versies die in omloop zijn. Ze verschillen
danig.

Overigens zou ik, als ik helemaal nieuw was op dat gebied, een
Nederlandstalig boek kopen of lenen. Dat leest prettiger, lijkt me. En
mocht je het nog ergens kunnen vinden: een heel leuke inleiding zou de
Teleac-cursus Database Management uit 1992 kunnen zijn. Niet specifiek
MySQL, natuurlijk, maar wel erg verhelderend.


--
Erick

Rob
21/11/07, 02:11
In article <MPG.21ad5f5b559b970f98969d@news.xs4all.nl>, nospam@plea.se
says...
> In article <MPG.21ad58848d56c0e398a84c@news.individual.net>, erick.use-
> net@ardane.c-o-m says...
> > Rob:
> >
> > > Hoe kan ik nu m.b.v. php de oneven huisnummers van 121 t/m 329 hier uit
> > > vissen?
> > > Iets in trant van
> > > select * from adressen where huisnr......
> >
> > WHERE huisnr%2=1;
>
> Dank je Erick,
>
> Ik snap de notatie niet, maar het werkt wel.
> En WHERE huisnr%2!=1 levert de even huisnummers op.
> Kan ik op een even simpele manier ook de huisnummers zoeken tussen 121
> en 329?
>
> Ik zou ook geholpen zijn met een linkje naar uitleg over deze zaken.
> Zit al een hele tijd te googelen op php-tutorials, maar met weinig
> resultaat.
>
ok, ik ben er al uit, was inderdaad simpel met < > =< >=

Rob

Erick T. Barkhuis
21/11/07, 02:11
Erick T. Barkhuis:

> > Ik snap de notatie niet, maar het werkt wel.
>
> De notatie betekent "modulo" en heeft te maken met de restwaarde na
> deling.
> 20%3=2, want 20 gedeeld door drie is "zes rest twee".
> 22%7=1, want 21 gedeeld door zeven is "drie rest een".

.....en 22!=21 :-(

Rob
21/11/07, 02:11
In article <MPG.21ad628bf5b6a16098a84d@news.individual.net>, erick.use-
net@ardane.c-o-m says...
> Rob:
> > In article <MPG.21ad58848d56c0e398a84c@news.individual.net>, erick.use-
> > net@ardane.c-o-m says...
> > > Rob:
> > >
> > > > Hoe kan ik nu m.b.v. php de oneven huisnummers van 121 t/m 329 hier uit
> > > > vissen?
> > > > Iets in trant van
> > > > select * from adressen where huisnr......
> > >
> > > WHERE huisnr%2=1;
>
> > Ik snap de notatie niet, maar het werkt wel.
>
> De notatie betekent "modulo" en heeft te maken met de restwaarde na
> deling.
> 20%3=2, want 20 gedeeld door drie is "zes rest twee".
> 22%7=1, want 21 gedeeld door zeven is "drie rest een".
>
>
> > En WHERE huisnr%2!=1 levert de even huisnummers op.
> > Kan ik op een even simpele manier ook de huisnummers zoeken tussen 121
> > en 329?
>
> Dat doe je door een beetje met voorwaarden te combineren:
>
> WHERE huisnr%2=1 AND huisnr>120 AND huisnr<330
>
> >
> > Ik zou ook geholpen zijn met een linkje naar uitleg over deze zaken.
> > Zit al een hele tijd te googelen op php-tutorials, maar met weinig
> > resultaat.
>
> Het MySQL-handboek is je vriend.
> Of gewoon een tutorial op het gebied van MySQL.
> http://www.tizag.com/mysqlTutorial/
> Let wel even op de MySQL-versies die in omloop zijn. Ze verschillen
> danig.
>
> Overigens zou ik, als ik helemaal nieuw was op dat gebied, een
> Nederlandstalig boek kopen of lenen. Dat leest prettiger, lijkt me. En
> mocht je het nog ergens kunnen vinden: een heel leuke inleiding zou de
> Teleac-cursus Database Management uit 1992 kunnen zijn. Niet specifiek
> MySQL, natuurlijk, maar wel erg verhelderend.

Nee, niet helemaal nieuw op dit gebied, en met trial en error kom ik
vaak heel ver. Toch mis ik regelmatig kennis van hele basale dingen,
gewoon omdat ik ze blijkbaar nog nooit nodig heb gehad.
Gelukkig zijn er tutorials en nieuwgroepen!

Database Management uit 1992.... iets met telramen of zo?
Of dBase, daar heb ik vroeger wel eens mee gestoeid.

groeten,
Rob

Mark van Ketel
21/11/07, 17:08
On 20-11-2007 20:48, Erick T. Barkhuis wrote:
> Rob:
>
>> Hoe kan ik nu m.b.v. php de oneven huisnummers van 121 t/m 329 hier uit
>> vissen?
>>
>> Iets in trant van
>>
>> select * from adressen where huisnr......
>
> WHERE huisnr%2=1;
>

.... en wat nu als het huisnummer 21g of 25bis is ...
werkt dat dan nog?

Mark

--
weblog : http://www.masadsign.nl/logout/

Rik Wasmus
21/11/07, 17:08
On Wed, 21 Nov 2007 11:21:37 +0100, Mark van Ketel
<mvketel@NOSPAMpurmerend.org> wrote:

> On 20-11-2007 20:48, Erick T. Barkhuis wrote:
>> Rob:
>>
>>> Hoe kan ik nu m.b.v. php de oneven huisnummers van 121 t/m 329 hier
>>> uit vissen?
>>>
>>> Iets in trant van select * from adressen where huisnr......
>> WHERE huisnr%2=1;
>>
>
> ... en wat nu als het huisnummer 21g of 25bis is ...
> werkt dat dan nog?

Precies een reden waarom je toevoegingen aan het huisnummer meestal in een
ander veld in de database op slaat.

--
Rik Wasmus

Erick T. Barkhuis
21/11/07, 17:08
Mark van Ketel:
> On 20-11-2007 20:48, Erick T. Barkhuis wrote:
> > Rob:
> >
> >> Hoe kan ik nu m.b.v. php de oneven huisnummers van 121 t/m 329 hier uit
> >> vissen?
> >>
> >> Iets in trant van
> >>
> >> select * from adressen where huisnr......
> >
> > WHERE huisnr%2=1;
> >
>
> ... en wat nu als het huisnummer 21g of 25bis is ...
> werkt dat dan nog?

Kwestie van definitie. Is 21a oneven, en 21b even, misschien?
Hoe zit dat met "Woonark Weltevree, Lange Kade t/oNr. 16, Mokum"?

Modulo-bewerkingen zijn bedoeld voor integers, en voor niets anders. Heb
je dus velden die bestaan uit willekeurige strings, dan moet je iets
anders gaan bedenken.

Mocht je database-systeem modern en uitgebreid genoeg zijn, dan zou je
middels stored procedures gebruik kunnen maken van functies die het
numerieke gedeelte er uit plukken, en daarop de modulo-functie loslaten.

Mijn oplossing zou overigens zijn om huisnummers en huisnummer-
toevoegingen ("drie hoog, achter", of "waar de gele brommer voor de deur
staat") apart op te slaan.

--
Erick

Ronald Klip
21/11/07, 17:08
Op Wed, 21 Nov 2007 11:36:16 +0100 schreef Erick T. Barkhuis:

[huisnummers opslaan in db]

> Mijn oplossing zou overigens zijn om huisnummers en huisnummer-
> toevoegingen ("drie hoog, achter", of "waar de gele brommer voor de deur
> staat") apart op te slaan.

Doet me denken aan de fijne adressen in Nicaragua:

"Donde fue Lacmiel, 2 cuadras arriba, 1/2 cuadra al sur (translated: where
previously was located Lacmiel 2 blocks east, 1/2 block south)."

(uit http://www.vianica.com/nicaragua/14-addresses.html )

Op zich is het handig dat het adres meteen een routebeschrijving is. Maar
het lijkt me lastig om er een statistische analyse op te draaien :)

--
groet, Ronald

Erick T. Barkhuis
21/11/07, 17:08
Ronald Klip:
> Op Wed, 21 Nov 2007 11:36:16 +0100 schreef Erick T. Barkhuis:
>
> [huisnummers opslaan in db]
>
> > Mijn oplossing zou overigens zijn om huisnummers en huisnummer-
> > toevoegingen ("drie hoog, achter", of "waar de gele brommer voor de deur
> > staat") apart op te slaan.
>
> [fijne adressen in Nicaragua:]
>
> "Donde fue Lacmiel, 2 cuadras arriba, 1/2 cuadra al sur (translated: where
> previously was located Lacmiel 2 blocks east, 1/2 block south)."
>
> Op zich is het handig dat het adres meteen een routebeschrijving is. Maar
> het lijkt me lastig om er een statistische analyse op te draaien :)

Zo is dat.
Anno 2007 wordt het hoog tijd om adressen met huisnummers te vervangen
door GPS-coordinaten. Zijn we ook meteen van dat geharrewar met al die
verschillende postcodes in deze wereld af.

--
Erick
"Wilt u de post bezorgen op 53.896658N, 5.944528E, alstublieft? U ziet
daar een groen IN-bakje op het dressoir staan. Legt u het daar maar in."

Richard van den Berg
21/11/07, 17:08
On Wed, 21 Nov 2007 13:58:32 +0100 Erick T. Barkhuis
(erick.usenet@ardane.c-o-m) wrote:

> Zo is dat.
> Anno 2007 wordt het hoog tijd om adressen met huisnummers te vervangen
> door GPS-coordinaten. Zijn we ook meteen van dat geharrewar met al die
> verschillende postcodes in deze wereld af.

> --
> Erick
> "Wilt u de post bezorgen op 53.896658N, 5.944528E, alstublieft? U ziet
> daar een groen IN-bakje op het dressoir staan. Legt u het daar maar in."

Doe het dan beter en zet de hoogte erbij. Is er een internationaal
gemeenschappelijk peil? Zeeniveau kan wel eens wat huishoudens
verschillen.

--
Richard
e-mail: vervang/replace invalid door/with NL.net