大家晚上好,我想为每种面食打印一个条形码。我根据我的代码修改了这段代码,但它不读取code字段中的数据。(由php rand ()代码创建)我将通过要打印的条形码选择id。
<html>
<head>
<?php
$con=mysqli_connect("localhost","xxx","xxx","xxx");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$id = $_GET['id'];
$query= "select * from pasta where id='$id'";
$result = mysqli_query($con,$query);
while ($row = mysqli_fetch_assoc($result)){
$rand=$row['codice'];
}
?>
<br>
<div style="width:25px: height:500px; border:2px, solid #000; align="center"">
<div align="center">
<img src="http://bcgen.com/demo/linear-dbgs.aspx?=D<?php echo $rand ?>">
<br>
<form action ="stampa.php" method="post">
<input type="button" value="stampa"
onClick="window.print()"/>
</form>
</body>
</html>发布于 2016-06-14 06:50:33
在我看来,您有一个循环,它读取所有与select匹配的行,并在循环中覆盖'codice‘的所有值,然后创建一些html (最终,在浏览器中)生成您的条形码。
Solarflare是非常正确的:检查您的输入是否如您所想的那样,并且查询结果是否也包含您所期望的字段。最好总是显式地提到字段名--也就是说,不要使用* --这样不匹配的名称就更容易被发现。
如果您只希望从DB中获得一个值,那么您不需要while循环,也许SQL中的LIMIT 1也会很好。如果不是,则需要将html嵌套在php循环中,以便获得多个img标记输出。
..。一定要把html修好。如果缩进代码会有所帮助,因为这会立即显示出哪里不匹配。
说到这一点,更好的做法是在服务器端生成条形码,而不是让浏览器/客户端从第三方站点生成条形码。
https://stackoverflow.com/questions/37799095
复制相似问题