2012-11-24 17 views
5

Ho una funzione PHP per mostrare il messaggio con hashtag.Seleziona solo hashtag parte di stringa dal database

codice PHP in questo modo:

include 'includes/_db_.php'; 

$sql_t = "SELECT message FROM t_haps_wall WHERE message LIKE '%#%'"; 
$hasil_t = mysql_query($sql_t) or die(mysql_error()); 

while($data_t = mysql_fetch_array($hasil_t)) 
{ 
$message_t = $data_t['message']; 
} 

Questo codice è in esecuzione ok, ma ora come impostare solo spettacolo hashtag? Se in esempio come questo:

Messaggio = mi piaci #loveyou

Nel mio attuale, mostrerà tutti i messaggi, voglio solo mostrare #loveyou. È possibile ?

Grazie per l'aiuto.

+0

Puoi definire l'hashtag? Inizia con '#' e termina con spazio bianco o fine stringa? RegEx è ciò di cui hai bisogno qui. Inoltre, è solo a scopo di visualizzazione? Se non è possibile eseguirlo sul lato DB, è possibile farlo nell'applicazione, ma solo se non è necessario ordinarlo o raggrupparlo o qualcosa nel DB. – Brad

+0

Puoi avere più di un hash in un messaggio? – Cyclonecode

+0

@KristerAndersson Ho più messaggi con 1 o 2 o più hash .. – Nagini

risposta

5
SELECT SUBSTR(message, LOCATE('#', message)) hashtag 
FROM t_haps_wall 
WHERE message like '%#%' 
+0

grazie molto bene @barmar. Funziona. :) – Nagini

+0

@Barmar Come sarà l'output quando nel messaggio compare '#'? –

+1

Mostrerà tutto dal primo '#'. – Barmar