【问题标题】:bootstrap badge color based data on mysqlmysql上基于引导徽章颜色的数据
【发布时间】:2020-04-03 07:16:41
【问题描述】:

我想问是否可以仅使用 PHP 更改基于 mysql 的引导徽章颜色?

如您所见,我有一个“status = 1”的数据,该列的数据类型是 TINYINT,有 3 种状态可用,所以我希望每个数字都会影响我在 html 中使用的徽章颜色

下面是状态 = 2 的我的 html 外观

这个颜色是我想要的状态 = 1

是否有可能,如果会员上传一个项目并选择状态类型,它会自动选择正确的徽章颜色?

<div class="row">
  <?php
  while ($record = mysqli_fetch_assoc($hasil)) {
    ?>
  <div class="col-sm-6 col-lg-3 pb-3">
  <div class="card h-100">
    <img class="card-img-top img-fluid" src="img/bike.jpg" alt="Card image cap">
  <div class="card-body">
    <h5 class="card-title"><a href="#"><?php echo $record['title'];?></a></h5>
    <hr>
    <span class="badge badge-success">Item Found</span>
    <p class="card-text"><?php echo $record ['description']; ?></p>
    <p class="card-text"><small class="text-muted"> <?php echo $record ['date_posted']; ?></small></p>
    <a href="#" class="btn btn-primary"> More Info</a>
  </div>
  </div>
  </div>
  <?php }  ?>
</div>

【问题讨论】:

  • 你能粘贴你的php代码吗?
  • 哦,对不起,我的错..我只是添加了 php 代码,我对数据库中的每个项目使用 while 循环..
  • 你如何在 PHP 中使用 ifif else

标签: php html mysql bootstrap-4 badge


【解决方案1】:

使用 if 和 else 条件。

<div class="row">
  <?php
  while ($record = mysqli_fetch_assoc($hasil)) {
    ?>
  <div class="col-sm-6 col-lg-3 pb-3">
  <div class="card h-100">
    <img class="card-img-top img-fluid" src="img/bike.jpg" alt="Card image cap">
  <div class="card-body">
    <h5 class="card-title"><a href="#"><?php echo $record['title'];?></a></h5>
    <hr>
    <?php if($record['status'] == 2){ ?>
    <span class="badge badge-warning">Item lost</span>
    <?php }else if($record['status'] == 1){ ?>
      <span class="badge badge-success">Item Found</span>
    <?php } ?>
    <p class="card-text"><?php echo $record ['description']; ?></p>
    <p class="card-text"><small class="text-muted"> <?php echo $record ['date_posted']; ?></small></p>
    <a href="#" class="btn btn-primary"> More Info</a>
  </div>
  </div>
  </div>
  <?php }  ?>
</div>

【讨论】:

  • 简单易懂,但我从没想过.. 我想我还有很多东西要学。谢谢你的回答!
  • 是的。快乐编码。 :)
【解决方案2】:

您也可以使用开关来管理正确的文本

  ....
  <h5 class="card-title"><a href="#"><?php echo $record['title'];?></a></h5>
  <hr>
  <? php 
    switch ( $record ['status']){
      case 1:
        $badge ='badge badge-success';
        $msg = 'Item Found';
        break;
      case 2:
        $badge ='badge badge-warning';
        $msg = 'Item Lost';
        break;     

      case 3:
        $badge ='badge badge-info';
        $msg = 'Item some....';
        break;  

      default:
        $badge ='badge badge-primary';
        $msg = 'Item other';
        break;


    }

   echo  '<span class="<'. $badge . '"><badge badge-success">'. $msg. '</span>';

?>

<p class="card-text"><?php echo $record ['description']; ?></p>
....

【讨论】:

    【解决方案3】:

    使用if else 检查项目的当前状态。分配该状态所需的任何课程。

    if($record['status'] == 1)
    {
        $stsCls = 'badge-success';
    }
    else if($record ['status'] == 2)
    {
        $stsCls = 'badge-warning';
    }
    else
    {
        $stsCls = 'badge-primary';
    }
    

    将该类添加到项目状态标记。

    <span class="badge <?=$stsCls;?>">Item Found</span>
    

    【讨论】:

    • 简单易懂,但我从没想过..我想我还有很多东西要学。谢谢你的回答!
    【解决方案4】:

    试试这个:

    <div class="row">
      <?php
      while ($record = mysqli_fetch_assoc($hasil)) {
        ?>
      <div class="col-sm-6 col-lg-3 pb-3">
      <div class="card h-100">
        <img class="card-img-top img-fluid" src="img/bike.jpg" alt="Card image cap">
      <div class="card-body">
        <h5 class="card-title"><a href="#"><?php echo $record['title'];?></a></h5>
        <hr>
        <?php if( $record ['status']==1) echo '<span class="badge badge-success" style="background-color:red">Item Found</span>' ; 
        elseif( $record ['status']==2) echo '<span class="badge badge-success" style="background-color:yellow">Item Found</span>' ; 
        else echo '<span class="badge badge-success" style="background-color:green">Item Found</span>' ; ?>
        <p class="card-text"><?php echo $record ['description']; ?></p>
        <p class="card-text"><small class="text-muted"> <?php echo $record ['date_posted']; ?></small></p>
        <a href="#" class="btn btn-primary"> More Info</a>
      </div>
      </div>
      </div>
      <?php }  ?>
    </div>
    

    【讨论】:

    • 正如其他人指出的,如果你只需要红色、黄色和绿色,你可以使用 class='badge badge-warning'(黄色)、class='badge badge-success'(绿色)和class='badge badge-danger'(红色)。
    • 是的,我只需要 3 种颜色!谢谢老师的回答!
    猜你喜欢
    • 2017-08-07
    • 1970-01-01
    • 2015-06-03
    • 1970-01-01
    • 2022-01-08
    • 2021-07-30
    • 1970-01-01
    • 2020-10-25
    • 2019-04-08
    相关资源
    最近更新 更多