2016-08-30 3 views
0

X 입력 필드 (동적)로 제출할 때 문제가 있습니다. 제출 버튼을 누르면 항상 내 페이지가 새로 고쳐집니다. 내 실수가 어디에서 발생했는지 정말로 지적 할 수는 없습니다.여러 입력 필드 및 하나의 제출 양식이있는 Foreach 루프

누군가가 문제를 지적 할 수 있기를 바랍니다.

require_once('dbconnection.php'); 


$sql = "SELECT * FROM {$value} WHERE employeeNumber = {$employeeNumber}"; 
$statement = $db->prepare($sql); 
$statement->execute(); 
$department = $statement->fetchAll(); 

$mySql = "SELECT * FROM {$value}cloth"; 
$myStatement = $db->prepare($mySql); 
$myStatement->execute(); 
$myDepartment = $myStatement->fetchAll(); 
//var_dump($myDepartment); 


echo "<table>"; 
echo "<tr>"; 
echo "<th>Type</th>"; 
echo "<th>Antal</th>"; 
echo "<th>Størrelse</th>"; 
echo "</tr>"; 
if (!empty($department)) { 
    $i = 0; 
    foreach ($department as $infoRow) { 
     foreach ($myDepartment as $row) { 
      if ($i < 2) { 
       $i++; 
      } else { 
       echo "<tr>"; 
       echo "<td>"; 
       echo $row['Type']; 
       echo "</td>"; 
       echo "<td>"; 
       echo $infoRow['Navn']; 
       echo "</tr>"; 

      } 
     } 
    } 
} else { 
    echo "<form method='POST'>"; 
    foreach ($myDepartment as $row) { 
     echo "<tr>"; 
     echo "<td>"; 
     echo $row['Type']; 
     echo "</td>"; 
     echo "<td>"; 
     echo "<input type='text' name='{$row['id']}' required>"; 
     echo "</td>"; 
     echo "<td>"; 
     echo "<input type='text' name='{$row['pieces']}' required>"; 
     echo "</tr>"; 
    } 
    echo "<tr><td>"; 
    echo "<input type='submit' name='update' value='opdaterer'>"; 
    echo "</td></tr>"; 
    echo "</form>"; 
    if ($_POST) { 
     echo "succes"; 
     if (isset($_POST[$row['id']])) { 
      echo "succes too"; 
     } 
    } 
} 

echo "</table>"; 
+0

제출시 어떻게해야합니까? –

+0

죄송 합니다만 귀하의 질문에 이해가되지 않습니다. 푸시 전송은 페이지를 새로 고칩니다. 표시 한 코드에 제출이 없거나 잘못되었습니다 (도 없음) – Forbs

+0

'action' 속성을 다른 것으로 설정하지 않았으므로 페이지에 새로 고침이됩니다. 위치. 그러나 잘못된 새로 고침은 'POST'요청이 이루어진 후 항상 리디렉션 서비스가 있어야합니다. – Aaron

답변

0

이것은별로 의미가 없습니다. 제출 버튼에서 무엇을하고 싶습니까?

제출 버튼은 대상이있는 곳으로 페이지를 리디렉션합니다. 비워두면 현재 페이지 인 기본 대상으로 되돌아갑니다. 페이지를 새로 고침 않도록 것이다 <input type = "submit"> 간단한 <button>에 변경, 그렇지 않으면 <form method="POST" action="destination.php">

뿐만 아니라 제거 : 당신이 다른 페이지에 게시 버튼을 제출하려면

, 당신은 action 속성을 지정해야 첫 번째 장소에 양식이있는 지점.

0

"제출 버튼을 누를 때마다 내 페이지가 새로 고쳐지듯합니다"(작업 속성이없는 양식을 제출할 때 페이지가 다시로드 됨) 의미하는 바를 정확히 이해하지 못합니다.

어쨌든 코드를 읽을 수있는 첫 번째 오류는 양식을 <tr> 안에 넣었습니다. 허용되지 않습니다. <td> 안에 전체 표를 양식 또는 전체 양식으로 넣을 수 있지만 다른 모든 조합은 불법입니다.