mysql\u fetch\u数组仅获取第一个结果,即使使用while循环也是如此

idfiyjo8  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(293)

我正在尝试打印多个mysql行,使用mysql\u fetch\u数组和while循环,但是它只打印第一个结果,而我的表中包含了许多具有正确条件的结果

$queryString="SELECT * FROM items WHERE order_id='".$order_id."' and confirm_order='0' ORDER BY id";
$myquery=mysql_query($queryString);

$handle = printer_open("POS");
printer_start_doc($handle, "My Document");
printer_start_page($handle);
$font = printer_create_font("Arial", 35, 20, 300, false, false, false, 0);
printer_select_font($handle, $font);

while ($fetch = mysql_fetch_array($myquery)) {

    $product=$fetch[product_name];
    $type=$fetch[type];
    $q=$fetch[item_quantity];
    $comment=$fetch[comment];

    $tex="".$q." ".$type." ".$comment." ".$product."";
    printer_draw_text($handle, $tex, 10, 10);
  }
printer_delete_font($font);
printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);

note:- and 我不能用 mysqli 或者 PDO 因为我只是在测试一个老项目

huus2vyu

huus2vyu1#

基于打印机\绘图\文本手册
该函数使用所选字体在x、y位置绘制文本。
在你的代码里 x,y 值为10,10。所以每次新的文本都写在同一个位置上。这意味着上一个值被新值覆盖,并且只绘制一个值。
有两种可能solution:-
1.每次迭代后改变x,y位置值。

$counter = 10; //add a number counter

while ($fetch = mysql_fetch_assoc($myquery)) {//use assoc for lighter array iteration

    $product=$fetch['product_name']; //use quotes around indexes, best practise
    $type=$fetch['type'];
    $q=$fetch['item_quantity'];
    $comment=$fetch['comment'];

    $tex="$q $type $comment $product";//remove unncessary quotes
    printer_draw_text($handle, $tex, $counter, $counter); // use that number counter as x,y position
    $counter+10;//in each iteration chnage the value by adding 10
}

2.或在每个页面中创建新页面iteration:-

while ($fetch = mysql_fetch_assoc($myquery)) {//use assoc for lighter array iteration

    $product=$fetch['product_name'];//use quotes around indexes, best practise
    $type=$fetch['type'];
    $q=$fetch['item_quantity'];
    $comment=$fetch['comment'];

    $tex="$q $type $comment $product";//remove unncessary quotes
    printer_draw_text($handle, $tex, 10, 10);
    printer_end_page($handle); //end page on each iteration
  }
printer_delete_font($font);
printer_end_doc($handle);
printer_close($handle);

note:- add 代码的其余部分。

相关问题