javascript根据号码改变位置

时间:2015-04-20 07:52:01

标签: javascript php html css mysqli

当人们填写表格时,所有数据都会被发送并保存在数据库中。 例如:

form

现在人们填写车轴的距离(在下一页),轴距会更新。他们对转向架表做同样的事情(艰难但没有距离,但有转向架号码)

完成所有操作后,DB看起来像这样:

列车信息: Train information db

轴:
axle database

转向架:
bogie database

现在有了下面的信息,它就形成了火车的形状。

End result

现在我通过选择轴的数量来制作这个形状,并将它们转成一个圆圈。 我通过选择轴表来设置距离,并使用margin-left。

现在。需要添加的实际物品的轴距分别为1000-4000。因此,当我补充说,如果它成型,火车将是巨大的。

所以我想,(但不知道它是否可行)而不是将最终结果距离设置为轴距。但随着转向架的数量。

因此,轴1和2的转向架编号为1.我希望转向架编号1位于左侧。
第3轴和第4轴的转向架编号为2.我希望在数字1旁边有200px的那些 第5轴和第6轴的转向架编号为3.我希望在数字2旁边有200px。等等。

这是end_results如何使其成形:

<div id="axle_position2">
            <?php      
                foreach($show_axle as $axlefigure){ ?>
                    <div style="margin-left:<?php echo $axlefigure['distance'];?>px;"> 
                        <?php echo $axlefigure['axle'] ?>
                    </div>
            <?php
                } 
            ?>
        </div>

它所做的功能只是一个:SELECT * FROM轴,其中train_id = train_id

编辑:

这是一个例子:

Example of result

1 个答案:

答案 0 :(得分:0)

有很多方法可以解决这个问题。这是一个可能的解决方案:

由于车轴之间的距离不再重要(在评论中指定),请关注转向架。像这样选择转向架及其轴:

SELECT bogie_nr, GROUP_CONCAT(axle_id) AS axles
FROM   `bogie` 
WHERE   train_id = 17 
GROUP BY bogie_nr

此选择将返回转向架的编号,以及该特定转向架中以轴为单位的逗号分隔列表。你唯一要做的就是像你一样遍历结果,并用逗号分隔axles字符串。

最后,要显示结果,请将轴包裹在转向架内并适当添加样式。这样的事情:($bogies将是上面查询的结果集)

<?php foreach($bogies as $bogie) { ?>
    <div class="bogie" id="bogie<?php echo $bogie["bogie_nr"]; ?>"> 
        <?php 
            $axles = explode(",", $bogie["axles"]);
            foreach($axles as $axle) {
        ?>
            <div class="axle"><?php echo $axle; ?></div>
        <?php } ?>
    </div>
<?php } ?>

我没有添加样式以使其更清晰,但我的想法是.bogie类将具有200px的margin-left(将其与下一个转向架),.axle类将包含您要添加的margin-left