PHP 1;2;3 mit bestimmten wert vergleichen.
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
attribut
bit
code
datenbank
ergebnis
falle
greifen
http
laie
normalform
operator
prinzip
sagen
set
spalte
sperren
string
struktur
url
weg
-
Hallo LC,
Erstmal wollte ich sagen sry für Titel. Ich wusste nicht wie man das nennt.
Ich speichere mehrher werte in meine Datenbank. Und Platz zu sparen speichere ich die werte in eine spalte und trenne sie mit ; z.b. 1;2;3;5; und nun will ich überprüfen ob einer dieser werte mit den aus meiner variable übereinstimmt. $Variable = "3"; und wenn ja soll er was bestimmtes machen. kann mir wer dabei helfen?
LG
Chrissi -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Der Sinn hinter einer Datenbank ist eben genau der, dass man Werte getrennt voneinander Abspeichern kann (nicht wie in einer Datei alles hintereinander).
Immer wenn du zum Ergebnis kommst, mehrere Werte in einer Spalte abspeichern zu müssen, solltest du dein Datenhaltungssystem überdenken.
nichtsdestotrotz:
für dein Problem sollte die Funktion split(...); genügen.
mfg -
Ja. Am besten änderst du die Datenbank Struktur, damit sie der erste Normalform entspricht: Alle Attribute sind atomisch!
Ansonsten ist es wichtig zu wissen, bis wie viel diese Zahlen gehen. Wenn sie immer nur einstellig sind, wäre ein einfaches LIKE '%5%' schon genügend.
Wenn du sicher bist, dass du auf die erste Normalform scheißt und weniger als 64 Werte hast, könntest du zu einem SET greifen und mittels Bit-Operatoren die richtigen Werte finden (ist für den Laien nicht unbedingt durchschaubar.) -
naja. Ich sage mal wofür ich das brauche. Ich möchte usern bestimmten usern von einer Seite sperren.
Und ich Speicher die User ID in der DB. Userid1;Userid58;Userid2; usw. Ich weiß nicht genau wie viele User gesperrt werden. Die User ID ist nicht nur 1 stellig.
LG
Chrissi -
$banned = "1;2;3;4;5"; $buser = explode(";", $banned); if(in_array(3, $buser)) { // tu irgendwas... }
Simples Beispiel. Hier wird erst Der String $banned mittels explode in ein Array konvertiert und dann mittels in_array geprüft, ob ID 3 darin vorkommt.
Im Prinzip führen in diesem Falle sogar mehrere Wege nach Rom.
Beitrag zuletzt geändert: 2.6.2010 13:39:41 von fabo -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage