whileループを使用してストアドプロシージャから呼び出す配列から重複したエントリを削除したいと考えています。whileループからフェッチされた重複を削除します。
// Prepare stored procedure call
$sth = $dbh->prepare('CALL sp_get_recipes()');
// Call the stored procedure
$res = $sth->execute();
if ($res){
while($row = $sth->fetchObject()){
echo $row->Recipe; // I would like to echo this row just once.
echo '<ul class="recipe-body"><li>'.$row->Ingredient." ".$row->Quantity." ".$row->UoM.'</li></ul>';
}
// Close connection
$dbh = null;
}else{
$arr = $sth->errorInfo();
echo "Execution failed with MYSQL: " . $arr[0] . "\n";
die();
}
私の理解は私のecho $ row-> Recipeです。何とか自分自身に存在しなければならない。私は値を一度エコーするためにarray_uniqueを調べていますが、正確に把握できないようです。誰かが正しい方向に私を指すことができれば、それはすばらしいことになります。
更新 すべての回答ありがとうございます。私は一意の行を返すストアドプロシージャを修正しました。
プロシージャから一意の行を返すのはどうですか? –