我正在构建一个显示动态图表的网站,图表中的信息是从数据库中收集的,获取信息的过程分为两个步骤,第一个 sql 步骤是获取百分比和显示的字符串 id百分比。图形图像
您可以在图像中看到的名称是主要问题,这些名称最初是通过获取字符串的 id从第一个表中收集的,例如,包含图形 45% 的字符串“Carne Estofada”在第一个表中被符号化id 为“1”的表。
为了获取字符串而不显示字符串 id,我从第二个表(两列:每个 id 的 id 和名称)进行了第二次查询,其中我从 id 中获取了字符串。然后我把它全部显示出来。
当我编辑第一个表上的任何字段时,问题就出现了,因为信息没有以任何顺序显示。
总而言之,我希望能够在不弄乱图表的情况下编辑第一个表上的信息。
查询(php)是:
$sql1 = "SELECT porcentaje1,idopcion1,porcentaje2
,idopcion2,porcentaje3,idopcion3,porcentaje4,idopcion4
FROM 3eso1";
$rs=$mysqli->query($sql1);
$opcion1id = $rows[0]["idopcion1"];
$opcion2id = $rows[0]["idopcion2"];
$opcion3id = $rows[0]["idopcion3"];
$opcion4id = $rows[0]["idopcion4"];
$stmt = $mysqli->prepare("SELECT nombre
FROM platos
where menuid=? OR menuid=? OR menuid=? OR menuid=?");
$stmt->bind_param('iiii', intval($opcion1id), intval($opcion2id)
, intval($opcion3id), intval($opcion4id));
$stmt->execute();
实际上,我手动对数据进行排序,但我希望它自动在图表上自行排序,以便使用正确的字符串显示正确的百分比。
您只需要一个查询,连接两个表,如下所示:
SELECT
n1.nombre as nombre1, 3eso1.porcentaje1,
n2.nombre as nombre2, 3eso1.porcentaje2,
n3.nombre as nombre3, 3eso1.porcentaje3,
n4.nombre as nombre4, 3eso1.porcentaje4
FROM 3eso1
LEFT JOIN platos n1 ON n1.menuid=3eso1.idopcion1
LEFT JOIN platos n2 ON n2.menuid=3eso1.idopcion2
LEFT JOIN platos n3 ON n3.menuid=3eso1.idopcion3
LEFT JOIN platos n4 ON n4.menuid=3eso1.idopcion4
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句