Array mit einer Variable vergleichen
fiftyvinh
- php
Hi!
Ich habe folgendes Problem:
In meiner Datenbank habe ich eine Tabelle. "id, name, zahl" sind die Felder. Nun möchte ich ein Array ausgeben und zwar von den unterschiedlichen Zahlen der IDs. Diese Zahlen sollen dann in einer if-anweisung mit einer Variable verglichen werden. Es soll also überprüft werden, diese Variable in dem Array schon vorhanden ist. Wie realisiere ich das?
MfG
fiftyvinh
Glück auf fiftyvinh!
Es soll also überprüft werden, diese Variable in dem Array schon vorhanden ist. Wie realisiere ich das?
Suchst du vielleicht in_array?
Freundliche Grüße
zwerg Alex
Glück auf fiftyvinh!
Es soll also überprüft werden, diese Variable in dem Array schon vorhanden ist. Wie realisiere ich das?
Suchst du vielleicht in_array?
Freundliche Grüße
zwerg Alex
Damit hab ich es ja schon versucht, aber da kommt immer ein error, von wegen "Wrong datatype for second argument".
in_array($zahl,$arr)
was ist denn falsch daran? $zahl=variable(nen Zahlwert), $arr=schon vorhandenen Zahlen aus der DB
Hello,
was ist denn falsch daran? $zahl=variable(nen Zahlwert), $arr=schon vorhandenen Zahlen aus der DB
kommt darauf an, wie Du die Zahlen aus der Datenbank in Dein Array hinein bekommst. Könntest Du uns das vielleicht mal kurz zeigen?
Ein harzliches Glückauf
Tom vom Berg
http://bergpost.annerschbarrich.de
$query = mysql_query('SELECT * FROM `'.$mysql['table']);
while($row = mysql_fetch_array($query)) {
$arr=$row['zahl'];
}
Hi,
while($row = mysql_fetch_array($query)) {
$arr=$row['zahl'];
}
Das liefert nach Beendigung der Schleife dir kein Array, sondern lediglich den Wert von $row['zahl'] des letzten Datensatzes.
Und damit duerfte wohl auch klar sein, warum in_array() das als falschen Datentyp ansieht.
MfG ChrisB
Hello,
In meiner Datenbank habe ich eine Tabelle. "id, name, zahl" sind die Felder. Nun möchte ich ein Array ausgeben und zwar von den unterschiedlichen Zahlen der IDs. Diese Zahlen sollen dann in einer if-anweisung mit einer Variable verglichen werden. Es soll also überprüft werden, diese Variable in dem Array schon vorhanden ist. Wie realisiere ich das?
Wie wäre es denn, wenn Du der Datenbank den Auftrag geben könntest, Dir gleich das Ergebnis zu liefern? Wäre das ok?
Ein harzliches Glückauf
Tom vom Berg
http://bergpost.annerschbarrich.de
Das soll ja alles in der php-datei geschehen, weil die Variable nicht in der Datenbank liegt.
Ausgelesenes Array wird in einer If-Anweisung mit Variable, also einer Zahl, verglichen.
Hello,
Das soll ja alles in der php-datei geschehen, weil die Variable nicht in der Datenbank liegt.
Ausgelesenes Array wird in einer If-Anweisung mit Variable, also einer Zahl, verglichen.
Naja, ob Du nun die ganzen vielen Werte aus der Datenbank ins PHP-Script transportierst oder eine einzige Variable aus dem PHP in die Datenbank... Meinst Du nicht, dass man das optimieren könnte?
Ein harzliches Glückauf
Tom vom Berg
http://bergpost.annerschbarrich.de
Naja, ob Du nun die ganzen vielen Werte aus der Datenbank ins PHP-Script transportierst oder eine einzige Variable aus dem PHP in die Datenbank... Meinst Du nicht, dass man das optimieren könnte?
sehe ich auch so - man sollte alles die datenbank machen, was nur irgendwie geht - die dinger sind dafür gedacht und SQL kann irrsinnig viel - lesen, ändern, löschen und eintragen ist nicht alles was SQL kann
man kann mit SQL sogar rechnen
SELECT 1+1 ist ein absolut gültiges sql statement
auch wenn die sinnhaftigkeit einer standalone rechnung bisher verborgen blieb
je nach datenbank system kann man sehr viel anstellen - stringmanipulationen oder ähnliches sind nur ein kleiner teil davon
In meiner Datenbank habe ich eine Tabelle. "id, name, zahl" sind die Felder. Nun möchte ich ein Array ausgeben und zwar von den unterschiedlichen Zahlen der IDs. Diese Zahlen sollen dann in einer if-anweisung mit einer Variable verglichen werden. Es soll also überprüft werden, diese Variable in dem Array schon vorhanden ist. Wie realisiere ich das?
Du willst wissen ob die Zahl schon in deiner Table drinnsteht?
Dann mach's doch so, wie Tom vorgeschlagen hat:
Bau die Zahl doch in deine Query ein:
Bsp.: SELECT * FROM table WHERE zahl = '-hier steht deine Zahl-';
Dann kannst du mit
if(mysql_num_rows($result) > 0)
prüfen, ob deine Zahl schon vorhanden ist.
Gruß,
Mike