2013-04-30 5 views
-5

저는 초보자입니다. 답변이 명확하다면 유감입니다.foreach가 제대로 작동하지 않습니다.

기본적으로 사용자가 제출 버튼을 클릭하고 id를 aaa.php에 게시하도록합니다.

위의 스크립트를 사용하면 foreach 함수가 모든 id를 전송하는 것처럼 보입니다. 즉 method="get"을 사용할 때 나는 "aaa.php?mailAction=View&id=2&id=1..."이라는 URL을 얻습니다.

어떻게 문제를 해결해야합니까?

+0

그것은 당신이 더 많은 코드를 게시하면 도움이, 또는 우리가 $의 mail''의 가치와'$ A' – Dom

+1

을 알려 수도 양식에서 제출할 때 해당 양식의 모든 입력이 게시됩니다. – fullybaked

+0

'$ a' 변수에 무엇이 들어 있습니까? 왜 foreach를 사용하고 있습니까? –

답변

0

귀하의 foreach 루프는 method=get를 사용하여 브라우저 쿼리에서 id=2&id=1을받을 경우 제대로 작동하는 것 같다 이러한 유형의 배열을 사용해야합니다. 나는 여기에서 당신의 문제를 깨닫기 위해 HTML 폼을 먼저 이해해야한다고 생각한다.

<form action='aaa.php' method='get'> 
    <input type="hidden" name="id" value="2"> 
    <input type="hidden" name="id" value="1"> 

    <input type="submit" name="Action" value='View'/> 
</form> 

그러나 실제로 당신이 한 번에 하나 개의 ID를 보낼 : 당신이 ID의 배열과 형태를 생성하는 위의 코드와

. 따라서이를 달성하기 위해 여러 양식을 생성해야합니다.

<form action='aaa.php' method='get'> 
    <input type="hidden" name="id" value="2"> 

    <input type="submit" name="Action" value='View'/> 
</form> 

<form action='aaa.php' method='get'> 
    <input type="hidden" name="id" value="1"> 

    <input type="submit" name="Action" value='View'/> 
</form> 

희망 사항은 이제 알 수 있습니다.

문제를 해결하기 위해, PHP 코드는과 같이해야한다 :

foreach ($a as $b) 
{ 
    echo "<form action='aaa.php' method='get'> 
      <input type='hidden' name='id' value=" . $b['id'] . "> 
      <input type='submit' name='Action' value='View'/> 
     </form>"; 
} 
+0

그것은 작동합니다! 고마워요 !! – user2335065

+0

당신을 환영합니다! :) – Alexxus

0

버튼을 제출에 ID를 놓음으로써이

<table> 
    <form action="aaa.php" method="get"> 
    <?php foreach ($a as $b) : ?> 
     <tr> 
      <td><input type="submit" name="Action" value="<?php echo $b['id'];?>" /></td> 
      <td><?php echo $mail['info'] ?></td>    
     </tr> 
    <?php endforeach;?> 
    </form> 
</table> 

을 시도, 당신은 URL

+0

고마워요! 하지만 실제로는 폼에 여러 개의 버튼이 있으므로 value = 'View'가 필요합니다. 이것은 stackoverflow에 게시 할 수있는 첫 번째 시간이며 아마도 내가 게시 할 때 명확해야합니다. 그러나 나는 그런 빠른 응답을 정말로 기대하지 않았다! 고맙습니다! – user2335065

0

에서 클릭 된 버튼의 값을 취득하는 방법을 자신의 형태로 각각의 ID를 넣어 어떻습니까?

<?php foreach ($a as $b) { 
?> 
<form action='aaa.php' method='get'> 
    <table> 
     <tr> 
     <td><input type="submit" name="Action" value='View' /></td> 
     <td><?php echo $mail['info'] ?></td> 
     ... 
     <input type="hidden" name="id" value="<?php echo $b['id']?>" /> 
     <tr> 
    </table> 
</form> 
<?php 
} 
?> 
0

당신은

<form action='aaa.php' method='get'>` 
<?php foreach ($a as $b) { 
?> 
    <tr> 
    <td><input type="submit" name="Action[]" value='View' /></td> 
    <td><?php echo $b['info'] ?></td> 
    <input type="hidden" name="id[]" value="<?php echo $b['id']"?> 
<?php echo } 
echo "</tr></form></table>"; 
?> 
관련 문제