【问题标题】:How to put a loop in switch statement? PHP [closed]如何在switch语句中放置一个循环? PHP [关闭]
【发布时间】:2018-09-17 23:51:15
【问题描述】:
$stmt = "SELECT * FROM table";
$pUN  = $conn->query($stmt)->fetchAll();

$post = empty($_GET['post']) ? '' : $_GET['post'];
$paginas = empty($_GET['p']) ? 'home' : $_GET['p'];

if ($post != '' || ($post == '' && $paginas != '')) {
switch ($paginas):
    case " ":
        $titulo = " ";
        $shareTitulo = " ";

        $descricao = " ";
        $shareDescricao = " ";

        $shareImg = ' ';
        $keywords = ' ';

        $ogUrl = ' ';
        $urlCanonico = ' ';
        break;

    default:
        $titulo = '';
        $paginas = '';

endswitch;


switch ($post):

    case " ":
        $titulo = " ";
        $shareTitulo = " ";

        $descricao = " ";
        $shareDescricao = " ";

        $shareImg = ' ';
        $keywords = ' ';

        $ogUrl = ' ';
        $urlCanonico = ' ';
        break;

endswitch;

} else {
    $titulo = 'Notícia';
  }

我想在switch ($post) 中放置一个循环,switch ($post) 上的变量值将在我的数据库中。

如何在switch ($post) 中放置一个循环以从我的数据库中获取数据?我有一个名为“SwitchCase”的表,我将把变量的值放在这个表中。

编辑:

我必须写这么多 switch-case,所以我想简单地在我的表上写 case 中变量的值,我希望这个循环返回数据。

例子:

$stmtUN = "SELECT * FROM table";
$pUN    = $conn->query($stmtUN)->fetchAll();

switch ($post):

    foreach ($pUN as $UN): 

        case 'echo $UN["title"]':
            $titulo = 'echo $UN["title"]':
            $shareTitulo = 'echo $UN["title"]':

            $descricao = 'echo $UN["text"]':
            $shareDescricao = 'echo $UN["text"]':

            $shareImg = 'echo $UN["img"]':
            $keywords = 'echo $UN["keywords"]':

            $ogUrl = 'echo $UN["cnc"]':
            $urlCanonico = 'echo $UN["cnc"]':
        break;

    endforeach;

endswitch;

【问题讨论】:

    标签: php database loops switch-statement


    【解决方案1】:

    你把开关方块放错了地方。请参阅更正后的代码。还有没有理由将'echo'字符串作为变量的一部分?

    $stmtUN = "SELECT * FROM table";
    $pUN    = $conn->query($stmtUN)->fetchAll();
    
    foreach ($pUN as $UN): 
       echo $UN["title"];
    
       switch ($post):
    
          case $UN["title"]:
    
            $titulo = 'echo $UN["title"]':
            $shareTitulo = 'echo $UN["title"]':
    
            $descricao = 'echo $UN["title"]':
            $shareDescricao = 'echo $UN["title"]':
    
            $shareImg = 'echo $UN["title"]':
            $keywords = 'echo $UN["title"]':
    
            $ogUrl = 'echo $UN["title"]':
            $urlCanonico = 'echo $UN["title"]':
            break;
    
       endswitch;
    
    endforeach;
    

    【讨论】:

    • @Susi 根据您的编辑,这个答案看起来是正确的
    猜你喜欢
    • 2021-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-30
    相关资源
    最近更新 更多