php Daten für Filter setzen

CarlosPF

Grünschnabel
Hallo,
ich arbeite schon seit Tagen an einem wahrscheinlich kleinem Problem. Ich habe eine Datenbank (MSQl) und will einen Filter mit einem Klick auf einen Button setzen. Es sollen ca. 20 Button erscheinen und jeder soll einen anderen filter auf die Kategorien setzen. Z.B.: Button1 übergibt an Filter eine 1 und es erscheint eine gefilterte Auflistung der Daten. Ich hab schon Tonnen von Seiten gelesen, aber alles ist total kompliziert und mit Jawa verknüpft. Die Button sind alle in einer Tabelle und an jedem Button hängt noch eine If Abfrage, da er nur zu bestimmten Zeiten aktiv sein soll.

Es wäre toll wenn mich einer von dem Problem erlösen könnte.
 
Willst Du die Ergebnisse aus deiner Datenbank noch zusätzlich "filtern" bzw. "ordnen" können? Habe ich das richtig verstanden?

Beispiel:
1980 | Pop | Rock | Classic
1990 | Pop | Rock | Classic
1982 | Pop | Rock | Classic
1991 | Pop | Rock | Classic

Möchtest Du nun auf "Jahr" klicken damit die Anzeige geordnet (Auf-/Absteigend usw.) wird?
 
Danke für die schnelle Antwort.

Nein. Er soll beim clicken nur bestimmte Datensätze abrufen und anzeigen. Dafür gibt es eine Katekorie_-Spalte in der vielleicht 10 mal die 1 vorkommt.
Klick ich jetzt auf button 1 dann zeigt er mir nur die 10 Sätze an in denen die 1 vorkommt. Manuell kann ich den Filter setzen mit z.B.:
$kate = 1 , dann macht er es auch.

Das geht, aber wie bekomme ich den wert "1" über die Button und beim zweiten Button den wert "2".


Danke
 
Von der Idee her:

HTML:
<form action="die-datei.php" method="post">
    <input type="submit" name="wert" value="1" />
</form>

Dann hast du den Wert in $_POST['wert'].

PS: Jawa ist nicht JavaScript. :)
 
<?php
$kate = 99;
$aktUhrzeit = date("H:i:s");
if ($tag <>5) {
if (($aktUhrzeit >= "11:00:00") && ($aktUhrzeit <= "14:30:00")) {
?>
<form action="online_best.php" method="post">
<input type="submit" name="wert" value="1" />
</form>
<?php
} else {

}
} else {
echo "Heute Ruhetag";
}
?>

Das script schaut jetzt so aus. beim öffnen soll $kate = 99 sein.
Das macht er auch. Jetzt kommt der button "Menue 1".
Sobald jemand auf den Button clickt, soll in $kate = 1 stehen.

Das macht er nicht?

Bin echt verzweifelt, es kann doch nicht so schwierig sein, was fehlt mir oder wo ist der Denkfehler?

für weiter Hilfe wäre ich echt dankbar.
 
HTML:
<form action="online_best.php" method="post">
    <select name="wert" size="5">
       <option value="1">1</option>
       <option value="2">2</option>
       <option value="3">3</option>
       <option value="4">4</option>
       <option value="5">5</option>
       <option value="10">10</option>
       <option value="20">20</option>
       <option value="30">30</option>
       <option value="99">99</option>
    </select>
</form>

PHP kann nur das Empfangen was ihm gesendet wird. In deinem Code sehe ich keine Stelle an dem der Post verarbeitet wird.

PHP:
$kate = $_POST['wert'];
 
Sorry, das
<?php
$kate = $_post['wert'];
$aktUhrzeit = date("H:i:s");
if ($tag <>5) {
if (($aktUhrzeit >= "11:00:00") && ($aktUhrzeit <= "14:30:00")) {
?>
<form action="online_best.php" method="post">
<select name="wert" size="5">
<option value="1">Mittagsmenue</option>
</select>
</form>
<?php
} else {

}
} else {
echo "Heute Ruhetag";
}
?>

funktioniert nicht und ich brauche 1 Button der den wert beim anclicken weitergibt.

trotzdem danke.
 
Was steht denn in "$tag"? Wo wird diese Variable gebildet?

Edit:

Bitte benutz die Code-Blöcke statt den Code einfach in den Beitrag zu klatschen.

PHP:
<?php
$TimeNow = date("H:i:s");

if ($TimeNow >= '11:00:00' and $TimeNow <= '14:30:00')
{
    echo '<form action=\"online_best.php\" method=\"post\">';
    echo '<select name=\"wert\" size=\"5\">';
    echo '<option value=\"1\">Mittagsmenue</option>';
    echo '</select>';
    echo '</form>';
}
    else
{
    echo 'Heute Ruhetag';
}
?>
 
Zuletzt bearbeitet:
so schaut der gesamte code aus.
(sorry wusste nicht wie das geht, Jetzt schon)
HTML:
<div id="auswahl">
<table width="1000px" bordercolor="#783343" border="3px" bgcolor="#FFFFFF">
<tr align="left" bgcolor="#FFCC00">
<td colspan="5"><li>
<?php
$aktUhrzeit = date("H:i:s");
$kate = "wert";
if ($tag <>5) {
    if (($aktUhrzeit >= "11:00:00") && ($aktUhrzeit <= "14:30:00")) {
        echo '<form action=\"online_best.php\" method=\"post"\>';
        echo '<select name=\"wert\"1\">Mittagsmenue</option>';
        echo '</select>';
        echo '</form>';
    } else {
      
    }
} else {
    echo "Heute Ruhetag";
}
?>

    (Montag bis Freitag von 11:00 - 14:30 Uhr, außer an Feiertagen)</li></td></tr>
<tr align="left"><td><li>SUPPEN</li></td><td><li>VORSPEISEN</li></td><td><li>SALATE</li></td><td><li>HÜHNERFLEISCH GERICHTE</li></td><td><li>HÜHNERKEULE</li></td></tr>
<tr align="left"><td><li>RINDFLEISCH GERICHTE</li></td><td><li>SCHWEINEFLEISCH GERICHTE</li></td><td><li>ENTENFLEISCH GERICHTE</li></td><td><li>MEERESFRÜCHTE GERICHTE</li></td><td><li>GEBRATNER REIS, GEBRATENE NUDELN</li></td></tr>
<tr align="left"><td><li>VEGETARISCHE GERICHTE</li></td><td><li>NACHTISCH</li></td><td><li>EXTRAS</li></td><td><li>ALKOHOLFREIE GETRÄNKE</li></td><td><li>ALKOHOLISCHE GETRÄNKE</li></td></tr>
</table>
<table width="1000px" bordercolor="#783343" border="3px" bgcolor="#FFFFFF">
<tr align="left"><td colspan="6" bgcolor="#FFCC00"><li>MITTAGS SUSHI (Montag bis Freitag von 11:00 - 14:30 Uhr, außer an Feiertagen)</li></td></tr>
<tr align="left"><td><li>TAGES SUSHI</li></td><td><li>SUSHI NIGRI</li></td><td><li>SUSHI NORI MAKI</li></td><td><li>SUSHI INSIDE-OUT MAKI</li></td><td><li>SUSHI TEMAKI</li></td><td><li>SASHIMI</li></td></tr>
</table>
</div>

<div id="karte">
<table border="0" cellpadding="0" cellspacing="0" height="100%" width="100%">
<?php
$result = mysql_query("SELECT pid, artikel_nr, artikel_kat, artikel_bez, artikel_ben, artikel_inf, artikel_bes, preis FROM produkt WHERE artikel_kat = $kate");
while($row = mysql_fetch_object($result)) {
$pid = $row -> pid;
$artikel_nr = $row -> artikel_nr;
$artikel_bez = $row -> artikel_bez;
$artikel_kat = $row -> artikel_kat;
$artikel_ben = $row -> artikel_ben;
$artikel_inf = $row -> artikel_inf;
$artikel_bes = $row -> artikel_bes;
$preis = $row -> preis;
?>
<tr>
<td align="left"><font color="#333333" face="grundfont" size="-1"><? echo $artikel_nr ?></font></td>
<td align="left"><font color="#663333" face="grundfont" size="+1"><? echo $artikel_bez ?></font></td>
<td align="left"><font color="#000000" face="grundfont"><? echo $artikel_ben ?></font></td>
<td align="left"><font color="#000000" face="grundfont"><? echo $artikel_inf ?></font></td>
<td align="left"><font color="#000000" face="grundfont"><? echo $artikel_bes ?></font></td>
<td align="right"><font color="#0000FF" face="grundfont" size="+1"><? echo $preis ?></font></td>
</tr>
</table>
 
Zuletzt bearbeitet von einem Moderator:
Das kann so nicht funkionieren. Du möchtest prüfen ob es ein Wochentag zwischen Montag und Freitag ist, aber wo sind die Tage denn definiert? In "$tag" steht doch nichts...

PHP:
<?php
// Aktuelle Uhrzeit in HH:ii:ss Format
$TimeNow = date("H:i:s");

// Wochentage
$Week = array("Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag");

// Aktueller Tag
$Day = date("w");

// Prüfen ob es sich nicht um einen Samstag oder Sonntag handelt
if ($Week[$Day] != 'Samstag' and $Week[$Day] != 'Sonntag')
{
    // Prüfen ob es zwischen 11.00 und 14.30 Uhr ist
    if ($TimeNow >= '11:00:00' and $TimeNow <= '14:30:00')
    {
        echo '<form action=\"online_best.php\" method=\"post\">';
        echo '<select name=\"wert\" size=\"5\">';
        echo '<option value=\"1\">Mittagsmenue</option>';
        echo '</select>';
        echo '</form>';
    }
        else
    {
        // Aktuell ist es geschlossen aber kein Wochenende
        echo 'Aktuell geschlossen';
    }
}
    else
{
        // Es ist Wochenende
        echo 'Am Wochenende geschlossen';
}
?>

Hast Du nun EIN oder ZWEI PHP-Dateien?

Wozu möchtest Du "$kate" übergeben, wenn es sich in einer und der selben Datei befindet? Kannst Du mal bitte in ein paar Worten beschreiben was passieren soll?
 
Zurück