0 レビュー
2 回答
php-MySQL列を更新するボタンが機能しない
誰かがWebサイトのボタンをクリックしたら、SQLステートメントでデータベースを更新したいと思います。私は何かを試しましたが、成功しませんでした。助けてくれませんか?コードは次のとおりです。
http://pastebin.com/D0S83Jgh
私がこの質問を正しくしたかどうかわからない、私はここで新しいです。
わからない
0
レビュー
答え :
解決策:
準備されたステートメントが間違っています。
クエリを実行するためにpdoで使用するコードは次のとおりです:
$sqlUpd = $upd->prepare("UPDATE league_signups SET approved='1' WHERE id = :id");
$q->bindParam(':id', $id, PDO::PARAM_STR);
$q->execute();
チャームのように機能する必要があります。
わからない
0
レビュー
答え :
解決策:
このコードをメインループから外します:while($ row = $ q-> fetch(PDO :: FETCH_ASSOC)){}
<?php
include('pdoconnect.php');
$id = isset($row['id'];
if(isset($_REQUEST['approve']))
{
$sqlUpd = "UPDATE league_signups SET approved='1' WHERE id=$id";
$q = $upd->prepare($sqlUpd);
$q->execute();
}
if(isset($_REQUEST['unapprove']))
{
$sqlUpd = "UPDATE league_signups SET approved='0' WHERE id=$id";
$q = $upd->prepare($sqlUpd);
$q->execute();
}
?>
このコードは、ループの終了後またはコードの開始後に配置してください...
更新するデータはチェックボックスからのものですよね?次に、チェックボックスで選択したすべての値を対応するアクション「承認」または「未承認」に更新するループを作成することをお勧めします
include('pdoconnect.php');を削除します。このファイルを最初からすでに含めている場合は、まったく不要です
<?php
// checkbox[] it's an array...
$UpdateIDs = (isset($_REQUEST['checkbox'])) ? $_REQUEST['checkbox'] : [];
// check if $_REQUEST['approve'] is set else check if $_REQUEST['unapprove'] is set else set $approve to null;
$approved = (isset($_REQUEST['approve']) ?
$_REQUEST['approve'] :
(isset($_REQUEST['unapprove'])) ? $_REQUEST['unapprove'] : null;
if(!is_null($approved))
{
try {
foreach($UpdateIDs as $ID)
{
$stmt = $upd->prepare("UPDATE league_signups SET approved=:approved WHERE id=:id");
$stmt->execute([
':approved' => $approved,
':id' => $ID
]);
}
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
}
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。