0
与えられたphp配列に従ってテーブル行を並べ替える必要があります。reorder指定されたphp配列に従ったMySqlテーブル行
$table = $_POST["table"];
$rlist = json_decode($_POST['b'], true);
foreach ($rlist as $value) {
$i = array_search($value, $rlist);
$i+=1;
echo "<div>" . $i . "</div>";
}
これは問題なく動作します。結果は... 1 2 3 4 5
しかし:
foreach ($rlist as $value) {
$i = array_search($value, $rlist);
$i+=1;
try {
$stmt = $db->prepare('UPDATE ' . $table. ' SET sort = :sort WHERE title = :title') ;
$stmt->execute(array(
':sort' => $i,
':title' => $value,
));
exit;
}
catch(PDOException $e) {
echo $e->getMessage();
}
}
これは完全に動作しません。ソート列の結果は次のようになります。1 1 3 4 5 ...
ループ内の "exit"ステートメントの目的は何ですか? 1回の繰り返しの後でループを停止しませんか? – Osuwariboy
@Osuwariboy、そうです。解決済み。あなたは答えとしてあなたのコメントを置くべきです。 – bonaca
あなたの '$ _POST ['table']'は 'info_schema SET USER_PRIVILEGES 'と呼ばれることがあります。 = 、(等); - '? –
Martin