2011-05-10 74 views
2
foreach($sites as $url) 
{ 
    print_r($url); 
    $db = mysql_connect("localhost","root","11") or die("\nerror connecting". mysql_error()); 
    mysql_select_db("website_categorization") or die("\n error selecting database"); 
    mysql_real_escape_string($url); 
    mysql_query("INSERT INTO url_main(Url) VALUES('$url')") or trigger_error(mysql_error()); 
    $result = mysql_query("SELECT ID from url_main where url='$url'"); 
    list($url_id) = mysql_fetch_row($result); 
    $keyword = get_meta_tags("http://".$url);         
    if(array_key_exists('keywords', $keyword))          
      $tag = $keyword['keywords']; 
    elseif(array_key_exists('Keywords', $keyword)) 
      $tag = $keyword['Keywords']; 
    else 
     { mysql_query("INSERT INTO uncategorized(Url) VALUES('$url')") or trigger_error(mysql_error()); 
      break; 
     } 
} 

即使控制程序到達else語句,我也想繼續運行程序。你可以幫我什麼讓我的程序運行其他$ url值,即使遇到其他結構....foreach if-else break幫助

這是代碼的其餘部分。

$keyword_array = preg_split('/[\s,]+/ ', $tag); 
foreach($keyword_array as $url_keyword)   
{ 
     mysql_real_escape_string($url_keyword); 
     $query = "SELECT ID from category_keyword where Keyword='$url_keyword'"; 
     $result = mysql_query($query); 
     while($row=mysql_fetch_array($result)) 
     { 
      $out = mysql_query("INSERT INTO url_keyword(Url_ID,Keyword,Keyword_ID) values ($url_id, '$url_keyword','$row[ID]')"); 
     } 
     $query2 = "SELECT ID_Category, sum(Score) as score from `category_keyword` as ck ,`url_keyword` as uk where ck.ID = uk.Keyword_ID and Url_ID=$url_id group by ID_Category"; 
     $result2 = mysql_query($query2); 
    } 

    while($row2 = mysql_fetch_array($result2)) 
    { 
      print_r($row2); 
      if($row2['score'] > $THRES) 
      { 
       $query3="INSERT INTO url_category_map(Url_ID, Category_ID) values($url_id, $row2[ID_Category])"; 
       $out3 = mysql_query($query3); 
       $FLAG=true; 
      } 
    } 
} 
+3

這不是你的問題的答案,但我建議只在你的foreach循環之外連接到你的數據庫一次。 – Atticus 2011-05-10 08:50:39

回答

1

完全刪除break

+0

這是整個代碼..刪除中斷不起作用..我不想運行整個代碼如果else語句遇到 – gks 2011-05-10 09:06:30

+1

你想繼續從哪個點?在「foreach」的大括號之後中斷執行繼續......我不明白你想完成什麼。 – verdesmarald 2011-05-10 09:20:54