如果 MySQL 查询值中有任何空的 space 如何显示值

How to show value if there any empty space in MySQL query value

我的数据库table是这样的:

"course_name" 列的 "pure math A2" 字段为空 space。我想在单选按钮值中获得 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").

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

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

Output is :- pure_math_A2

您需要 replace space"_"(其他)

<input type='radio' value='pure_math_A2'>pure math A2

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

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

因此,您可以更改 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 

而不是

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; ?>