if / else语句无法工作

时间:2016-09-07 07:42:34

标签: php mysql variables if-statement

我在我的DB中搜索一个表,如果名称与我在网址中传递的$_GET['name']变量相匹配,则返回一个勾号。

如果名称存在,我想要显示一个勾号,如果不存在,我想要一个十字。

目的是填充可用性的时间表。

到目前为止我的代码

<?php foreach($rota_sun as $rota_sunday): ?>
       <?php if(strpos($rota_sunday['person_name'], $_GET['name']) !== false) { ?>
              <span style="color:green; font-size:22px;"><i class="fa fa-check" aria-hidden="true"></i></span>
              <?php } else { ?>
              <span style="color:red; font-size:22px;"><i class="fa fa-times" aria-hidden="true"></i></span>
      <?php } ?>
 <?php endforeach; ?>

我的查询代码是;

$query = "SELECT
                rota_sunday.id AS rota_id,
                rota_sunday.person_id,
                rota_sunday.person_name
            FROM rota_sunday WHERE rota_sunday.person_name = '$_GET['$name']'
        "; 
    try 
    { 
        $stmt = $conn->prepare($query); 
        $stmt->execute(); 
    } 
    catch(PDOException $ex) 
    { 
        die("Failed to run query: " . $ex->getMessage()); 
    } 
    $rota_sun = $stmt->fetchAll(PDO::FETCH_ASSOC);

我的表包含三行;

  1. ID
  2. 为person_id
  3. PERSON_NAME
  4. 我正在使用的数组是

    Array
    (
        [0] => Array
            (
                [rota_id] => 16
                [person_id] => 0
                [person_name] => Gina
            )
    
    )
    

    您会看到Gina存在 - 所以如果我的网址中有?name=Gina,则应显示勾号,但我的网址中会显示?name=Fred?name=John等,应显示十字。

    问题:当名称存在时显示勾号,但在名称不存在时不显示叉号。

2 个答案:

答案 0 :(得分:1)

一个工作示例: -

<?php $post_id = 27; // Endre denne ?>
            <?php $image = wp_get_attachment_image_src( get_post_thumbnail_id("$post_id"), full); ?>

            <div style="background-image:url('<?php echo $image[0]; ?>')">
                <div class="col-md-6">
                    <h1><?php echo get_the_title("$post_id");?></h1>
                    <div>
                    <?php get_post_field( 'post_excerpt', $post_id ); ?>
                    <?php $excerpt = get_the_excerpt( $post_id ) ?> 
                    <?php echo $excerpt; ?>
                    </div>
                    <div>
                        <a href="<?php echo get_permalink("$post_id");?>" rel="" id="trykklink" class="btn btn-outline-fill-white littluft nomarginleft" role="button" title="" onmouseover="this.title='';">Read more</a>
                    </div>
                </div>   
                <div class="col-md-6">
                </div>
            </div>

输出: - http://prntscr.com/cf4ecd

注意: - 从这里下载font-awesome库: - http://fontawesome.io/get-started/

将整个文件夹放在当前的工作目录中

正确添加css文件。

这是工作目录结构: - http://prntscr.com/cf4fuk

更改您的查询: -

<link rel="stylesheet" href="font-awesome-4.6.3/css/font-awesome.min.css">

<?php
  error_reporting(E_ALL); //check all type of errors
  ini_set('display_errors',1); // display those if any happen
  $_GET['name'] = 'fiksun';
  $rota_sun = Array
(
    '0' => Array
        (
            'rota_id' => 16,
            'person_id' => 0,
            'person_name' => 'Gina'
        ),
    '1' => Array
        (
            'rota_id' => 16,
            'person_id' => 0,
            'person_name' => 'fiksun'
        )

)
?>
<?php foreach($rota_sun as $rota_sunday): ?>
    <?php if($rota_sunday['person_name']== $_GET['name']) { ?>
        <span style="color:green; font-size:22px;"><i class="fa fa-check" aria-hidden="true"></i><?php echo $rota_sunday['person_name'];?></span>
      <?php } else { ?>
        <span style="color:red; font-size:22px;"><i class="fa fa-times" aria-hidden="true"></i><?php echo $rota_sunday['person_name'];?></span>
  <?php } ?>
<?php endforeach; ?>

答案 1 :(得分:0)

此查询将仅从DB中选择一个人。

$query = "SELECT
            rota_sunday.id AS rota_id,
            rota_sunday.person_id,
            rota_sunday.person_name
        FROM rota_sunday WHERE rota_sunday.person_name = " . $_GET['name'] . "LIMIT 1"; 
try 
{ 
    $stmt = $conn->prepare($query); 
    $stmt->execute(); 
} 
catch(PDOException $ex) 
{ 
    die("Failed to run query: " . $ex->getMessage()); 
} 
$rota_sun = $stmt->fetch(PDO::FETCH_ASSOC);

如果这个人存在,那么$ rota_sun将包含结果,如果没有,那么这将返回false,你将得到红叉。

   <?php if($rota_sun) { ?>
          <span style="color:green; font-size:22px;"><i class="fa fa-check" aria-hidden="true"></i></span>
   <?php } else { ?>
          <span style="color:red; font-size:22px;"><i class="fa fa-times" aria-hidden="true"></i></span>
   <?php } ?>