投稿者 メッセージ
<  サーバ、データベース関連の話題  ~  MySQL が更新されず行き詰まっています。
terry
投稿1時間: 木 9月 28, 2006 1:59 am  引用



登録日: 2006年9月 28日
投稿記事: 1

お世話になります。初心者です。

1)DBの表示、更新、新規追加、削除のシステムを作っていますが良いサンプルが無くて困っています。

現在はこのような感じでやっていますがもっと良い方法をご存知の方ご教授願います。

edit_update.phpで表示させ一覧の中から編集・削除を選ばせedit_input.phpでidに基づいて1レコード表示させ、data_update.phpで更新あるいは、idに基づいてレコード削除

問題部分:data_updateにedit_input.phpのデータが渡っていないようです。

2)このまどろっこしいphpの手順をもっと簡素化したり、せめてデータの受け渡しによってMySQLがきちんと更新される方法を知りたいです。
3)どこのサイトを見ても新規追加に付いて記されていませんが、idはオートインクレメントです。新規インサートする際はどういう方法になるのでしょうか。

先輩方のアドバイスお願いいたします。


edit_update.php
<?php
$con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD);
mysql_query("set names sjis");
mysql_select_db($DBNAME);
$sql = 'SELECT * from building ' ;
$res = mysql_query($sql);
While ( $row = mysql_fetch_array($res)){;
$id = $row['id']; $name = $row['name'];
$street = $row['street'];

print "<tr><td>$id<td>$name<td>$street<td>;
print"<form action='edit_input.php?id=$id' method='post'>
<input type=hidden name=id value='$id'>
<td><input type=submit value=編集></form>";
print"<form action=edit_delete.php method=post>
<input type=hidden name=id value='$id'>
<td><input type=submit value=削除></td></form>";
};
mysql_free_result($res);
?>

edit_input.php
<?php
$id=$HTTP_GET_VARS['id'];
$con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD);
mysql_query("set names sjis");
mysql_select_db($DBNAME);
$sql = "SELECT * from building where id = '$id'";
if(!$res=mysql_query($sql)){;
print "SQL Error";
exit ;
}
if(!$row=mysql_fetch_array($res)){
print"No such a data";
exit ;
}
$id = $row['id']; $name = $row['name']; $street = $row['street'];
print"<form action = data_update.php method=post>";
print"<table><tr><td>name<td><input type=text name=name value='$name'>";
print"<tr><td>street<td><input type=text name=street value='$street'></table>";
print"<input type=hidden name=id value=$id>";
print"<input type=submit value=更新>";
print"</form>";
?>

data_update.php
<?php
$con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD);
mysql_query("set names sjis");
mysql_select_db($DBNAME);
$sql = "UPDATE building SET name='$name' , area='$area' , street='$street' WHERE id='$id' ";
if (!$res=mysql_query($sql)){
print"SQL Error"; exit;
}
mysql_close($con);
print "Data Updated";
?>
トップに移動
ユーザー情報を表示 メッセージを送信
特定期間内の記事を表示:   
All times are GMT +9:00

次のトピックを表示
前のトピックを表示
Page 1 of 1
フォーラム一覧  ~  サーバ、データベース関連の話題

トピックの新規投稿   返信


 
移動先:  

新規投稿: 不可
返信: 不可t
自分の記事の編集: 不可
自分の記事の削除: 不可
投票への参加: 不可




Powered by phpBB
customized by phpspot.