【问题标题】:How to show value if there any empty space in MySQL query value如果 MySQL 查询值中有空格,如何显示值
【发布时间】:2016-01-26 17:16:00
【问题描述】:

我的数据库表是这样的:

“课程名称”列中的“纯数学A2”字段中有空格。我想在单选按钮值中获取 course_name。

我的mysql查询是:

<?php
    $result2 = mysql_query("SELECT * FROM tbl_course WHERE label_id= 1");
    while($row = mysql_fetch_array($result2))
    {
    echo "<input type='radio' value='".$row['course_name']."' ".$class." name='vh_course_radio' >" .$row['course_name'];
    } 
?>

但是有一些问题。在单选按钮中,值如下图所示:

任何机构可以帮助我?请给我解决方案。我想要的值就像 (value="pure math A2")。

【问题讨论】:

  • 什么是“空白空间”?列是 NULL,还是只包含空白字符?
  • $class 返回什么值?它可能会返回一些带有单引号或双引号的值。
  • @OllieJones 白色空间老兄
  • 正常查看页面源代码,调试器就像您尝试重建输入一样,您看不到真正的错误
  • 请不要将代码或数据库结构发布为图像。它们很难阅读,也无法搜索。请改为将其作为文本添加到代码块中。谢谢。

标签: php mysql database radio-button


【解决方案1】:

使用mysqlREPLACE()或替换' ' to '_'

SELECT *,REPLACE(course_name,' ','_') as course_name 
FROM tbl_course WHERE label_id= 1 

输出是:- pure_math_A2

【讨论】:

  • 谢谢...现在它正在工作...我还有一个问题,如果有任何单引号,例如:A'levels 那我该如何显示呢?你能解决吗?
  • 使用这个选择REPLACE(REPLACE("course's name",' ','_'),"'",'')
【解决方案2】:

我相信,您希望在缺少列值的地方插入替代值。列中缺少值的方式有两种。一种是当列为 NULL 时,另一种是当它是所有空格时。你没有说你的表是如何记录缺失值的,所以我将提供一个处理这两者的解决方案。

因此,您可以更改 SQL 查询以检测情况。

IFNULL(course_name,'') 

将 NULL 值转换为空字符串(无空格)。那么

TRIM(IFNULL(course_name,''))

如果列值包含空格或 NULL,则生成不包含字符的文本字符串。最后,

 CASE WHEN LENGTH(TRIM(IFNULL(course_name,''))) = 0 THEN 'substitute'
      ELSE                                               course_name
  END 

将生成您的替代值。所以使用这个 SQL 查询

SELECT col, col, 
       CASE WHEN LENGTH(TRIM(IFNULL(course_name,''))) = 0 THEN 'substitute'
            ELSE                                               course_name
       END AS course_name
  FROM tbl_course
 WHERE label_id= 1 

【讨论】:

    【解决方案3】:

    你需要 replace space"_" (别的)

    &lt;input type='radio' value='pure_math_A2'&gt;pure math A2

    在提交后你可以replace "_"space,这样你的问题就解决了

    【讨论】:

      【解决方案4】:

      代替

      while($row = mysql_fetch_array($result2))
      {
          echo "<input type='radio' value='".$row['course_name']."' ".$class." name='vh_course_radio' >" .$row['course_name'];
      }
      

      使用下面的方法可能对你有帮助,

      <?php while($row = mysql_fetch_array($result2)):  ?>
          <input type='radio' value="<?php echo $row['course_name'];?>" name=' vh_course_radio' ><?php echo $row['course_name']; ?>
      <?php endwhile; ?>
      

      【讨论】:

        猜你喜欢
        • 2016-07-11
        • 1970-01-01
        • 1970-01-01
        • 2021-02-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-22
        相关资源
        最近更新 更多