php - while 或 foreach 与 if 循环

标签 php mysql

我需要你的帮助,因为我被困在这里:

SQL:

$testEvents = $db->prepare("SELECT * FROM events WHERE str_to_date(concat(`eventDate`, ' ', `time`), '%d-%m-%Y %H:%i')");
$testEvents ->execute();

PHP:

<?php
while ( $test = $testEvents->fetch(PDO::FETCH_ASSOC) ) {
    if( ! is_numeric($test['eventName'] && is_numeric($test['teamA']) && is_numeric($test['teamB']))) {
        echo $test['eventName'];
        echo "<br>";
    }
}
?>

我的目标是尝试这样做:

Database image

示例:如果 eventName IS NOT数字,并且 teamAteamB ARE NOT NULL ,显示 eventName 数据。

如果teamAteamB不是数字eventNameIS 一个数字,显示 teamAteamB

图像中的说明: Explanation

最佳答案

除了你奇怪的数据库设计......为了回答你的问题,你可以尝试这个......

我编写了一些测试数据来模拟您的数据库

$data = [
    [
        'eventName'=>'1',
        'teamA'=>'Magallanes',
        'teamB'=>'Caracas',
        'eventDate'=>'17-11-2016',
        'eventTime'=>'11:11'
    ],
    [
        'eventName'=>'Manana',
        'teamA'=>'123',
        'teamB'=>'123',
        'eventDate'=>'17-11-2016',
        'eventTime'=>'12:12'
    ]
];

然后测试代码来执行循环...您走在正确的轨道上,但显然您只是放弃了...

foreach($data as $test) {
    if( ! is_numeric($test['eventName']) && is_numeric($test['teamA']) && is_numeric($test['teamB'])) {
        echo $test['eventName'];
        echo " ";
        echo $test['eventDate'];
        echo " ";
        echo $test['eventTime'];
        echo "<br>";
    }
    else if (is_numeric($test['eventName']) && ! is_numeric($test['teamA']) && ! is_numeric($test['teamB'])) {
        echo $test['teamA'];
        echo " x ";
        echo $test['teamB'];
        echo "  ";
        echo $test['eventDate'];
        echo " ";
        echo $test['eventTime'];
        echo "<br>";
    }
}

结果

Magallanes x Caracas 17-11-2016 11:11
Manana 17-11-2016 12:12

根据需要交换和更改内容。

关于php - while 或 foreach 与 if 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40645750/

相关文章:

mysql - 查询执行时间太长

php - 如何连接表以查找不存在的项目

php - 当编写此代码时出现 localhost 重定向并且此页面无法正常工作?

php - 指定源语言,如果 default_locale 不是英语

php - 调用同一服务器上提供的 Rest API 的最佳方式

mysql - 从 TableView CheckBox JavaFX 将数据插入数据库

mysql - 在 HR 应用程序 Laravel 上保留系统余额

php - 重写我文件的路径

php - 1 个查询还是 2 个单独的查询?

php - 无法使用 crontab 运行 shell 脚本