2011-01-27 4 views
-2

私は100kドメインとそのタグのリストを持っています。タグはコンマで区切られています。mysqlをどのようにループするのですか?

UTFエンコーディングの問題により、一部のタグがwierd文字で表示されます。私はこれを取り除きたい。

その後、タグを分解し、不要な文字からフィルタを外します。 新しいテーブルに挿入します。

私のテーブルは次のようになります...

Domain   Tags 
    yahoo.co.jp  yahoo,search,portal,japan,ãƒãƒ¼ã‚¿ãƒ«,検索,news 
    163.com   news,门户,æ–°é—»,portal,网易,163,china,门户ç 
    qq.com   qq,china,portal,news,im,门户,chinese,web,socialn... 
+2

100Kの+ドメイン、500K +画像...とない知識の単一ビット。それほど大きな数字ではなく、最初に練習してみませんか? –

+0

質問タイトルにはおそらくPHPが書かれています。 –

+1

100kドメインを挿入する方法が分からず、forループでどのようにドメインを選択するのかわからないのですか?またはwhileループ? –

答えて

-2
$query = mysql_query("SELECT * FROM mytable"); 

while ($row = mysql_fetch_array($query)) { 

    $cleanstr = mysql_real_escape_string(cleanChars($row['Tags'])); 
    mysql_update("UPDATE mytable SET Tags = '$cleanstr' WHERE Domain = '$row[\'Domain\']"); 

} 

function cleanChars($str) { 
    //this function will explode the string and clean the chars 
    //use implode after you clean the unwanted characters to convert the array to a string. 
    return $cleanstr; 
} 
+0

こちらは同じエラー –

-1
$query = "SELECT * FROM [tablename];"; 
$result = mysql_query($query); 
while($r = mysql_fetch_array($result) 
{ 
    $tags = explode($r["Tags"]); 
    //Do your work here 
    $newtags = FilterTags(",", $tags); 
    $tagstring = implode(",", $newtags); 
    $query = "INSERT INTO [NewTableName] (`Domain`, `Tags`) VALUES (\"".$r["Domain"]."\", \"".$tagstring."\")"; 
    mysql_query($query); 
} 
+0

郵便番号に誤りがあります。 –

+0

IDEを使用しないコーディングはちょっと変わっています;-) – Tokk

+0

構文エラーではありませんが(私のブラウザにはシンタックスアナライザはありません)、基本的なエラーです。 SQLの構文には規則があります。 –

関連する問題