【问题标题】:How do I change the database values using PHP and MySQL?如何使用 PHP 和 MySQL 更改数据库值?
【发布时间】:2011-08-12 09:26:23
【问题描述】:

我有一个用户表,其中包含这样的字段性别和名字。存储在数据库中的性别类型值为 0 表示 M(男性),1 表示 F(女性)。
我正在从数据库中检索详细信息。

通过使用以下查询并使用以下代码在表中显示详细信息:

我的问题是,如果值来自用户表的性别为“0”,我如何在性别类型列中显示“M”。
对于女性来说,如果性别类型列的值来自用户表的性别为“1”,我想显示“F”。

有人可以帮忙吗?

      modified code :


               GOT an error :Parse error: syntax error, unexpected $end 


               <?php
              $rows=array();
            $query = "SELECT CONCAT(usrFirstname,'',usrSurname) As FullName,usrNickname AS    Nickname,";
            $query.= "usrEmail As EmailAddress,usrGender AS Gender,DATE_FORMAT(usrDOB,'%d%m%y') As DOB,usrBelt AS BeltId";
   $query.= " FROM user";
   $result = mysql_query($query);
 echo mysql_error();
      if($result)
       {
        while($row=mysql_fetch_assoc($result))
  {
       $rows[] = $row;
     }
   }
      <?php 
       if ($row['Gender'] == '0'){
        $Gender = 'M';
           } else {
         $Gender = 'F';

        ?>

     <link href="../../css/styles.css" rel="stylesheet" type="text/css" />
      <div class="subheader" style="margin:16px 0 0;width:980px font-style:bold"><div        class="subheaderl"></div><div class="subheaderr"></div>Users registered at your     facility</div>
       <div class="div" style="overflow-y:scroll;height:500px">
          <table name="t" id ="t" height= "140" width="800">





     <tr style="text-align:left; line-height=10px; word-spacing:0px">
         <thead style="font-weight:bold; font-size:12px;">  
          <th>Full Name</th>
          <th>NickName</th>
             <th>Email Address</th>
              <th>Gender</th>
           <th>DOB</th>
             <th>Belt ID</th>      
       </thead>  
         <?php foreach ($rows as $row){?>
            <tr style="font-size:small">
               <td><?php echo $row['FullName']?></td>
              <td><?php echo $row['Nickname']?></td>
    <td><?php echo $row['EmailAddress']?></td>
    <td><?php echo $Gender?></td>       
    <td><?php echo $row['DOB']?></td>
    <td><?php echo $row['BeltId']?></td>
  </tr>
 <?php }?>

有人能帮忙吗

【问题讨论】:

  • 1) 请不要大喊大叫 2) 这与您刚才发布的问题完全相同。编辑现有问题以添加更多详细信息,不要发布新问题 3) 这个问题的答案与我在上一个问题中发布的相同。
  • 您忘记了 $Gender = 'F' 之后的右括号 }

标签: php mysql html


【解决方案1】:

SELECT CONCAT(usrFirstname,'',usrSurname) As FullName, usrNickname AS Nickname, usrEmail As EmailAddress, CASE WHEN usrGender = 0 THEN 'M' ELSE 'F' END AS Gender, DATE_FORMAT(usrDOB,'%d%m%y') As DOB,usrBelt AS BeltId FROM user

如果你把它放在查询中,它会返回 M 或 F

【讨论】:

  • 没问题,这就是我们在这里的原因:)
【解决方案2】:

在你回显性别之前添加这一行:

$row['Gender'] = $row['Gender'] == 0 ? 'M' : 'F';

或者在编辑查询时使用 macwadu 的优秀解决方案。

【讨论】:

    【解决方案3】:

    或者你可以在 php 端进行:

    <td><?php echo ($row['Gender'] ? 'F' : 'M') ?></td>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-17
      • 2017-10-04
      • 2010-10-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多