アプリ版:「スタンプのみでお礼する」機能のリリースについて

現在は、ID別に一覧ずつ修正を行い、修正ボタンをクリックしてDBに反映させますが、

あちこち不同なIDの不同なところを修正して、最後に「全体修正」をクリックし、修正した全てが一斉にDBに

反映させるにはどのようにしたらいいでしょうか?


ID 所属  年齢 性別 
1 営業部 23  男性 「修正」 「削除」
2 営業部 22  女性 「修正」 「削除」

            「全体修正」

ご教授よろしくお願いします。

A 回答 (2件)

phpMyAdmin でよくない?

    • good
    • 0

フローとしてはこんな感じがよいのでは?



javascriptを使わない限り、データは全部おくるしかありませんので、受け取った側で
フィルタをかけるのが妥当。
全体修正のときだけ例外処理を入れる感じですね。

ちなみに今回はデータのバリデートやサニタイズをしていないので必要に応じて
ご自身で調整してください。

<form>
<div>
<input type="text" name="id" value="1" readonly>
<input type="text" name="sect[1]" value="営業">
<input type="text" name="age[1]" value="23">
<input type="text" name="sex[1]" value="男性">
<input type="submit" name="del[1]" value="削除" />
<input type="submit" name="mod[1]" value="修正" />
</div>
<div>
<input type="text" name="id" value="2" readonly>
<input type="text" name="sect[2]" value="営業">
<input type="text" name="age[2]" value="21">
<input type="text" name="sex[2]" value="女性">
<input type="submit" name="del[2]" value="削除" />
<input type="submit" name="mod[2]" value="修正" />
</div>
<div>
<input type="submit" name="mod[all]" value="全体修正" />
</div>
</form>
<?
if(is_array($_REQUEST["del"])){
$id=array_shift(array_keys($_REQUEST["del"]));
$sql="DELETE FROM テーブル WHERE id='{$id}'";
print $sql.";<br>\n";
}
if(is_array($_REQUEST["mod"])){
$id=array_shift(array_keys($_REQUEST["mod"]));
$sect=$_REQUEST["sect"];
$age=$_REQUEST["age"];
$sex=$_REQUEST["sex"];
if($id=="all"){
foreach(array_keys($sect) as $id){
$sql="UPDATE テーブル SET SECTION='{$sect[$id]}',AGE='{$age[$id]}',SEX='{$sex[$id]}' WHERE id='{$id}'";
print $sql.";<br>\n";
}
}else{
$sql="UPDATE テーブル SET SECTION='{$sect[$id]}',AGE='{$age[$id]}',SEX='{$sex[$id]}' WHERE id='{$id}'";
print $sql.";<br>\n";
}
}

?>
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!