true & false
Tom
- php
0 Manny0 Bio0 Andreas Korthaus0 Ralf Rapude0 Ralf Rapude0 Tom0 Ralf Rapude0 Tom
0 Sven Rautenberg
Hallo,
hab das mit PHP und Variablen noch nicht ganz durchschaut. Wenn ich eine Variable habe, die nur "true" oder "false" sein kann, muss ich das dann so schreiben: $var = true oder so: $var = "true"? Und muss ich diese Variable irgendwo vorher als Boolean o.ä. definieren? Und noch was: in was für Feld-Typ speichere ich solche Variablen in einer MySQL-Tabelle?
Danke,
Tom
Hallo
Hmm nein also als Boolean musst du es nicht deklarieren oder aehnliches da bin ich mir sicher und ich glaube das
$var = true
gehen muesste bin mir dabei aber nciht sicher habe selbst naemlich gerade erst angefangen das zu lernen.
Gibt es unter MySql nicht solche Boolean werte ich meine schon oder????
Sup!
Hallo,
hab das mit PHP und Variablen noch nicht ganz durchschaut. Wenn ich eine Variable habe, die nur "true" oder "false" sein kann, muss ich das dann so schreiben: $var = true oder so: $var = "true"?
Ist "true" eine Zeichenkette, oder nicht? Und heisst es dann wohl "true" oder einfach nur true?
Gruesse,
Bio
Hallo!
hab das mit PHP und Variablen noch nicht ganz durchschaut. Wenn ich eine Variable habe, die nur "true" oder "false" sein kann, muss ich das dann so schreiben: $var = true oder so: $var = "true"? Und muss ich diese Variable irgendwo vorher als Boolean o.ä. definieren?
Dem Mann kann geholfen werden:
Einführung: http://php3.de/manual/de/introduction.php
kleines Tutorial: http://php3.de/manual/de/tutorial.php
Grundlagen der Syntax: http://php3.de/manual/de/language.basic-syntax.php
Typen: http://php3.de/manual/de/language.types.php
Variablen: http://php3.de/manual/de/language.variables.php
Ausdrücke: http://php3.de/manual/de/language.expressions.php
Operatoren: http://php3.de/manual/de/language.operators.php
Kontrollstrukturen: http://php3.de/manual/de/control-structures.php
Funktionen: http://php3.de/manual/de/functions.php
Sicherheit: http://php3.de/manual/de/security.php
Das sollte man am Anfang einfach mal durchlesen, das sind die absoluten Grundlagen um mit PHP arbeiten zu können.
Dann solltest Du folgende Bereiche des Manuals kennen um zu wissen wo Du nachschlagen kannst:
Features: http://php3.de/manual/de/features.php
Funktionsreferenz: http://php3.de/manual/de/funcref.php
Viele Grüße
Andreas
Hallo nochmal!
Du hast dieses Problem da Du nicht diese Seite gelesen hast.
Grüße
Andreas
...auch nochmal hallo,
Danke für die Links! Das ist, was ich suche!
Tom
Hi Tom!
...auch nochmal hallo,
Danke für die Links! Das ist, was ich suche!
Falls Du es nicht gemerkt haben solltest, meine Links entsprachen im Großen und Ganzen dem obersten Teil des offiziellen PHP-Manuals:
http://php3.de/manual/de/ <- BOOKMARKEN!
Außerdem solltest Du Dir http://www.php-faq.de/ angucken und bookmarken, darin werde _sehr_ viele Fragen bzgl.PHP beantwortet!
Viele Grüße
Andreas
Moin,
1. true und false sind eigene Datentypen, die du im Gegensatz zu anderen
Sprachen bei PHP nicht vorher als boolean deklarieren mußt. Würdest du
true oder false in Anfuehrungszeichen setzen, waere dieser Datentyp auf
einmal ein String (genauso wuerde aus einem integer auf einmal ein String,
wenn du ihn in Hochkommas setzt). Dann braeuchtest du aber nicht mehr true
oder false schreiben und darauf pruefen, sondern koenntest stattdessen auch
z.B. "ok" oder "falsch" nehmen. Damit verloere die Deklaration als boolean
aber jeglichen Sinn.
2. Unter MySQL kannst du den Typ der Spalte festlegen z.B. als integer,
char, datum oder auch als boolean.
Gruss Ralf
Damit verloere die Deklaration als boolean
Quatsch dass.
Die Definition ueber z.B. $x = "true"; ist gemeint.
Gruss
Ralf
Hallo,
- true und false sind eigene Datentypen, ...
...OK, das hab ich begriffen, Danke!
- Unter MySQL kannst du den Typ der Spalte festlegen z.B. als integer,
char, datum oder auch als boolean.
...ja, danach habe ich gesucht - zunächst aber nur im phpMyAdmin. Und da gibt es "BOOLEAN" nicht (im Pulldown-Menü, wo man den Spalten-Typ festlegen kann).
Tom
...ja, danach habe ich gesucht - zunächst aber nur im phpMyAdmin. Und da gibt es "BOOLEAN" nicht (im Pulldown-Menü, wo man den Spalten-Typ festlegen kann).
Ja. Du musst ein bisschen tricksen und kannst stattdessen auf 0 oder 1
prüfen, d.h. du legst die Spalte als tinyint fest und prüfst dann auf
diese Werte.
Oder du legst dieses fest: char(0). Dann kannst du entweder einen
leeren String da eintragen oder es steht NULL drin und du prüfst dann
auf IS NULL oder IS NOT NULL.
Ist dann beides nicht direkt ein boolean Wert, führt aber zum gleichen
Ergebnis.
Gruss
Ralf
nochmal hallo,
Ja. Du musst ein bisschen tricksen und kannst stattdessen auf 0 oder 1
prüfen, d.h. du legst die Spalte als tinyint fest und prüfst dann auf
diese Werte.
OK, wenn ich das richtig sehe, muss ich dann erst mal meine Variablen umändern, oder?
Also z.B. so:
if ($bool_var == true) $int_var = 0; else $int_var = 1;
...und dann $int_var als TINYINT in die DB eintragen?
Tom
if ($bool_var == true) $int_var = 0; else $int_var = 1;
...und dann $int_var als TINYINT in die DB eintragen?
Ja genau. Und dann spaeter eben auf 0 und 1 pruefen. Was ich eben auch
noch vergass, war die Erklaerung, die ich aber nicht 100% sicher weiss
und mich deshalb gerne eines besseren belehren lasse:
MySQL kennt zwar BOOL als Spaltentyp, interpretiert den aber intern als
0 und 1 (ich vermute mal ein typedef bei der Entwicklung). Deshalb
haben (auch nur Vermutung) wahrscheinlich die PHPMyAdmin Leute drauf
verzeichtet, dass als Spaltentyp anzugeben, denn wenn es sowieso als
tinyint beackert wird, kann mans ja auch gleich so machen.
Gruss
Ralf
Moin!
- Unter MySQL kannst du den Typ der Spalte festlegen z.B. als integer,
char, datum oder auch als boolean.
...ja, danach habe ich gesucht - zunächst aber nur im phpMyAdmin. Und da gibt es "BOOLEAN" nicht (im Pulldown-Menü, wo man den Spalten-Typ festlegen kann).
Nimm "enum" als Typ und gib die möglichen Werte an, die du erlauben willst (beispielsweise "true" und "false").
Enum als Spaltenfeld erlaubt dir, eine Liste von erlaubten Werten anzugeben, von denen bei einem Datensatz jeweils nur ein einziger gesetzt sein kann. Dein Boolean-Problem würde also zwei Werte erlauben.
Außerdem gibts noch "set" als Spaltentyp. Hierbei definierst du wiederum die möglichen Werte, es dürfen aber mehrere dieser Werte gesetzt sein.
Natürlich kannst du deine Boolean-Information in einem beliebigen Datentyp speichern. Du kannst die Strings "true" und "false" in ein Textfeld speichern, du kannst 0 und 1 in einem Zahlenfeld speichern, auch ein Datumsfeld ließe sich entsprechend umbiegen - enum ist in meinen Augen aber das sinnvollste, weil es wirklich _nur_ die definierten Werte annimmt - du hast also immer definierte Daten.
- Sven Rautenberg