Ankündigung

Einklappen
Keine Ankündigung bisher.

Einen bestimmten Wert in einem Array finden

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Einen bestimmten Wert in einem Array finden

    Hallo zusammen,

    ich möchte prüfen, ob ein bestimmter Wert in einem Array vorhanden ist.

    Hier der Code:

    PHP-Code:
    $statement $pdo->prepare("SELECT alarmplan_nr FROM alarmplaene WHERE alarm='1'");
    $statement->execute();
    $result $statement->fetchAll();


    if(
    in_array("Alarmplan 1"$result))
    {
    echo 
    "OK";
    }
    else
    {
    echo 
    "Wert nicht vorhanden";
    }

    ?>

    // print_r ($result) liefert folgendes Ergebnis

    //Array
    (
    [0] => Array ( [alarmplan_nr] => Alarmplan 1 [0] => Alarmplan 1 )
    [1] => Array ( [alarmplan_nr] => Alarmplan 2 [0] => Alarmplan 2 )
    [2] => Array ( [alarmplan_nr] => Alarmplan 3 [0] => Alarmplan 3 )
    )

    Wert nicht vorhanden 
    Komme trotz intensiver Suche nicht zum Ergebnis.

    Bin nicht auf der Suche nach einem fertigen Code sondern nach für einen Anfänger verständlichen Hinweisen.

    Vielen Dank im voraus.

    Gruß

    pritpal

  • #2
    Bitte PHP oder CODE statt QUOTE (Zitat) für Code verwenden.

    Wenn du schon eine DB hast, warum fragst du nicht gleich ab was du wissen willst? Warum der (imho unnötige) Zwischenschritt über PHP?
    The string "()()" is not palindrom but the String "())(" is.

    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
    PHP.de Wissenssammlung | Kein Support per PN

    Kommentar


    • #3
      Hallo hausl,

      sorry für die falsche Eintragung.

      In meinem Programm kann ich diverse Alarmpläne anlegen und zusätzlich aktivieren und deaktivieren.

      Im Falle dass der Alarmplan aktiviert ist (z. B. also Alarmplan 1) wird durch "require_once" ein Script reingezogen.

      Eine andere Lösung ist mir nicht eingefallen.

      Danke für die schnelle Antwort!

      Gruß

      Pritpal

      Kommentar


      • #4
        Ok, dann kannst du gleich abfragen:
        Code:
        SELECT alarmplan_nr FROM alarmplaene WHERE alarmplan_nr = 'Alarmplan 1' AND alarm='1'
        Wenn ein Satz gefunden wurde bindest du das Script ein, sonst nicht.

        The string "()()" is not palindrom but the String "())(" is.

        Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
        PHP.de Wissenssammlung | Kein Support per PN

        Kommentar


        • #5
          Hallo haul,

          das bedeutet aber auch, dass ich bei 10 Alarmplänen 10 Abfragen machen muss und mit 10 if-Anweisugen
          prüfen muss, ob die Bedingung erfüllt ist. Daher hatte ich daran gedach, nur 1 Abfrage zu starten und das
          Array mit 10 if-Anweisungen zu prüfen.

          Ich denke (weiß es aber auch nicht) das mein Lösungsansatz schneller beim Abarbeiten ist.

          Danke für die Hilfe.

          Gruß

          Pritpal

          Kommentar


          • #6
            as bedeutet aber auch, dass ich bei 10 Alarmplänen 10 Abfragen machen muss
            Das ist aber neu, hast du bisher noch nicht erwähnt.

            => Was hast du den genau vor, erklär mal.

            Bei solchen Pipifax Dingen ist der Overhead sowieso höher als die Abfrage selbst, also bitte vergiss das Thema "schneller" in der Hinsicht mal.

            The string "()()" is not palindrom but the String "())(" is.

            Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
            PHP.de Wissenssammlung | Kein Support per PN

            Kommentar


            • #7
              Du willst in einem multidimensionalen Array suchen, das kann in_array von Haus aus nicht. Auf der Manual-Seite von in_array findest du Beispiele wie du in einem mehrdimensionalen Array suchst:

              http://php.net/manual/de/function.in-array.php

              Oder auch hier:
              https://stackoverflow.com/questions/...ensional-array

              Alternative wäre hier wahrscheinlich alle Alarmpläne abzurufen und wenn alarm = 1 ist das Script reinziehen (und sonst nicht).

              Kommentar


              • #8
                hausl
                Baue mir gerade mit mehreren FTP-Kameras (billige, aber gute China-Ware) ein kleines Überwachungssystem auf.
                Funktioniert alles bereits so wie ich möchte, will aber zusätzlich über eine kostenlose Webseite diverse Einstellungen
                über den PC, Tablet und Smartphone vornehmen können (z. B. Alarmpläne festlegen, Direktzugriff auf Kameras, Alarmpläne
                aktivieren bzw. deaktivieren, Meldungen mit Klingelton aufs Handey).
                Klappt auch alles wenn ich direkt die Scripte aufrufe.

                jonas3344
                danke für die Infos, werde mich da mal durchquälen.

                Gruß

                pritpal

                Kommentar

                Lädt...
                X