Navigation Filter Problem

Bin mir jetzt nicht sicher ob das damit gemeint ist und ob die Lösung gut ist.

PHP:
<?php
$menue = array("Videos", "Trailer", "Funny");

if (!isset($_GET['pos'])) {
	$_GET['pos'] = 0;
}

for ($a = 0; $a <= $_GET["pos"]; $a++) {

	echo "<a href='seite1.php?pos=" .($a + 1 ) ."'>" .$menue[$a] ."</a>";

	if ($a < count($menue)-1) {
		echo" <a href='seite1.php?pos=" .($a) ."'> X </a>";
	}

}

?>
 
Da du mit jedem Seitenaufruf deine alten Einstellungen verlierst, solltest du diese noch in die Session nehmen damit sie erhalten bleibt, auch wenn du mehrere X anklickst
 
Ich würd es trotzdem mit Session lösen. Etwa so
PHP:
<?php
session_start();

echo "<h4>Filter</h4>";

$menue = array("Videos", "Trailer", "Funny");

if(isset($_GET['addFilter'])) $_SESSION['filter'][$_GET['addFilter']] = $menue[$_GET['addFilter']];
if(isset($_GET['deleteFilter'])) unset($_SESSION['filter'][$_GET['deleteFilter']]);//$_SESSION['filter'] = array_splice($_SESSION['filter'], $_GET['deleteFilter'], 1) ;

if(!is_array($_SESSION['filter'])) $_SESSION['filter'] = array();

foreach($menue as $key => $entry){
    if(array_key_exists($key, $_SESSION['filter'])){
        echo "{$entry} <a href='{$_SERVER['PHP_SELF']}?deleteFilter={$key}'>-</a><br />";
    } else {
        echo "{$entry} <a href='{$_SERVER['PHP_SELF']}?addFilter={$key}'>+</a><br />";
    }
}

echo "<h4>Aktiver Filter</h4>";
echo implode(', ', $_SESSION['filter']);
?>
 
Gut mittlerweile bin ich soweit

PHP:
<?php

echo "<h4>Filter</h4>";

$menue = array("tag:music","tag:pop","tag:trailer","tag:videos");

function rebuildArrayX(&$array, $key)
{
    unset($array[$key]);
    $array = array_values($array);

    $string = implode("/", $array);

    return $string;
}

foreach($menue as $key => $entry){
        $func = rebuildArrayX($menue, $key);
        echo "<a href="."http://localhost/videos/".$entry.">".$entry."</a> ";
        echo "<sup>[<a class='function' href='http://localhost/videos/{$func}'>x</a>]</sup>";
        
}
?>

Das funktioniert noch nicht richtig bei musik stimmt es

Die function von dir yaslaw ist nicht das was ich suche aber danke dir :=)
 
Zuletzt bearbeitet:
Ich habe es geschafft es funktioniert hier mein code

PHP:
<?php

echo "<h4>Filter</h4>";

$menue = array("tag:music","tag:pop","tag:trailer","tag:videos");

function rebuildArrayX(&$array, $key)
{
    $copy = $array;
    unset($copy[$key]);
    $copy = array_values($copy);
    $string = implode("/", $copy);
    return $string;
}

foreach($menue as $key => $entry){
        $func = rebuildArrayX($menue, $key);
        echo "<a href="."http://localhost/videos/".$entry.">".$entry."</a> ";
        echo "<sup>[<a class='function' href='http://localhost/videos/{$func}'>x</a>]</sup>";
}
?>
 
Zurück