|
| 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
| |
|
|