Filter

Killer-Man

Erfahrenes Mitglied
Meine Seiten sind folgender Maßen aufgebaut:

links ein paar Buttons, oben ein Bild als Header und dann der Hauptteil in der Mitte:
- eine Tabelle mit immer 2 Spalten pro Zeile, bei der in jeder linken Spalte ein Bild und in der rechten daneben ein Text ist.


Jetzt hab ich beispielsweise 2 Zeilen und erstelle noch einen Link, den ich "Filter1" nenne.
Wenn man jetzt auf diesen Link klickt, soll nur noch eine bestimmte Anzahl von Zeilen angezeigt werden, wie z.B. nur noch eine (soll von mir festgelegt werden).

Natürlich kann man einfach noch eine extra Datei mit der neuen Zeilenanzahl erstellen, und die dan quasi als neue Seite öffnen, was aber bei entsprechender Größe sehr unpraktisch werden würde.
Ich hab mich gefragt, ob ich da mit PHP weiterkommen würde (vielleicht in dem Stil ".../test.php?<<HIER DANN NOCH IRGENDWAS>>" )
Leider hab ich von PHP noch sehr wenig Ahnung und weis auch überhaupt nicht wonach ich suchen soll :confused:



Kann mir da jemand weiterhelfen?
 
Zuletzt bearbeitet:
Hallo,

Hier wird an die php Datei (Filter.php) eine GET Variable angehäng mit dem namen Filter und dem wert 1,2.
PHP:
<a href="Filter.php?Filter=1">Filter1</a>
<br>

<a href="Filter.php?Filter=2">Filter2</a>
<br>
<br>

hier wird die Variable und der "==" wert aus der URL mit $_GET ausgelesen und das entsprechende echo ausgegeben was in deinem Fall der Text ist.

PHP:
<?php
if ($_GET['Filter'] == "1"){

echo 'Hier kommt Filter 1';
}
if ($_GET['Filter'] == "2"){

echo 'Hier kommt Filter 2';
}

?>

also wenn ich dich richtig verstanden habe willst du so was machen. Musst halt nur noch in die richtigen Tabelle setzen.

Alles zusammen:

PHP:
<a href="index.php?Filter=1">Filter1</a>
<br>
<a href="index.php?Filter=2">Filter2</a>
<br>
<br>
<?php

if ($_GET['Filter'] == "1"){

echo 'Hier kommt Filter 1';
}
if ($_GET['Filter'] == "2"){

echo 'Hier kommt Filter 2';
}
?>
 
Zuletzt bearbeitet:
Eine Frage hab ich noch:

Was muss ich machen, damit ein Filter gilt, wenn man besipielsweise nur die index.php aufruft?
Muss ich das vielleicht so machen:
PHP:
<a href="index.php">Link</a>
<br>
<br>
<?php

if ($_GET['Filter'] == ""){

echo 'Hier soll das stehen, was nur kommen soll wenn man nur index.php aufruft';
}

?>

Geht das, wenn ich da einfach eine Lücke lasse?
Oder was müsste ich sonst machen?
 
^^ Probiers doch mal aus -.- stimmt soweit ich weiß ...
Zwei klammern bedeuten einfach dass $Get leer ist ... somit also z. B. index.php ... sonst wäre ja $get da ... dann wäre es nicht index.php sondern index.php?deinhp=suppi

Könntest das ganze auch mit ner while schleife aufziehen ... must dann nur eingeben wie oft die Schleife zulaufen soll -.- also bei 5 Bildern eben 5 mal ...
 
Ja, geht, allerdings würde ich für diese Art der Arbeit einen [phpf]switch[/phpf] benutzen:

PHP:
$filter = ( isset($_GET['filter']) ? $_GET['filter'] : '' );
# obige Anweisung prüft ob $_GET['filter'] gesetzt ist und wenn nicht, erstellt es die Variable
switch($filter) {
  case "1":
    echo "filter 1";
  break;
  case "2":
    echo "filter 2";
  break;
  default: // Eben was kommt, wenn nix angegeben wurde...
    echo "nix!";
}
 
@Killer-Man... ja das geht auf jedenfall aber du kannst das
PHP:
<a href="index.php">Link</a>
<br>
<br>
weglassen.

PHP:
<a href="index.php?Filter=1">Filter1</a>
<br>
<a href="index.php?Filter=2">Filter2</a>
<br>
<br>
<?php
if ($_GET['Filter'] == ""){

echo 'Hier soll das stehen, was nur kommen soll wenn man nur index.php aufruft';
}

if ($_GET['Filter'] == "1"){

echo 'Hier kommt Filter 1';
}
if ($_GET['Filter'] == "2"){

echo 'Hier kommt Filter 2';
}
?>
so erkennt er ja beim aufruf der index.php automatisch das die Variable nicht gesetzt ist und gibt das aus was du dort hingeschrieben hast.


@Flex... ich dachte das mit der einfachen If Anweisung ist für ein Anfänger besser nachvollziehbar.
 
Zurück