Maison > Questions et réponses > le corps du texte
Actuellement, sur le site Web de notre bureau, il y a une zone de texte de saisie utilisateur, après insertion, les résultats de la base de données seront affichés ci-dessous. Lot ID、Product、EWSFLOW 和 Zone
有 4 个结果。其中,只有 zone 不同。我想要做到 Lot ID、产品和 EWSFlow
必须立即显示,如果输入的值有 5 个不同的区域,则区域必须显示 Zone:1,2,3,4,5
. << Le premier problème a été résolu. Maintenant, j'essaie d'ajouter une case à cocher pour chaque zone et la case à cocher doit apparaître à côté de chaque zone. Mais actuellement, la case à cocher s'affiche en haut. De plus, le nombre de cases à cocher doit être le même que le nombre de régions. En supposant que la valeur insérée comporte 5 champs, en plus de cela, 5 cases à cocher doivent être affichées (exemple : champ : [case à cocher] 1).
Case à cocher affichée en haut
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
Vous pouvez modifier la requête et utiliser les fonctionnalités GROUP BY
de MySQL. Ci-dessous la requête. Ignorez les fautes d’orthographe.
$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();La fonction
GROUP_CONCAT() renvoie une chaîne contenant les valeurs non NULL concaténées du groupe.
L'instructionGROUP BY regroupe les lignes ayant la même valeur en lignes récapitulatives, telles que "Trouver le nombre de clients par pays".
P粉6931261152024-04-02 00:46:20
Vous pouvez définir un tableau, y insérer lotid
、product
和 ewsflow
et fusionner à l'intérieur de la boucle. Vérifiez ensuite s'il a déjà été utilisé avant de faire écho :
$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 "