2016-05-15 42 views
1

我的表格是形容詞和副詞..它們都具有相同的結構,「字」和「val」。和$除了可以節省爆炸作用的結果變量..使用UNION從兩個表中爆炸並保存到不同的變量

我有一些代碼,在這裏..

$apart= explode(" ",$comment); 
    if(count($apart)> 0){ 
     $amount= 0; 
     for ($i=0; $i < count($apart); $i++) { 
     $query = mysql_query("SELECT * FROM adjective WHERE word= '$apart[$i]' UNION SELECT * FROM adverb WHERE word= '$apart[$i]' "); 

     while($s=mysql_fetch_array($query)) { 
      $amount= $amount + $s['val']; 
     } 
    } 
    $total = $amount; 
    $q=mysql_query("INSERT INTO feedback (name, comment, val, date) VALUES ('$name', '$comment', '$total', '$date')"); 
      if($q==1){ 
       echo "<script>alert('Success!')</script>"; 
       echo "<script>window.location='forum.php'</script>"; 
    } 
} 

我的問題是.. 如何結果中的兩個爆炸到不同的分離變量? 因爲我想改變這樣的公式: $ amount = $ amount + $ adjective ['val'] * $ adverb ['val'];

對不起,如果我的解釋不好... 我改了幾次代碼,但它以錯誤結束.. 任何人都可以幫助我嗎?

+0

如何將兩個爆炸的結果分開成不同的變量?你想用$做到這一點嗎? – Mujahidh

+0

no ..我的意思是在這段代碼中。 $ query = mysql_query(「SELECT * FROM adjective WHERE word ='$ apart [$ i]'UNION SELECT * FROM adverb WHERE word ='$ apart [$ i]'」 ); 我想從數據庫中的2個表中選擇,然後將其保存到不同的變量..所以不只是在$ querry –

+0

它結束了什麼錯誤?你可以爲你的2個表添加DDL嗎? – Richard

回答

0

,如果你想獲得你可以使用SUM函數行的總和替換查詢

SELECT * FROM adjective WHERE word = '$apart[$i]' 
UNION 
SELECT * FROM adverb WHERE word = '$apart[$i]' 

SELECT adv.val * adj.val as factor 
FROM adverb adv, adjective adj 
WHERE adv.word = adj.word AND adj.word = '$apart[$i]'; 

,但那麼這將是不錯的所有的話在表APART,你可以使用這個

SELECT SUM(adv.val * adj.val) 
FROM adverb adv, adjective adj, apart ap 
WHERE adv.word = adj.word AND adj.word = ap.word; 
+0

對不起..但是不是一張桌子..它是一個爆炸功能的變量... –

+0

這將是一件好事,如果你指定什麼是實際上是什麼以及它來自你的問題。沒有它,回答 – Richard

+0

感謝您的建議是不可能的,這是我第一次問一個問題..所以我的表格是形容詞和副詞。它們都具有相同的結構,「單詞」和「val」。我應該改變「如果」結構嗎?你能幫助我嗎? –