이것은 이번 주말에 작업 한 매우 기본적인 프로젝트의 마지막 구성 요소입니다. 이렇게하는 것이 더 낫고 안전한 방법이라는 것을 알고 있지만 나에게 제공되는 자원으로 제한됩니다. 나는 네가 인내심을 가져 주셔서 감사합니다.가장 간단한 방법으로 PHP 폼을 사용하여 mySQL 레코드 편집
그 말은 - 사용자가 데이터베이스 "Crosshill"아래의 "Employees"테이블에서 mySQL 레코드를 편집 할 수있는 코드를 작성하려고합니다. "employeeid", "firstname", "lastname"및 "department"의 네 가지 필드가 있습니다. 이 작업을 수행 한 유사한 코드를 발견했으며이를 프로젝트와 함께 작동하도록 수정하려고합니다.
"revise.php"라는 첫 페이지를 사용하여 첫 번째 단계를 수행 한 다음 "update.php"페이지를 사용하여 변경합니다. 첫 번째 페이지가 아래에 있으며 실행될 때 "항목을 찾을 수 없습니다"오류가 반환됩니다. 연결 코드가 잘 잡혀 코드 수정에 오류가 있다고 가정합니다.
revise.php 코드 :
<?php
mysql_connect('####', 'Crosshill', '####') or die(mysql_error());
mysql_select_db("Crosshill") or die(mysql_error());
$UID = (int)$_GET['employeeid'];
$query = mysql_query("SELECT * FROM Employees WHERE employeeid = '$UID'") or die(mysql_error());
if(mysql_num_rows($query)>=1){
while($row = mysql_fetch_array($query)) {
$firstname = $row['firstname'];
$lastname = $row['lastname'];
$department = $row['department'];
}
?>
<form action="update.php" method="post">
<input type="hidden" name="ID" value="<?=$UID;?>">
First Name: <input type="text" name="ud_firstname" value="<?=$firstname?>"><br>
Last Name: <input type="text" name="ud_lastname" value="<?=$lastname?>"><br>
Department: <input type="text" name="ud_department" value="<?=$department?>"><br>
<input type="Submit">
</form>
<?php
}else{
echo 'No entry found. <a href="javascript:history.back()">Go back</a>';
}
?>
두 번째 페이지 (update.php) 내가 처음에이 오류가 있어요 이후도, 아직 문제 해결을 못 했어 하나. 이 첫 번째 페이지를 작동 시키면 다음 페이지로 이동합니다. 그러나 필요한 경우 "update.php"페이지의 코드가 있습니다. 나는 너무 거기에 오류가 있어요 겠지 :)
<?php
mysql_connect('####, 'Crosshill', '####') or die(mysql_error());
mysql_select_db("Crosshill") or die(mysql_error());
$ud_ID = (int)$_POST["ID"];
$ud_firstname = mysql_real_escape_string($_POST["ud_firstname"]);
$ud_surname = mysql_real_escape_string($_POST["ud_lastname"]);
$ud_FBID = mysql_real_escape_string($_POST["ud_department"]);
$query="UPDATE Employees
SET firstname = '$ud_firstname', lastname = '$ud_lastname', department = '$ud_department'
WHERE ID='$ud_ID'";
mysql_query($query)or die(mysql_error());
if(mysql_affected_rows()>=1){
echo "<p>($ud_ID) Record Updated<p>";
}else{
echo "<p>($ud_ID) Not Updated<p>";
}
?>
감사 등 지원 커뮤니티 것에 대해. 나는 이것이 당신의 대부분을위한 매우 기본적인 것들이지만, 어딘가에서 시작해야한다는 것을 알고 있습니다.
이'employeeid' GET 매개 변수를'revise.php'에 전달했는데 올바른 행 ID입니까? –
죄송하지만 무슨 뜻인지 이해하지 못합니다. 이 목적은 레코드를 편집 할 수있게하는 것입니다. 나는 코드 덩어리를 어딘가에 놓치고 있는가? 단 4 개의 필드와 1 개의 테이블 만 있으므로이 작업을 쉽게 수행 할 수있는 방법을 찾으려고했습니다. 모든 제안을 부탁드립니다. 당신의 도움을 주셔서 감사합니다! – WJB
코드는'revise.php'가'employeeid' 매개 변수와 함께 호출되어야 함을 보여줍니다 - 그러면 데이터베이스에이 직원이 있고 그의 데이터로 채워진 양식이 표시되는지 확인합니다. –