Service Mechanic 고객을 db에 저장하는 사이트를 구축했습니다. 항목을 갱신하는 기능이 있습니다. 선택 필드가 잘 작동하는 하나의 드롭 다운이있었습니다 (여전히 작동합니다). 그러나 사실 이후에 추가 한 두 번째 정보는 정보를 얻기 위해 단지 비어있게됩니다.옵션 태그의 코드가 데이터베이스에 빈 데이터를 보냅니다.
여기 내 코드입니다.
include('connect.php');
$table='currentJobs';
$tableMap=array('Date','Name','Phone','Bike_Year','Bike_Model','Current_Status','SType','Mechanic','Revenue','Notes');
$sqlArray=array();
foreach ($tableMap AS $key){
$sqlArray[]="`".$key."`='".mysql_real_escape_string(@$_POST[$key],$dbLink)."'";
}
$sql="UPDATE `".$table."` SET ".join(',',$sqlArray)." WHERE `id`='".$_POST['id']."'";
if (mysql_query($sql,$dbLink)){
echo 'Data for <i>' .$_POST['Name'].'</i> was successfully updated <br />'.$sql.'.';
}
else {
echo 'Sorry, could not process the following sql: <br /><code>'.$sql.'</code>';
echo mysql_errno($dbLink) . ": " . mysql_error($dbLink). "\n";
}
mysql_close($dbLink);
그것은이를 반환 :
Data for Test User was successfully updated
UPDATE `currentJobs` SET `Date`='04/14/2013',`Name`='Test User',`Phone`='1234567890',`Bike_Year`='2001',`Bike_Model`='FXD',`Current_Status`='Checked In',`SType`='',`Mechanic`='All',`Revenue`='0',`Notes`='' WHERE `id`='55'.
내 양식은 다음과 같습니다
<form action="updated.php" method="POST" name="dataForm" id="dataForm">
<fieldset>
<input type="hidden" name="id" value="<?php echo $row['id']; ?>"/>
<label>Arrival<input type="text" name="Date" value="<?php echo $row['Date']; ?>"/></label><br />
<label>Name<input type="text" name="Name" value="<?php echo $row['Name']; ?>"/></label><br />
<label>Phone Number<input type="text" name="Phone" value="<?php echo $row['Phone']; ?>"/></label><br />
<label>Bike Year<input type="text" name="Bike_Year" value="<?php echo $row['Bike_Year']; ?>"/></label><br />
<label>Bike Model<input type="text" name="Bike_Model" value="<?php echo $row['Bike_Model']; ?>"/></label><br />
<label>Current Status<!--Update Status types on two pages-->
<select name="Current_Status" form="dataForm" value="<?php echo $row['Current_Status']; ?>">
<option value="Checked In">Checked In</option>
<option value="Inline For Service">Inline For Service</option>
<option value="In Service">In Service</option>
<option value="On Hold - Parts on Order">On Hold - Parts on Order</option>
<option value="On Hold - Parts to Paint">On Hold - Parts to Paint</option>
<option value="On Hold - Waiting To Hear From Customer">On Hold - Waiting To Hear From Customer</option>
<option value="Test Ride">Test Ride</option>
<option value="Completed - Awaiting Pick Up">Completed - Awaiting Pick Up</option>
<option value="Picked Up">Picked Up</option>
</select>
</label><br />
<!--update Service Type in two pages.-->
<label>Service Type</label>
<select name="SType" form="" value="<?php echo $row['SType']; ?>">
<option value="Spec Service Interval">Spec Service Interval</option>
<option value="Interim Service">Interim Service</option>
<option value="Diagnostics">Diagnostics</option>
<option value="Tires">Tires</option>
<option value="Engine– Light Work (1-3 hrs)">Engine– Light Work (1-3 hrs)</option>
<option value="Engine– Medium Work (3-8 hrs)">Engine– Medium Work (3-8 hrs)</option>
<option value="Engine– Heavy Work (8-24 hrs)">Engine– Heavy Work (8-24 hrs)</option>
<option value="Drivetrain– Light">Drivetrain– Light</option>
<option value="Drivetrain - Heavy">Drivetrain - Heavy</option>
<option value="Dyno Tune">Dyno Tune</option>
</select>
<br />
<label>Mechanic Assigned<input type="text" name="Mechanic" value="<?php echo $row['Mechanic']; ?>"/></label><br />
<label>Final Revenue<input type="text" name="Revenue" value="<?php echo $row['Revenue']; ?>"/></label><br />
<label>Notes<input type="text" name="Notes" value="<?php echo $row['Notes']; ?>"/></label><br />
<input type="submit" value="Update" style="color:#000000;" />
</fieldset>
왜 두 번째는 데이터를 전송하지 선택 것인가?
첫 번째'select'는'form = "dataForm"이 주어졌지만'
실제로'form = ""'을 모두 제거해보십시오. –