Ankündigung

Einklappen
Keine Ankündigung bisher.

Funktion wird nicht aufgerufen

Einklappen

Neue Werbung 2019

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

  • Funktion wird nicht aufgerufen

    Guten Tag Community,

    In PHP bin ich leider noch nicht sehr fortgeschritten, so habe ich das Gefühl, dass ich nur eine Kleinigkeit zu ändern brauche, dann würde es funktionieren, doch ich stehe etwas auf dem Schlauch.

    Ich möchte dass eine SQL Datenbank nach einer ID abgesucht (Reihe) und dann die dazugehörigen Einträge (Fage, Antwort1, Antwort2, Antwort3, Antwort4) ausgelesen und in einer Variable gespeichert werden.
    Dies klappt soweit bereits ganz gut. Nun ist es aber leider notwendig, dass dies nicht nur einmal sondern mehrmals geschieht, mit unterschiedlichen Reihen.
    Um dies zu erreichen dachte ich mir wäre es am Besten alles in eine Funktion zu stecken, welche dann beliebig oft aufgerufen werden kann. Doch da hänge ich fest, möglicherweise rufe ich sie falsch auf.
    Ich wäre sehr froh, wenn jemand da kurz darüberschauen könnte.

    PHP-Code:
    function dbload($index){
    $servername "localhost";
    $username "username";
    $password "passwort";
    $dbname "db";
    $conn = new mysqli($servername$username$password$dbname);
    if (
    $conn->connect_error) {
        die(
    "Connection failed: " $conn->connect_error);
    }

        
    $frage "";
        
    $Frageindex "";
        
    $Antwort1_var "";
        
    $Antwort2_var "";
        
    $Antwort3_var "";
        
    $Antwort4_var "";

                
    $sql "SELECT * FROM Safttyp where i = " $index;
                
    $result $conn->query($sql);

                if (
    $result->num_rows &gt0) {

                    while(
    $row $result->fetch_assoc()) {
                        
    $Frageindex $row["i"];
                        
    $frage $row["Frage"];
                        
    $Antwort1_var $row["Antwort1"];
                        
    $Antwort2_var $row["Antwort2"];
                        
    $Antwort3_var $row["Antwort3"];
                        
    $Antwort4_var $row["Antwort4"];
                    }
                } else {
                    echo 
    "0 results";
        }
        return 
    null;

    Mein Ziel ist es jetzt, dass wenn ich auf einen Button klicke und der Index 1 war, dass ich dann irgendwie die Funktion
    PHP-Code:
    dbload('2'
    ausführen kann und dadurch $frage etc. aktualisiert werden mut den neuen Ergebnissen.

    So sieht mein Verusch bis jetzt aus, doch leider bleibt der Buttontext einfach leer.
    HTML-Code:
    <button id="btn_text" class="button" onclick="<?php dbload(2) ?>" tabindex="1" ><p1><?php echo  $Antwort1_var . "<br>"; ?></p1></button>
    Ich hoffe ihr könnt mir helfen.
    Vielen Dank für euer Zeit!

  • #2
    https://www.php-einfach.de/php-tutorial/
    bitcoin.de <- Meine Freelancerwährung

    Kommentar


    • #3
      onclick ist javascript, du kannst nicht auf diese Art PHP-Funktionen aufrufen. Lies mal über den Unterschied von Client-seitiger (JavaScript) und Server-seitiger Programmierung nach.

      Wenn du etwas JavaScript beherrschst ist AJAX Dein Stichwort, falls nicht, wovon ich jetzt mal ausgehe, würde ich das über ein Affenformular lösen. => https://php-de.github.io/jumpto/affenformular/

      Kommentar


      • #4
        jonas3344 dankeschön, doch AJAX habe ich mal etwas getreift, ich werds versuchen.
        Schönen Abend

        Ah noch eine kleine Frage, die Funktion selber stimmt so? Also die wäre so ausführbar? Dankeschön

        Kommentar


        • #5
          PHP-Code:
          $conn-&gt;connect_error 
          spinnt der editor wieder ?

          Ah noch eine kleine Frage, die Funktion selber stimmt so? Also die wäre so ausführbar? Dankeschön
          entweder return null oder echo "o results" das bringts doch nicht.

          Kommentar


          • #6
            entweder return null oder echo "o results" das bringts doch nicht.
            ups, jeps stimmt XD Ist mir gar nicht aufgefallen, dass ich da zwei drinn hatte, danke

            Kommentar

            Lädt...
            X