我有一个名为"invoice_prod"的MySQL表:
id | qte | price | id_tva
另一个名为"tva"的表:
id_tva | content
现在,我想找到一张发票的总数,所以我做了这个查询并且它有效.
$sql_mnt = mysql_query("
SELECT SUM( (qte * price) * ( 1 + (tva / 100))) AS total_un_prod
FROM invoice_prod
WHERE id='$id_invoice'
");
Run Code Online (Sandbox Code Playgroud)
我对此查询只有一个问题."tva"返回"tva的id"而不是其内容.我必须从"tva"表中提取其内容.
很明显,这个查询返回tva的值:"1",或者它应该返回"18%",这是tva ID的内容.
我尝试创建一个PHP函数,从id中提取tva的内容,并将其包含在SQL查询中,如下所示:
$sql_mnt = mysql_query("
SELECT SUM(( qte * price) * ( 1 + (" .
tva_get_by_id(tva) . "/ 100))) AS total_un_prod
FROM invoice_prod
WHRE id='$id_invoice'
");
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
我该怎么办 ?
非常感谢你的帮助,祝你有个美好的一天:)
使用
$sql_mnt = mysql_query("
SELECT SUM((`qte`*`price`)*(1+(`content`/100))) AS `total_un_prod`
FROM `invoice_prod`
LEFT JOIN `tva` USING (`id_tva`)
WHERE `id`='".mysql_real_escape_string($id_invoice)."'");
Run Code Online (Sandbox Code Playgroud)
这将连接mysql中的两个表,因此您可以content直接使用该字段,我认为该字段包含TVA百分比.
编辑格式化并解决了转义id_invoice(我猜它是int所以一个演员就足够了,但如果没有,这也会起作用)