2

MySQLテーブルのデータを変更するためのフォームを作成したいと思います。まず、adminindex.phpページにすべてのデータをリストします。次に、選択したデータをフォームで開くためのボタンを作成します。フォームフィールドをメイン(pk)MySQLテーブルに割り当てました。テーブルには多くの外部データが含まれているため、外部テーブルデータをフェッチする必要があるときに問題が発生しました。ご存知のように、クラスには多くの生徒がいる可能性があります。クラスデータのフィールドを作成しましたが、問題は生徒のデータにあります。MySQL外部テーブルからデータをフェッチするために多くのフィールドを作成する必要がありますか?はいの場合、コード手順を教えてもらえますか?どうもありがとうございます。本当にあなたの助けに感謝します:D

これらは私のステップです:

最初に行をエコーし​​、次にフォームアクションをコーディングします。次に、adminpost.phpで、変数を作成し、フィールドをリンクし、UPDATEMYSQLを使用してテーブルのデータを更新します。プライマリテーブルデータの更新に成功しましたが、外部キーデータでスタックしています。ありがとう

4

2 に答える 2

3

2ページあります。最初の形式でデータを表示し、2番目の形式で更新します。これを1つずつ実行するためのコードを次に示します。必要に応じて、一度に複数の行を作成できます。

edit.php

<?php
mysql_connect('ip', 'username', 'password') or die(mysql_error());
mysql_select_db("db_name") or die(mysql_error());

$query = mysql_query("SELECT * FROM table1 where order by question_id limit 1") or             die(mysql_error());

if(mysql_num_rows($query)>=1){
while($row = mysql_fetch_array($query)) {
    $id = $row['id'];
    $value1= $row['value1'];
    $value2= $row['value2'];
}
?>
<form action="update.php" method="post">
<input type="hidden" name="ID" value="<?php echo $id;?>">

Value1: <input type="text" name="value1" value="<?php echo $value1;?>">
<br>
Value2: <input type="text" name="value2" value="<?php echo $value2?>">
<input type="Submit" value="Change">
</form>
<?php
}else{
    echo 'No entry found. <a href="javascript:history.back()">Go back</a>';
}
?>

update.php

 <?php
 mysql_connect('ip', 'username', 'password') or die(mysql_error());
 mysql_select_db("db_name") or die(mysql_error());

 $id = mysql_real_escape_string($_POST["ID"]);
 $value1 = mysql_real_escape_string($_POST["value1"]);
 $value2 = mysql_real_escape_string($_POST["value2"]);

 $query="UPDATE table1 SET value1 = '.$value1.', value2 = '.$value2.' WHERE id='$id'";


 mysql_query($query)or die(mysql_error());
 if(mysql_affected_rows()>=1){
echo "<p>($id) Record Updated<p>";
 }else{
echo "<p>($id) Not Updated<p>";
 }
 ?>
 <a href="edit.php">Next</a>
于 2012-11-30T08:54:44.930 に答える
0

実際のコードを作成するのに役立つかもしれませんが、私が理解しているように、あなたはすでにテーブルにあるデータを編集したいだけですか?だとしたら :

//Connect to SQL DB
$dbcnx = @mysql_connect("localhost", "root", "password");

//Select DB
mysql_select_db("database_name", $dbcnx);

//Query DB
$sql = update table_name set column_name = "$variable" where column = "your_criteria";

@mysql_query($sql)

それはあなたをあなたのSQLDBに接続し、あなたのためにレコードを更新します、あなたが必要なものであることを願っています

于 2012-11-30T08:46:00.320 に答える