Как отображать данные в зависимости от категории URL-адреса с помощью switch case PHP?


из пути URL

mipagina.com/game/music/studio/this-is-my-favorite-music

я хочу, чтобы показать содержимое, когда пользователь получает изменить URL, путь:

mipagina.com/game/music/studio/

Если это так, я хочу показать все содержимое studio важно, чтобы данные отображались с учетом последней категории.

другой пример:

mipagina.com/game/music/

Если это так, показать все данные о music

Как я могу перебрать эти данные в switch

switch ($i) {
    case "studio":
        echo "";
        break;
    case "music":
        echo "";
        break;
    case "game":
        echo "";
        break;
}
 2
php
Author: Bernardo, 2018-08-12

1 answers

Сначала проверьте, что url-адрес структурирован так, как вы хотите:

$uri     = $_SERVER['REQUEST_URI'];
$isValid = preg_match('/([\w-]+)\/?$/', $uri, $matches);
if($isValid){
    // la acción que sea
}

Затем совпадение передается на switch:

switch ($matches[1]) {
    case "studio":
        echo "Estudio!!";
        break;
    // ... case ...
}

И вы ставите все это вместе на работу:

// obtienes la url
$uri = $_SERVER['REQUEST_URI'];
// validas la url y capturas la última parte de la misma
$isValid = preg_match('/([\w-]+)\/?$/', $uri, $matches);
// si es válida pasas la captura al switch
if($isValid) {
    switch ($matches[1]) {
        case "studio":
            echo "Estudio!!";
            break;
        case "music":
            echo "Music!!";
            break;
        case "game":
            echo "Game!!";
            break;
    }
// si no es válida haces la acción que creas oportuna
} else {
    // accion si la url no es válida
    echo "No se encuentran resultados";
}

Здесь вы можете увидеть, как это работает.
Просто измените буквальный url переменной $uri.

 0
Author: OscarR, 2018-08-12 11:29:03