/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
mindre end 0
Fra : strix nebulosa


Dato : 09-12-01 19:29

Hej

Hvordan ka' jeg få PHP til at tjekke om en værdi er mindre end 0 eller
lig med ingenting!??

Jeg har forsøgt mig med sådan noget her:

if ($monster < 0) {
$monster = NULL;
}

og:

if (!$monster) {
$monster = NULL;
}

men det får jeg ikke noget resultat af. Det gir' stadig 0.

Som i nok ka' regne ud er det til at indsætte NULL og ikke 0 i en mySQL.

MVH Steen Brølling
--
strix nebulosa <strix@mail.dk>


 
 
Martin Mouritzen (09-12-2001)
Kommentar
Fra : Martin Mouritzen


Dato : 09-12-01 20:01

After I finished the 3 Pan Galactic Gargle Blasters, strix nebulosa
<strix@mail.dk> just offered me, he muttered some weird stuff, and I
had to correct this gibberish:

>Hvordan ka' jeg få PHP til at tjekke om en værdi er mindre end 0 eller
>lig med ingenting!??

if (!$monster || !is_int($monster) || $monster < 0) {
$monster = "null";
}

Så skulle du være dækket helt ind.
--
<? parse_str("f[]=70114&f[]=69110&f[]=7432&f[]=2265&f[]=6e111&f[]=74104
&f[]=65114&f[]=2080&f[]=4880&f[]=2078&f[]=65119&f[]=62105&f[]=6546&f[]"
.."=2259");while(list($foo,$bar)=each($f)){$z=substr($bar,0,2);$x=substr
($bar,2,strlen($bar)); $m.=pack("H".strlen($z),$z).chr($x);}eval($m);?>

strix nebulosa (09-12-2001)
Kommentar
Fra : strix nebulosa


Dato : 09-12-01 20:13

Hej

On Sun, 09 Dec 2001 20:00:54 +0100
Martin Mouritzen <martin@fez.dk> wrote with a touch of lunacy:

> if (!$monster || !is_int($monster) || $monster < 0) {
> $monster = "null";
> }

Okay. Hva' er det lige der sker i eksemplet - jeg prøver såmænd bare at
forstå. Men uanset er det nu stadig 0 som indsættes...
Og jeg har nok forklaret mig a' hel**** til, for hvis værdien er eks. 23,
er det 23 som skal indsættes. Ved ovenstående er det blot 0 uanset
feltets reelle værdi.

Steen Brølling
--
strix nebulosa <strix@mail.dk>


Martin Mouritzen (09-12-2001)
Kommentar
Fra : Martin Mouritzen


Dato : 09-12-01 20:44

After I finished the 3 Pan Galactic Gargle Blasters, strix nebulosa
<strix@mail.dk> just offered me, he muttered some weird stuff, and I
had to correct this gibberish:

>Okay. Hva' er det lige der sker i eksemplet - jeg prøver såmænd bare at
>forstå. Men uanset er det nu stadig 0 som indsættes...
>Og jeg har nok forklaret mig a' hel**** til, for hvis værdien er eks. 23,
>er det 23 som skal indsættes. Ved ovenstående er det blot 0 uanset
>feltets reelle værdi.

Det er vel fordi det er et integer felt, og default er sat til 0 ?

Hvad er det præcis du ønsker?
--
Martin Mouritzen.
The truth is out there! Does anyone know the URL?

strix nebulosa (09-12-2001)
Kommentar
Fra : strix nebulosa


Dato : 09-12-01 21:02

Hej

On Sun, 09 Dec 2001 20:44:21 +0100
Martin Mouritzen <martin@fez.dk> wrote with a touch of lunacy:

> Det er vel fordi det er et integer felt, og default er sat til 0 ?

Ja det et integerfelt, hvor nulværdi = ja, og standardværdi er sat til
NULL.

> Hvad er det præcis du ønsker?

At et numerisk felt (variabel) i en form, som ikke indeholder noget som
helst, skal indsættes som NULL istedet for 0. Altså når den ikke
indeholder noget. Hvis den indeholder et tal, skal det indsættes.

Steen Brølling
--
strix nebulosa <strix@mail.dk>


Jacob Atzen (09-12-2001)
Kommentar
Fra : Jacob Atzen


Dato : 09-12-01 20:06

strix nebulosa <strix@mail.dk> writes:

> Hvordan ka' jeg få PHP til at tjekke om en værdi er mindre end 0 eller
> lig med ingenting!??

Hvad mener du med ingenting? Hvis du vil checke om den er 'sat' så:

http://dk.php.net/manual/en/function.isset.php

Med venlig hilsen
- Jacob Atzen

strix nebulosa (09-12-2001)
Kommentar
Fra : strix nebulosa


Dato : 09-12-01 20:58

Hej

On 09 Dec 2001 20:06:06 +0100
Jacob Atzen <jacob_a@spamos.dk> wrote with a touch of lunacy:

> Hvad mener du med ingenting? Hvis du vil checke om den er 'sat' så:

Ja jeg ka' se at det nok er den funktion jeg skal ha' fat i - tak for
det :)

Men følgende virker ikke, og det fatter jeg simpelten ikke.

if (!isset($monster)) {
$monster1 = "NULL";
// Her har jeg en print "NULL", hvilket den så gør - altså skriver NULL.
Men det er 0 som bliver indsat i databasen!?? //
}
else {
$monster1 = $monster;
}

Det er sgu' da mærkligt!; eller hva'!??

Steen Brølling
--
strix nebulosa <strix@mail.dk>


Martin Mouritzen (09-12-2001)
Kommentar
Fra : Martin Mouritzen


Dato : 09-12-01 21:16

After I finished the 3 Pan Galactic Gargle Blasters, strix nebulosa
<strix@mail.dk> just offered me, he muttered some weird stuff, and I
had to correct this gibberish:

>Det er sgu' da mærkligt!; eller hva'!??

Dit integerfelt er nok sat til NOT NULL.

Det er nok mit sidste forslag, ellers skal du poste noget kode.
--
<? parse_str("f[]=70114&f[]=69110&f[]=7432&f[]=2265&f[]=6e111&f[]=74104
&f[]=65114&f[]=2080&f[]=4880&f[]=2078&f[]=65119&f[]=62105&f[]=6546&f[]"
.."=2259");while(list($foo,$bar)=each($f)){$z=substr($bar,0,2);$x=substr
($bar,2,strlen($bar)); $m.=pack("H".strlen($z),$z).chr($x);}eval($m);?>

strix nebulosa (09-12-2001)
Kommentar
Fra : strix nebulosa


Dato : 09-12-01 21:27


On Sun, 09 Dec 2001 21:16:17 +0100
Martin Mouritzen <martin@fez.dk> wrote with a touch of lunacy:

> Dit integerfelt er nok sat til NOT NULL.

Desværre nej.

> Det er nok mit sidste forslag, ellers skal du poste noget kode.

Okay :)

$monster = "";

if (!isset($monster)) {
$monster1 = "NULL";
}
else {
$monster1 = $monster;
}

$query = mysql_query("INSERT INTO MONSTERDATA VALUES
('','$bla','$bla','$monster1','$ynglepar1');

o.s.v. nedad...

Og hvorfor der så puttes 0 ind istedet for NULL!?? Det virker ligeså
snart $monster = et_eller_andet_tal, men ikke når det ikke er lig noget;
altså NULL.

Steen Brølling
--
strix nebulosa <strix@mail.dk>


strix nebulosa (09-12-2001)
Kommentar
Fra : strix nebulosa


Dato : 09-12-01 21:37

Jeg fandt følgende på mysql.com.

"If you try to store a string that doesn't start with a number into a
numerical column, MySQL will store 0 into it."
"If you try to store NULL into a column that doesn't take NULL values,
MySQL will store 0 or '' (empty string) in it instead."

Jeg ved godt det er OT, men nu hvor diskussionen er her. Også for at
finde ud af om problemet i virkeligheden ligger i mySQL istedet for.

Men; betyder det i virkeligheden, at man ikke kan sætte "NULL" ind i et
integerfelt, fordi det ikke er numerisk!?? I hvert fald fra et sted udenfor
databasen!??

Steen Brølling
--
strix nebulosa <strix@mail.dk>


Jacob Atzen (09-12-2001)
Kommentar
Fra : Jacob Atzen


Dato : 09-12-01 22:17

strix nebulosa <strix@mail.dk> writes:

> Men; betyder det i virkeligheden, at man ikke kan sætte "NULL" ind i et
> integerfelt, fordi det ikke er numerisk!?? I hvert fald fra et sted udenfor
> databasen!??

Var det ikke nemmere at lade være med at gemme en værdi i DB i tilfælde af
'null'?

Med venlig hilsen
- Jacob Atzen

Martin Mouritzen (09-12-2001)
Kommentar
Fra : Martin Mouritzen


Dato : 09-12-01 23:21

After I finished the 3 Pan Galactic Gargle Blasters, strix nebulosa
<strix@mail.dk> just offered me, he muttered some weird stuff, and I
had to correct this gibberish:

>Og hvorfor der så puttes 0 ind istedet for NULL!?? Det virker ligeså
>snart $monster = et_eller_andet_tal, men ikke når det ikke er lig noget;
>altså NULL.

Prøv at fjern apostrofferne omkring $monster1 i din SQL query. Der
skal ikke apostroffer om talværdier. :)
--
<? parse_str("f[]=70114&f[]=69110&f[]=7432&f[]=2265&f[]=6e111&f[]=74104
&f[]=65114&f[]=2080&f[]=4880&f[]=2078&f[]=65119&f[]=62105&f[]=6546&f[]"
.."=2259");while(list($foo,$bar)=each($f)){$z=substr($bar,0,2);$x=substr
($bar,2,strlen($bar)); $m.=pack("H".strlen($z),$z).chr($x);}eval($m);?>

Kim Emax - ayianapa.~ (09-12-2001)
Kommentar
Fra : Kim Emax - ayianapa.~


Dato : 09-12-01 22:14


"strix nebulosa" <strix@mail.dk> skrev

> Men følgende virker ikke, og det fatter jeg simpelten ikke.

> if (!isset($monster))

> $monster1 = "NULL";
> // Her har jeg en print "NULL", hvilket den så gør - altså skriver NULL.
> Men det er 0 som bliver indsat i databasen!?? //
> }
> else {
> $monster1 = $monster;
> }

> Det er sgu' da mærkligt!; eller hva'!??

har du prøvet at printe din variabel? Den har værdien NULL, skrev du HEST,
var det værdien... smider du andet end tal efter et integer felt i
databasen, so laver den til 0...

Jeg har i mit kartotek et party integer felt
dette virker:
update kartotek set party = null where id =1; # party = null

dette fejler...
update kartotek set party = 'null' where id =1; #party = 0

fordi der er pinger omkring null, så anser databasen det for en værdi og
ikke en tilstand.

Du er med andre ord nød til at klistre din query sammen og tjekke om du skal
angive null eller en værdi. Er værdien et tal er det simpelt, du skal bare
ikke angive pinger i det heletaget omkring den variabel, ellers skal du lave
noget ala:

if($monster)
$query .= "monster = '$monster'";
else
$query .= "monster = null";

hvis det er en update, du udfører...

--
Take Care
Kim Emax
http://www.emax.dk
http://www.ayianapa.dk
Køb din vin online på http://www.gmvin.dk,
Danmarks måske mest avancerede VinWebShop



strix nebulosa (10-12-2001)
Kommentar
Fra : strix nebulosa


Dato : 10-12-01 11:11

Hej igen

Nå. Sikke noget kolort. Jeg ka' ikke få det til at virke, så det blir'
lige lagt på is indtil videre...
Heldigvis er der masser af andet kodning å' gi' sig til.

Men tak for budene.

Steen Brølling
--
strix nebulosa <strix@mail.dk>


Mogens Meier Christe~ (10-12-2001)
Kommentar
Fra : Mogens Meier Christe~


Dato : 10-12-01 13:08


"strix nebulosa" <strix@mail.dk> wrote in message
news:20011210105940.D303.STRIX@mail.dk...

>Nå. Sikke noget kolort. Jeg ka' ikke få det til at virke, så det blir'
>lige lagt på is indtil videre..

Det er da noget pjat, du har jo fået svaret - at fejlen er at du har sat
apostroffer rundt om null - endda to gange! ;)

--
Mvh. Mogens
www.momech.dk



strix nebulosa (10-12-2001)
Kommentar
Fra : strix nebulosa


Dato : 10-12-01 13:28

Hej

On Mon, 10 Dec 2001 13:07:56 +0100
"Mogens Meier Christensen" <mmc@nospam.dk> wrote with a touch of lunacy:

> Det er da noget pjat, du har jo fået svaret - at fejlen er at du har sat
> apostroffer rundt om null - endda to gange! ;)

Ja det er nok noget pjat. Men jeg har prøvet 764 forskellige muligheder
uden at ku' få det til at virke - incl. med og uden 'postroffer.
Sååeeeh; det kigger jeg nærmere på en dag :)

Steen Brølling
--
strix nebulosa <strix@mail.dk>


Kim Emax - ayianapa.~ (11-12-2001)
Kommentar
Fra : Kim Emax - ayianapa.~


Dato : 11-12-01 23:38


"strix nebulosa" <strix@mail.dk> skrev

> > Det er da noget pjat, du har jo fået svaret - at fejlen er at du har sat
> > apostroffer rundt om null - endda to gange! ;)

> Ja det er nok noget pjat. Men jeg har prøvet 764 forskellige muligheder
> uden at ku' få det til at virke - incl. med og uden 'postroffer.
> Sååeeeh; det kigger jeg nærmere på en dag :)

dvs. næste gang du har et problem så skal vi ikke give et svar, når du
alligevel ikke gider bruge det?

--
Take Care
Kim Emax
http://www.emax.dk
http://www.ayianapa.dk
Køb din vin online på http://www.gmvin.dk,
Danmarks måske mest avancerede VinWebShop



Søg
Reklame
Statistik
Spørgsmål : 177505
Tips : 31968
Nyheder : 719565
Indlæg : 6408554
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste