Avatar billede artico Novice
23. marts 2008 - 18:30 Der er 14 kommentarer og
1 løsning

Finde tal i DB

Jeg har et tal f.eks 725 der bliver $_POSTét og nu vil jeg finde en faktor der passer til i DBén som ser således ud:

id, fra, til, faktor

Værdierne og databasen ser således ud:

fra: 501 til: 1000 faktor: 0,25
fra: 1001 til: 1500 faktor: 0,30
fra: 1501  til: 2000 fakor: 0,31
OSV........

I dette tilfælde hvor tallet er 725 så skal den gerne finde frem til faktor 0,25 i databasen...

Hvordan skal sql sætnigen se ud?
Avatar billede erikjacobsen Ekspert
23. marts 2008 - 18:45 #1
SELECT factor FROM ... WHERE 725>=fra AND 725<=til
Avatar billede artico Novice
23. marts 2008 - 18:55 #2
Kanonnonosssss!
Avatar billede erikjacobsen Ekspert
23. marts 2008 - 19:03 #3
Hvis det virker, så svar blot selv og accepter eget svar. Jeg samler slet ikke på point, tak.
Avatar billede jakobdo Ekspert
23. marts 2008 - 22:13 #4
Eller en lille omskrivning:
SELECT factor FROM ... WHERE 725 BETWEEN fra AND til
Avatar billede showsource Seniormester
23. marts 2008 - 23:14 #5
Og så vidt jeg ved, ser php alle posts som en streng, ikke et tal, ( integer ) så:

SELECT factor FROM ... WHERE ".(int)$_POST["tal"].">=fra AND ".(int)$_POST["tal"]."<=til
eller
SELECT factor FROM ... WHERE ".(int)$_POST["tal"]." BETWEEN fra AND til

(int) "laver" din post til en integer
Avatar billede jakobdo Ekspert
24. marts 2008 - 08:36 #6
Eller intval($_POST['tal'])
Avatar billede erikjacobsen Ekspert
24. marts 2008 - 08:43 #7
Men det skal jo igen være en streng i SQL-sætningen - skal vi ikke antage at der er checket og valideret inden vi kommer helt ned til SQL?
Avatar billede jakobdo Ekspert
24. marts 2008 - 12:37 #8
Erik: Sådanne ting må man ikke antage her på exp.dk :o)
Avatar billede artico Novice
24. marts 2008 - 15:23 #9
Altså 725 bliver postet igennem fra en formular, database tabellen er varchar, skal den vøre int ? eller hvad mener i
Avatar billede erikjacobsen Ekspert
24. marts 2008 - 15:29 #10
Felterne fra og til skal være tal-felter.

Hvis ikke der inden SQL-en er sikret, at det står tal i det indtastede, kan man få sjove resultater med SQL, og med de heltals-konverteringer I har foreslået ;)
Avatar billede jakobdo Ekspert
24. marts 2008 - 15:30 #11
Tal skal altid gemmes som INT. (INTEGER)
Int/integer = heltal.
Skal du gemme decimal tal, så brug decimal eller float.
Avatar billede artico Novice
24. marts 2008 - 16:10 #12
OKI, tak for det, jeg blir sku så klog ... herinde :-)
Avatar billede artico Novice
22. april 2011 - 18:43 #13
Lukkes, send svar
Avatar billede jakobdo Ekspert
23. april 2011 - 07:30 #14
Svar!
Avatar billede jakobdo Ekspert
30. april 2011 - 16:47 #15
Takker for point.
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