簡體   English   中英

如果MySQL查詢值中有空格,如何顯示值

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

我的數據庫表是這樣的:

在此輸入圖像描述

“course_name”列中的字段“pure math 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 =“純數學A2”)。

使用mysql REPLACE()或將' ' to '_'替換' ' to '_'

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

輸出為: - pure_math_A2

我相信,您希望在缺少列值的情況下插入替換值。 有兩種方法可以使列中缺少值。 一種是當列為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 

你需要replace space replace"_" (其他東西)

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

在提交后的另一面,你可以replace "_"space這樣你的問題就解決了

代替

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM