2016-05-15 38 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”。我应该改变“如果”结构吗?你能帮助我吗? –