Heim > Fragen und Antworten > Hauptteil
Derzeit gibt es auf unserer Büro-Website ein Textfeld für Benutzereingaben. Nach dem Einfügen werden die Ergebnisse der Datenbank unten angezeigt. Lot ID、Product、EWSFLOW 和 Zone
有 4 个结果。其中,只有 zone 不同。我想要做到 Lot ID、产品和 EWSFlow
必须立即显示,如果输入的值有 5 个不同的区域,则区域必须显示 Zone:1,2,3,4,5
. << Das erste Problem wurde gelöst. Jetzt versuche ich, für jeden Bereich ein Kontrollkästchen hinzuzufügen, und das Kontrollkästchen muss neben jedem Bereich erscheinen. Aber derzeit wird das Kontrollkästchen oben angezeigt. Darüber hinaus muss die Anzahl der Kontrollkästchen mit der Anzahl der Regionen übereinstimmen. Unter der Annahme, dass der eingefügte Wert 5 Felder hat, müssen zusätzlich 5 Kontrollkästchen angezeigt werden (Beispiel: Feld: [Kontrollkästchen] 1).
Kontrollkästchen oben angezeigt
echo "<table id='corwafer'>"; $arr = array(); while ($row = mysqli_fetch_assoc($result1)) { $field1name = $row["lotid"]; $field2name = $row["product"]; $field3name = $row["ewsflow"]; $field4name = $row["zone"]; $key = $field1name + ":" + $field2name + ":" + $field3name; if (!in_array($key, $arr)){ echo "<tr>"; echo "<th >Lot ID:</th>"; echo "<td >$field1name</td>"; echo "</tr>"; echo "<tr>"; echo "<th>Product:</th>"; echo "<td>$field2name</td>"; echo "</tr>"; echo "<tr>"; echo "<th>EWSFLOW: </th>"; echo "<td>$field3name</td>"; echo "</tr>"; array_push($arr, $key); } echo "<tr>"; echo "<th>Zone:</th>"; echo "<input type='checkbox' name='chkzone' value='chkzone'>"; echo "<td>$field4name</td>"; echo "</tr>"; } echo "</table>";
P粉4500792662024-04-02 09:04:12
您可以更改查询并使用 MySQL 的 GROUP BY
功能。下面是查询。忽略任何拼写错误。
$sql = "SELECT lotid, product, ewsflow, GROUP_CONCAT(zone) FROM productdb.tbl_correlationwafer WHERE lotid = ? GROUP BY lotid, product, ewsflow ORDER BY lotid"; $pq = $mysqli->prepare($sql); $pq->bind_param('i', $productlotid); $pq->execute(); $result = $pq->get_result(); $data = $result->fetch_all();
GROUP_CONCAT() 函数返回一个字符串,其中包含来自组的串联非 NULL 值。
GROUP BY 语句将具有相同值的行分组到汇总行中,例如“查找每个国家/地区的客户数量”。
P粉6931261152024-04-02 00:46:20
您可以定义一个数组,并将 lotid
、product
和 ewsflow
放入其中并在循环内合并。然后在回显之前检查它之前是否已经使用过:
$arr = array(); while ($row = mysqli_fetch_assoc($result1)) { $field1name = $row["lotid"]; $field2name = $row["product"]; $field3name = $row["ewsflow"]; $field4name = $row["zone"]; $key = $field1name + ":" + $field2name + ":" + $field3name; if (!in_array($key, $arr)){ echo ""; echo " "; echo "Lot ID: "; echo "$field1name "; echo ""; echo " "; echo "Product: "; echo "$field2name "; echo ""; echo " "; array_push($arr, $key); } echo "EWSFLOW: "; echo "$field3name "; echo ""; echo " "; }Zone: "; echo "$field4name "; echo "