Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Problem mit isset()

Einklappen

Neue Werbung 2019

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

  • Gast-Avatar
    Ein Gast erstellte das Thema [Erledigt] Problem mit isset().

    [Erledigt] Problem mit isset()

    Hallo zusammen!

    Ich schein momentan etwas auf der Leitung zu stehen, ich finde einfach keine Lösung für dieses eigentlich "simple" Problem...

    Ich hoffe jemand kann mir da weiterhelfen!

    Ich hab ein Script, in dem werden alle Datensätze einr MySQL-Datenbank angezeigt.
    Nun sind das aber über 2000 Einträge und im Normalfall will man immer nur einen Bruchteil davon sehen (oder gar nur einen).
    Deshalb möchte ich ein paar Filterfunktionen einbauen.

    Ich hab mal mit den Buchstaben angefangen:
    PHP-Code:

    <form name="suchformular" action="start.php?suche=true" method="post" target="_self" >
        <table border="1" align="center">
            <tr>
            <?
                for ($x = 65; $x <= 90; $x++)
                {
                $button = chr($x);
                echo "<td><button name='$button' value='$button' onclick='submit()'>$button</button></td>";
                }
            ?>
                <td><button name="alle" value="alle" onclick="submit()">alle</button></td>
            </tr>
        </table>
    </form>
    --> Buttons von A - Z + Button "alle"

    Nun überprüfe ich welcher Button gedrückt wurde:
    PHP-Code:
    <?
    for ($x = 65; $x <= 90; $x++)
    {
        $button = chr($x);
        if (isset($_POST[$button]))
        $option = $button;
        break;
    }
    ?>
    --> $option wird dann als Parameter in eine Funktion übergeben
    --> $option = "R" --> alle Datensätze die mit "R" beginnen

    Das Problem ist aber, dass $option IMMER "A" ist!
    Ich hab mir das mal mit print_r($_POST) angesehen, und die Ursache gefunden:
    Sobald man auf irgendeinen Button klickt, existieren IMMER alle Werte (A-Z). --> also wird immer bei A schon abgebrochen, auch wenn man NICHT A gedrückt hat...

    Ich hab irgendwo in meinem Script also einen Denkfehler, auf den ich aber einfach nicht drauf komme...

    Weiß jemand wo der Fehler liegt?

    Vielen Dank im Vorraus für jede Antwort!

  • Gast-Avatar
    Ein Gast antwortete
    Vielen Dank für die Hilfe!

    Jetzt funktioniert das Suchen!

    Danke!

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Warum nennst Du denn die Buttons jeweils wie den Wert? Ein Name reicht doch.
    Bei input/submit wird immer nur der Wert des "benutzten" Elements übermittelt.
    PHP-Code:
    <html>
        <body>
    <?php
    if (isset($_POST['filterByFirstChr'])) {
        echo 
    '<h2>Filter: 'htmlentities($_POST['filterByFirstChr']), '</h2>';
    }
    ?>
            <form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>" >
    <?php
    foreach(range('A''Z') as $c) {
        echo 
    '<input type="submit" name="filterByFirstChr" value="'$c'" />';
    }
    ?>
            </form>
        </body>
    </html>

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Poste mal bitte dein ganzes Script mit functionen etc, blick grad nicht ganz durch deine Denkweise

    Einen Kommentar schreiben:

Lädt...
X