小さな MySQL DB のフィールドのブール値を切り替えるのに助けが必要です。名前とプレゼンス フィールド (Present/Away) を表示する index.php を作成しました。そのためにブール値を使用します。値はクリック可能で、ブール値を切り替える必要があります。関連するコードは次のとおりです。
$id=$_GET['id'];
$qresult = mysqli_query($con,"SELECT Present FROM personnel WHERE Inlogcode='$id'");
$result=mysql_fetch_array($qresult);
$presence = (bool)$result;
echo "ID is: " .$id . "<BR>";
echo "Boolean res is: " . $presence . "<BR>";
if ($presence)
{
$sql="UPDATE personnel SET Present=True WHERE Inlogcode='$id'";
$resultaat=mysql_query($sql);
}
else
{
$sql="UPDATE personnel SET Present=False WHERE Inlogcode='$id'";
$resultaat=mysql_query($sql);
}
クエリの結果を、PHP スクリプトの残りの部分で使用できる真のブール値に変換する方法がわかりません。mysql_fetch_array を追加する必要はないようですが、常にすべてゼロまたはすべて 1 を取得するため、ブール値が失われるようです。もちろん、テスト DB には両方の値が含まれています。