ホームページ >バックエンド開発 >PHPチュートリアル >フォーム編集インターフェイスを作成するためのガイダンスを探しています。

フォーム編集インターフェイスを作成するためのガイダンスを探しています。

WBOY
WBOYオリジナル
2016-06-20 12:51:51885ブラウズ

<?php	$myconn=mysql_connect("localhost","root","");	mysql_select_db("login_test",$myconn);?><html>	<head>		<title>Edit</title>		<link href="css.css" rel="stylesheet" type="text/css" />	</head>	<body>		<form method="POST">			<table>				<tr class="table_head">				<td>objname</td>				<td>objinfo</td>				</tr>				<?php					$strSql="select * from table_test";					$result=mysql_query($strSql,$myconn);					while($row=mysql_fetch_array($result))					{				?>				<tr>				<td><input type="text" name="objname" value="<?php echo $row['objname']?>" /></td>				<td><input type="text" name="objinfo" value="<?php echo $row['objinfo']?>" /></td>				</tr>				<?php					}				?>			</table>		</form>			<br>							<div style="display:inline;">				<input type="submit" class="button_black"/>				<input type="button" class="button_black" value="返回" onclick="javascript:document.location.href='test.php'"/>				<?php					print_r($_POST);				if(!empty($_POST)){					$objname=$_POST["objname"];					$objinfo=$_POST["objinfo"];					$strSql="update table_test set objname='$objname',objinfo='$objinfo' where objname='$objname' or objinfo='$objinfo'";					$result=mysql_query($strSql,$myconn);					echo"修改成功!";				}				?>	</body><?php mysql_close($myconn); ?></html>

私は少し前に PHP を学んだばかりです
上記のコードは私の頭脳で作成したものです
結果として、投稿をクリックした後、値が入力されませんでした。テキストは自動的に変更前の値に戻ります
ガイダンスを求めてください。


ディスカッションへの返信 (解決策)

if(!$myconn){
echo "接続に失敗しました".mysql_error(); }

$result=mysql_query($sql,$myconn);
if(!$result){
die(mysql_error());
mysql エラーを追加しますコードが何が間違っているかを認識できないようにするためです。

if(!$myconn){

echo "接続に失敗しました".mysql_error();

}

$result=mysql_query($sql,$myconn) ;
if(!$result){
die(mysql_error());
}
コードが何が間違っているかを認識しないように、さらに mysql エラー判定を追加します。

ご指導ありがとうございます。しかし問題はまだ解決していません


フォームには送信ボタンがなく、送信用の JS コードも表示されません つまり $_POSTデータを取得できません


フォームには送信ボタンがなく、送信用の JS コード

が表示されていないため、$_POST はデータを取得できません


送信ボタン 投稿するにはフォームに記入しなければなりませんか?長い姿勢


フォームには送信ボタンがなく、送信用の JS コードが表示されない

ため、$_POST はデータを取得できません



編集後、フォームの最後の行のデータのみが変更されたことがわかりました。
<?php	$myconn=mysql_connect("localhost","root","");	mysql_select_db("login_test",$myconn);	if(!$myconn){    	echo "连接失败".mysql_error();	}?><html>	<head>		<title>Edit</title>		<link href="css.css" rel="stylesheet" type="text/css" />	</head>	<body>		<form method="POST">			<table>				<tr class="table_head">				<td>objname</td>				<td>objinfo</td>				</tr>				<?php					$strSql="select * from table_test";					$result=mysql_query($strSql,$myconn);					while($row=mysql_fetch_array($result))					{					$objname1=$row['objname'];					$objinfo1=$row['objinfo'];				?>				<tr>				<td><input type="text" name="objname" value="<?php echo $objname1?>" /></td>				<td><input type="text" name="objinfo" value="<?php echo $objinfo1?>" /></td>				</tr>				<?php					}				print_r($_POST);				if(!empty($_POST)){					$objname=$_POST["objname"];					$objinfo=$_POST["objinfo"];					$strSql="update table_test set objname='$objname',objinfo='$objinfo' where objname='$objname1' or objinfo='$objinfo1'";					$result=mysql_query($strSql,$myconn);					if(!$result){    					die(mysql_error());					}					echo"修改成功!";										/*$strSql="select * from table_test";					$result=mysql_query($strSql,$myconn);					while($row=mysql_fetch_array($result))					{					$objname1=$row['objname'];					$objinfo1=$row['objinfo'];				?>				<tr>				<td><input type="text" name="objname" value="<?php echo $objname1?>" /></td>				<td><input type="text" name="objinfo" value="<?php echo $objinfo1?>" /></td>				</tr>				<?php					}*/				}				?>			</table>			<br>			<div style="display:inline;">				<input type="submit" class="button_black"/>				<input type="button" class="button_black" value="返回" onclick="javascript:document.location.href='test.php'"/>		</form>	</body><?php mysql_close($myconn); ?></html>
データを修正のために送信するときに、フォームの最後の行のデータを印刷することを選択したためでしょうか。 ?
修正するには ID に基づいてデータを送信する必要がありますか?

フォームには送信ボタンがなく、送信用の JS コードも表示されない

ため、$_POST はデータを取得できません


変更後、フォームの最後の行のデータのみが変更されたことがわかりました。
<?php	$myconn=mysql_connect("localhost","root","");	mysql_select_db("login_test",$myconn);	if(!$myconn){    	echo "连接失败".mysql_error();	}?><html>	<head>		<title>Edit</title>		<link href="css.css" rel="stylesheet" type="text/css" />	</head>	<body>		<form method="POST">			<table>				<tr class="table_head">				<td>objname</td>				<td>objinfo</td>				</tr>				<?php					$strSql="select * from table_test";					$result=mysql_query($strSql,$myconn);					while($row=mysql_fetch_array($result))					{					$objname1=$row['objname'];					$objinfo1=$row['objinfo'];				?>				<tr>				<td><input type="text" name="objname" value="<?php echo $objname1?>" /></td>				<td><input type="text" name="objinfo" value="<?php echo $objinfo1?>" /></td>				</tr>				<?php					}				print_r($_POST);				if(!empty($_POST)){					$objname=$_POST["objname"];					$objinfo=$_POST["objinfo"];					$strSql="update table_test set objname='$objname',objinfo='$objinfo' where objname='$objname1' or objinfo='$objinfo1'";					$result=mysql_query($strSql,$myconn);					if(!$result){    					die(mysql_error());					}					echo"修改成功!";										/*$strSql="select * from table_test";					$result=mysql_query($strSql,$myconn);					while($row=mysql_fetch_array($result))					{					$objname1=$row['objname'];					$objinfo1=$row['objinfo'];				?>				<tr>				<td><input type="text" name="objname" value="<?php echo $objname1?>" /></td>				<td><input type="text" name="objinfo" value="<?php echo $objinfo1?>" /></td>				</tr>				<?php					}*/				}				?>			</table>			<br>			<div style="display:inline;">				<input type="submit" class="button_black"/>				<input type="button" class="button_black" value="返回" onclick="javascript:document.location.href='test.php'"/>		</form>	</body><?php mysql_close($myconn); ?></html>
データの変更が提案されたときに、フォームの最後の行のデータが変更されたためですか?印刷されるように選択されましたか?
修正するには ID に基づいてデータを送信する必要がありますか?

フォーム b6c5a531a458a2e790c1fd6421739d1cb4085156c7d7c93b6f05458ee01dc59a />b90dd5946f0946207856a8a37f441edf"
b6c5a531a458a2e790c1fd6421739d1c7f3ae67cad8750ea17a415bb9bad6c5d" />gt;b90dd5946f0946207856a8a37f441edf
最後のものだけがここに示されているデータの一部。ループするたびに前の値が上書きされるため、データの最後の部分のみが変更されます


フォームには送信ボタンがなく、送信用の JS コードが表示されない

ため、$_POST でデータを取得することは不可能です


変更後、次のことがわかりました。編集後にのみ変更が行われるということですが、フォーム
<?php	$myconn=mysql_connect("localhost","root","");	mysql_select_db("login_test",$myconn);	if(!$myconn){    	echo "连接失败".mysql_error();	}?><html>	<head>		<title>Edit</title>		<link href="css.css" rel="stylesheet" type="text/css" />	</head>	<body>		<form method="POST">			<table>				<tr class="table_head">				<td>objname</td>				<td>objinfo</td>				</tr>				<?php					$strSql="select * from table_test";					$result=mysql_query($strSql,$myconn);					while($row=mysql_fetch_array($result))					{					$objname1=$row['objname'];					$objinfo1=$row['objinfo'];				?>				<tr>				<td><input type="text" name="objname" value="<?php echo $objname1?>" /></td>				<td><input type="text" name="objinfo" value="<?php echo $objinfo1?>" /></td>				</tr>				<?php					}				print_r($_POST);				if(!empty($_POST)){					$objname=$_POST["objname"];					$objinfo=$_POST["objinfo"];					$strSql="update table_test set objname='$objname',objinfo='$objinfo' where objname='$objname1' or objinfo='$objinfo1'";					$result=mysql_query($strSql,$myconn);					if(!$result){    					die(mysql_error());					}					echo"修改成功!";										/*$strSql="select * from table_test";					$result=mysql_query($strSql,$myconn);					while($row=mysql_fetch_array($result))					{					$objname1=$row['objname'];					$objinfo1=$row['objinfo'];				?>				<tr>				<td><input type="text" name="objname" value="<?php echo $objname1?>" /></td>				<td><input type="text" name="objinfo" value="<?php echo $objinfo1?>" /></td>				</tr>				<?php					}*/				}				?>			</table>			<br>			<div style="display:inline;">				<input type="submit" class="button_black"/>				<input type="button" class="button_black" value="返回" onclick="javascript:document.location.href='test.php'"/>		</form>	</body><?php mysql_close($myconn); ?></html>
の最後の行のデータは、変更のためにデータを送信するときにフォームの最後の行を印刷することを選択したため、削除されます。
修正するには ID に基づいてデータを送信する必要がありますか?

フォーム b6c5a531a458a2e790c1fd6421739d1cb4085156c7d7c93b6f05458ee01dc59a />b90dd5946f0946207856a8a37f441edf"
b6c5a531a458a2e790c1fd6421739d1c7f3ae67cad8750ea17a415bb9bad6c5d" />gt;b90dd5946f0946207856a8a37f441edf
最後のものだけがここに表示 データの一部。ループするたびに前の値が上書きされるため、最後のデータのみが変更されます

ありがとうございます!
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。