2011-10-22 2 views
0

안녕하세요. 빠른 질문이 있습니다. 현재 SQL 쿼리의 데이터로 양식을 채우고 있습니다. 따라서 예를 들어 항목 번호 2를 선택하고 양식을 데이터베이스의 항목 2에 대한 데이터로 채 웁니다. 그러면 내 업데이트 버튼을 눌러 양식에있는 데이터를 제출하여 양식이 변경된 경우 데이터베이스에서 변경되도록 할 수 있습니다. 예를 들어 :PHP/SQL 폼 채우기 값이 제출되지 않았습니다.

  • 항목 1
  • 을 누르면 입력 드롭 다운 목록에서 선택
  • 페이지가 새로 고쳐지고 양식이 처음
  • 제출의 SQL 문에서 데이터로 채워집니다
  • 는 ^^^이

내가 형태로 정보를 알고 이전 데이터가 전달되도록 ubdate 버튼을 누르거나 가치와 하위를에 입력 할 수 있도록하려면 작동합니다. 문제는 형태로 저장되는 변수와 데이터가 여기

통과 미안 페이지 소스

enter code here 


<!doctype html> 
<html> 
<head> 
    <meta charset="utf-8"/> 
    <link rel="stylesheet" href="css/main.css" type="text/css" /> 
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script> 
    <title>Inventory</title> 

</head> 
<body> 

<!doctype html> 
<html> 
<head> 
    <meta charset="utf-8"/> 
    <link rel="stylesheet" href="css/headercss.css" type="text/css" /> 
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script> 
    <title>Inventory</title> 

</head> 
<body> 

<div id="navigation"> 
     <ul> 
      <li> 
      <a href="">Total Inventory</a> 
       <ul> 
       <li><a href="TotalInventory.php">Total Inventory</a></li> 
       <li><a href="NewItem.php">Add new Item</a></li> 
       <li><a href="SpecificItem.php">View Specific Item</a></li> 

       <li><a href="UpdateItem.php">Update Item</a></li> 
      </ul> 
      </li> 

      <li> 
      <a href="">House Inventory</a> 
       <ul> 
       <li><a href="#">House Inventory</a></li> 

       <li><a href="#">Add new Item</a></li> 

      </ul> 
      </li> 


     </ul> 
    </div> 

</body> <br /> 
    <form id="addItem" action="/workspace/iventory2/UpdateItem.php" method="post" > 

     <select name="items" id="items"> 

     <option value"sdgssr5y">sdgssr5y</option><option value"a">a</option><option value"sf">sf</option><option value"gsh">gsh</option><option value"cat">cat</option><option value""></option><option value"afdsf">afdsf</option><option value"15">15</option><option value"zzz">zzz</option><option value"nnn">nnn</option><option value"dsdsgfsg">dsdsgfsg</option>  </select> 
     <input class="submit" type="submit" value="Enter" name="submit"/> 

     <input class="update" type="submit" value="update" name="update"/>  
    </form> 
    <form method="post"> 
     <br /> 


    <form id="addItem" action="/workspace/iventory2/UpdateItem.php" method="post" autocomplete="off" > 

     <label>Item Name: <input name="ItemName" id="ItemName" value="15"/></label><label>CostPrice: <input name="CostPrice"id="CostPrice"value="10"/></label><label>CurrentLevel:<input name="CurrentLevel"id="CurrentLevel"value="10"/></label> 


     <input class="submit" type="submit" value="Enter" name="submit"/> 
    </form> 

    <form method="post"> 

</body> 
+0

작동하지 않는 것을 명확하지 않다, 그러나 당신의 HTML이 올바르지 않습니다. 속성들 사이에 약간의 공간이 필요합니다 : . –

+0

양식의 생성 된 HTML 코드를 게시하면 도움이 될 것입니다. –

+0

IDE 또는 로컬 호스트 소스 코드의 코드를 의미합니까? –

답변

0

오독에게 게시물되지이다. 재평가 ...

2 가능한 경우, WHERE으로 텍스트를 사용하지 말고 대신 ID를 할당하고 전달하십시오. 텍스트를 사용하는 경우에는 사례 등을 고려해야합니다.

HTML에 공백을 추가하십시오.

+0

Html 오류를 잡으려면 항상 http://validator.w3.org/와 같은 HTML 유효성 검사기를 사용하여 결과를 실행하는 것이 좋습니다. –

+0

마지막으로 속성이 올바르게 인용 된 경우 속성 사이에 공백이 있어야한다는 요구 사항이 없다는 것을 확인했습니다. 유일한 * 필수 * 공간은 태그 이름 뒤에 있습니다. –

+0

끔찍한 코딩 관행이라면 업데이트 버튼을 통과 할 때 값이 전달되지 않겠습니까? 인스턴스에 대해 전달하려는 값이 행 [ 'ItemName']이지만 값으로 설정되지 않았습니까? 설정되어 있는지 확인하기 위해 검사를 받으면 실패합니다. –

0

코드에서 $ _SESSION [ 'item'] 변수가 설정/채워지는 곳이 표시되지 않지만 그 값을 HIDDEN에 저장합니다 (예 : name = "CurrentLevel"id = "CurrentLevel" 양식에 입력하십시오.

양식 코드 :

<form action="" method="post"><!-- Form action="" forces form to submit to itself --> 
<input type="hidden" name="update" value="true" /><!-- Tell our script to process --> 
<?php 
$work = mysql_query(" 
SELECT * 
FROM Inventory WHERE `ItemName` LIKE '{$_SESSION['item']}' LIMIT 1 
"); 

if ($work && (mysql_num_rows($work) > 0)) { 

$row = @mysql_fetch_assoc($work); 

echo '<input type="hidden" name="item_to_update" value="' . 
$row['ItemName'] . '" />' . 
'<label>Item Name: <input name="ItemName" id="ItemName" value="' . 
htmlentities($row['ItemName']) . 
'"/></label>' . 
'<label>CostPrice: <input name="CostPrice"id="CostPrice"value="' . 
htmlentities($row['CostPrice']) . 
'"/></label>' . 
'<label>CurrentLevel:<input name="CurrentLevel"id="CurrentLevel"value="' . 
htmlentities($row['CurrentLevel']) . 
'"/></label>'; 
} 

그리고 처리 코드 :

<?php 
if (isset($_REQUEST['update'])) { 

$ItemName = mysql_real_escape_string($_REQUEST['ItemName']); 
$CostPrice = mysql_real_escape_string($_REQUEST['CostPrice']); 
$CurrentLevel = mysql_real_escape_string($_REQUEST['CurrentLevel']); 
$ItemToUpdate = mysql_real_escape_string($_REQUEST['item_to_update']); 

mysql_query(" 
UPDATE Inventory 
SET ItemName='$ItemName',CostPrice='$CostPrice',CurrentLevel='$CurrentLevel' 
WHERE ItemName='$ItemToUpdate' 
LIMIT 1 
"); 

$_SESSION['item'] = $ItemName; 
} 
관련 문제