我是PHP的新手,所以我希望while循环的结果每次都不同,因为我是从CSV文件中提取数据的,所以它不应该是所有相同的数据。
这是我的代码
<div style="margin: 1%"> <?php //include 'barcode128.php'; require 'vendor/autoload.php'; if (($csvfile = fopen($_FILES['file']['tmp_name'], "r")) !== FALSE) { while (($csvdata = fgetcsv($csvfile, 1000, ",")) !== FALSE) { $colcount = count($csvdata); if($colcount!=5) { $error = 'Column count incorrect'; } else { /*$product = $csvdata[0]; $product_id = $csvdata[1]; $rate = $csvdata[2]; $description = $csvdata[3]; $image = $csvdata[4]; $imageData = base64_encode(file_get_contents($image)); echo '<div class="wrapper">'; echo '<div class="a"><img src="data:image;base64,'.$imageData.'" width="50"/> <div><b>Item: '.$product.'</b></div> <div><svg id="barcode"><script>JsBarcode("#barcode", "'.$product_id.'",{ format: "code128",width: 1,height: 35,fontOptions: "bold",marginRight:30});</script></svg></div><span><b>Price: '.$rate.' </b></span><div><span><b>Desc: </b>'.$description.'</span></div></p></span> </div></div>'; */ $imageData = base64_encode(file_get_contents($csvdata[4])); echo '<div class="wrapper">'; echo '<div class="a"><img src="data:image;base64,'.$imageData.'" width="50"/> <div><b>Item: '.$csvdata[0].'</b></div> <div><svg id="barcode"><script>JsBarcode("#barcode", "'.$csvdata[1].'",{ format: "code128",width: 1,height: 35,fontOptions: "bold",marginRight:30,font:"arial"});</script></svg></div><span><b>Price: '.$csvdata[2].' </b></span><div><span><b>Desc: </b>'.$csvdata[3].'</span></div></p></span> </div></div>'; } } fclose($csvfile); } ?> </div>
当前代码的结果:image-result
CSV文件:image-csv
这是我想要的结果:enter image description here
所以,如何使结果可以每次循环并中断,然后循环CSV文件中的下一个数据?谢谢
我是PHP的新手,所以我希望while循环的结果每次都不同,因为我是从CSV文件中提取数据的,所以它不应该全部都是相同的。这是我的代码
问题是您正在创建具有相同ID的多个svg
元素。然后,您将在JsBarcode()
调用中使用此单一ID。这样,JavaScript将始终对具有此ID的first