Ankündigung

Einklappen
Keine Ankündigung bisher.

Funktion mit Ergebnis zurück liefern

Einklappen

Neue Werbung 2019

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

  • Funktion mit Ergebnis zurück liefern

    Hallo

    Ich habe ein Funktion machen wollen, die mir aus eine DB Tabelle, die Anzahl der Reihen zurück liefert.
    Die Abfrage funktioniert, leider liefert mir die Funktion das Ergebnis nicht zurück, kann mir da einer sagen
    was ich verkehrt gemacht habe.


    PHP-Code:
    <?php
      
    function anzahlorte() {
        
    $erg $db->query("SELECT * FROM ort");

        return 
    $erg->num_rows;

      }

      echo(
    anzahlorte());

    ?>


  • #2
    Du solltest das error_reporting und die Fehlerausgabe einschalten. Das würde Dir den Fehler anzeigen:

    https://php-de.github.io/jumpto/faq/#debugging

    Die Varaible $db ist in der Funktion nicht bekannt. Du musst sie als Parameter mitübergeben.

    Kommentar


    • #3
      Wenn wir schon dabei sind, auch lesen: https://php-de.github.io/jumpto/faq/#select-star

      Kommentar


      • #4
        Es ist auch nicht optimal, alle Datensätze abzurufen, um die Anzahl zu bestimmen.
        Lieber die Datenbank zählen und sich nur die Anzahl als Ergebnis liefern lassen:

        PHP-Code:
        $anzahl 0;
        $erg $db->query('SELECT count(*) AS anzahl FROM ort');
        if (
        $erg) {
          
        $res $erg->fetch_assoc();
          
        $anzahl $res['anzahl'];

        Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

        Kommentar


        • #5
          Hallo vielen dank für die Infos, die Tabelle für den Ort ist nicht gross. Max 3 Orte.
          Ich habe nun mal die PHP Fehlermeldungen eingeschaltet, die helfen einem ganz gut

          Trotzdem habe ich nun ein Problem und finde keine Lösung.

          Ich setze folgende Query ab und schreibe das ganze dann in ein array, bzw.
          in ein object, ich weiss leider nicht genau den unterschied, weil der Aufbau ja gleich ist.

          PHP-Code:
              $erg01 $db->query("SELECT * FROM kassys_tb_ort");
              while(
          $row mysqli_fetch_object($erg01)) {
                
          $k_tb_o[] = $row;
              } 
          Die ausgabe sieht dann wie folgt aus.

          PHP-Code:
          Array ( [0] => stdClass Object ( [id_ort] => [ort_name] => Zelt 01 [ort_tischreihen] => 
                  [
          1] => stdClass Object ( [id_ort] => [ort_name] => Zelt 02 [ort_tischreihen] => )

          Wie kann ich jetzt direkt ohne schleife auf den Wert Zelt 01 zugreifen?

          Gruss Sascha







          Kommentar


          • #6
            Etwas vereinfacht:

            Objekt:
            PHP-Code:
            echo $var->wert
            Array:
            PHP-Code:
            echo $var['wert']; 
            Ich würde mysqli_fetch_assoc() verwenden, da du schon draussen einen Array hast.
            Dann hättest du:

            PHP-Code:
            echo $k_tb_o[0]['ort_name']; 

            Kommentar


            • #7
              Zitat von sascha456 Beitrag anzeigen
              PHP-Code:
              Array ( [0] => stdClass Object ( [id_ort] => [ort_name] => Zelt 01 [ort_tischreihen] => )
              [
              1] => stdClass Object ( [id_ort] => [ort_name] => Zelt 02 [ort_tischreihen] => )

              Wie kann ich jetzt direkt ohne schleife auf den Wert Zelt 01 zugreifen?
              Du hast hier ein Array von Objekten. Der Zugriff dafür ist
              PHP-Code:
              echo $k_tb_o[0]->ort_name
              Tipp: Arbeite mit englischen sprechenden Namen für deine Variablen und nicht mit kryptischen Abkürzungen wie $k_tb_o.

              Kommentar

              Lädt...
              X