私は次のコードに取り組んでいます:
function form_Subcat_Picker() {
$mysqli = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME);
if (!$mysqli) {
die('There was a problem connecting to the database.');
}
$catPicker = "SELECT Subcatid, Subcatname, Parentid
FROM ProductSubCats
ORDER BY Subcatid";
if ($Result = $mysqli->query($catPicker)){
if (!$Result) {
echo 'Could not run query: ' . mysql_error();
exit;
}
while ($row = $Result->fetch_assoc()) {
echo '<div class="parentid'.$row['Parentid'].'">';
echo '<select name="Subcatid">';
echo '<option value="'.$row["Subcatid"].'">'.$row["Subcatname"]."</option>";
echo '</select>';
echo '</div>';
}
}
$mysqli->close();
}
私がやりたいことは、次の行にあります。
while ($row = $Result->fetch_assoc()) {
echo '<div class="parentid'.$row['Parentid'].'">';
$ row ['Parentid']の部分が前の反復と同じである場合、その特定の行を無視します(divクラスを追加します)
たとえば、最初の実行で$ row ['Parentid']が1で、次のループで再び1の場合、新しいdivを作成せず、他のすべてをエコーして同じdivに保持します。 。
これは可能ですか?または、共通の親ID(複数の親IDがある)を共有している場合、複数のサブカテゴリIDと名前を1つのdivに表示するにはどうすればよいですか?
echo '<option value="'.$row["Subcatid"].'">'.$row["Subcatname"]."</option>";