fiftyvinh: Array mit einer Variable vergleichen

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

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

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

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

        --
        Nur selber lernen macht schlau
        1. $query = mysql_query('SELECT * FROM `'.$mysql['table']);
          while($row = mysql_fetch_array($query)) {
           $arr=$row['zahl'];
          }

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

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

    --
    Nur selber lernen macht schlau
    1. 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.

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

        --
        Nur selber lernen macht schlau
        1. 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

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