我的表是形容词和副词。。二者具有相同的结构,"词"answers"瓦尔"。$separate是用于保存爆炸函数结果的变量。。
我有一些代码,在这里。。
$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+$形容词['val']*$副词['val'];
对不起,如果我的解释不正确。。。我更改了代码好几次,但最后都是错误的。。有人能帮我吗?
替换查询
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]';
如果你想得到所有行的总和,你可以使用sum函数,但最好把所有的单词都放在表APART中,你可以用这个
SELECT SUM(adv.val * adj.val)
FROM adverb adv, adjective adj, apart ap
WHERE adv.word = adj.word AND adj.word = ap.word;