2012-10-28 74 views
0

我從MySQL數據庫中抓取一些字段並將它們放入數組中。 下面是代碼:從數據庫填充數組,在內部搜索並提取字符串

$dataArray = array(); 

$query_url = "SELECT * FROM videos"; 
$query_exec = mysql_query($query_url) or die(); 

while($res = mysql_fetch_array($query_exec)) { 
    echo $dataArray[$res['id']] = $res['video']; 
    echo "<br />";  
} 

有了這個我有我的「視頻」表採取的YouTube視頻打印列表,我試圖讓只有YouTube的最後一個短代碼,例如: 這裏是youtube鏈接:http://www.youtube.com/watch?v=sN8grtFUQYs 我只想得到:sN8grtFUQYs

如何從一個從MySQL數據庫中自動獲取數據的數組中獲取它們?

+2

[**請不要在新代碼**中使用'mysql_ *'函數](http://bit.ly/phpmsql)。他們不再被維護,[棄用過程](http://j.mp/Rj2iVR)已經開始。看到[**紅框**](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。如果你選擇PDO,[這裏是一個很好的教程](http://j.mp/PoWehJ)。 –

+0

Thx爲mysql_ * :) 這是一個簡單的示例代碼,並嘗試快速示例離線。 我試過etract(),但是我的大問題是數組是動態的 – Mark

+0

我通常使用mysqli。再次感謝您提醒 – Mark

回答

2

可能不是很有效,但可以爆炸()它並調用end()來獲取數組的最後結果。

$dataArray = array(); 

$query_url = "SELECT * FROM videos"; 
$query_exec = mysql_query($query_url) or die(); 

while($res = mysql_fetch_array($query_exec)) { 
    echo $dataArray[$res['id']] = end(explode('?v=',$res['video'])); 
    echo "<br />";  
} 
+0

該死的。 ...謝謝你,我忘了結束():( 非常感謝你(有些分鐘,我可以接受答案) – Mark

1
$dataArray = array(); 

$query_url = "SELECT * FROM videos"; 
$query_exec = mysql_query($query_url) or die(); 

while($res = mysql_fetch_array($query_exec)) { 
    preg_match('/[\?\&]v=([^\?\&]+)/', $res['video'], $id); 
    echo $dataArray[$res['id']] = $id[1]; 
    echo "<br />";  
}