投稿者 |
メッセージ |
|
< サーバ、データベース関連の話題 ~ MySQL が更新されず行き詰まっています。 |
|
時間:
木 9月 28, 2006 1:59 am
|
|
|
|
お世話になります。初心者です。
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";
?> |
|
|
|
|
|
|
|
|
新規投稿: 不可 返信: 不可t 自分の記事の編集: 不可 自分の記事の削除: 不可 投票への参加: 不可
|
|