2011-12-09 4 views
0

PHP로 체크 아웃 페이지를 만들려고합니다. 항목을 나열하는 페이지는 shop.php라고합니다. 이 페이지에서는 각 항목 옆에있는 체크 박스와 함께 판매 할 번호 항목을 표시합니다. 데이터베이스에서 항목 이름과 가격 정보를 가져옵니다. 여기 내 주요 코드가 있습니다.PHP 체크 박스 값

$row = mysql_fetch_array($query); 
while($row) { 
    echo "<TR>"; 
    echo "<TD><B>$row[Name] </B></TD>"; 
    echo "<TD><B>"."$"."$row[Price] </B></TD>"; 
    echo "<TD><input type=checkbox name=foods[] value='$row[Price]' /></TD>"; 
     echo "</TR>"; 
$row = mysql_fetch_array($query); 
} 

<input type="submit" name="buy" value="Buy Now" /> 

그래서 체크 박스의 이름을 음식 []에 설정하면 제출 된 모든 체크 박스의 값이 포함될 배열이됩니다. 사용자가 "지금 구입하기"버튼을 클릭하면 cart.php 페이지로 다시 돌아 가면 구매 한 항목의 이름과 가격이 표시됩니다. $ items 배열을 반복하여 가격을 출력 할 수 있다는 것을 알고 있습니다. 내가 가진 문제는 항목 이름을 어떻게 표시 할 수 있는지 이해할 수 없다는 것입니다. 나는 다음을 수행의 thoght :

$row = mysql_fetch_array($query); 
while($row) { 
    echo "<TR>"; 
    echo "<TD><B>$row[Name] </B></TD>"; 
    echo "<TD><B>"."$"."$row[Price] </B></TD>"; 
    echo "<TD><input type=checkbox name='$row[Name]' value='$row[Price]' /></TD>"; 
    echo "</TR>"; 
$row = mysql_fetch_array($query); 
} 

이 시간, 이름과 항목의 가격이 모두는 이름과 값으로 체크 박스에 포함되어 있습니다. 그러나 문제는 하드 코딩없이 cart.php 페이지에 어떻게 표시 할 것인가입니다. 내가 의미하는 것은 어떻게 항목 이름이 같은 일을하지 않고 가격을 표시하는 것입니다 : (. 항목 이름 중 하나가 체크 박스의 이름으로 채워 된 버거이라고 가정)

if (isset($_POST['Burger'])){ 
echo "<td>$_POST['Burger']</td>"; 
} 

이 질문에 대한 제안이나 조언을 보내 주시면 감사하겠습니다. 고맙습니다.

답변

1

당신이 좋아하는 체크 박스의 이름을 경우

<input type='checkbox' name='foods[{$row['Name']}]' value='{$row['Price']}' /> 

을 당신은 배열 $ _POST [ '음식']와 이름/가격 것입니다 키/값에 액세스 할 수 있습니다. 그래야 할 일은 다음과 같습니다.

foreach($_POST['foods'] as $name => $price) { 
    echo "<tr><td>$name</td><td>$price</td></tr>"; 
} 
+0

대단히 감사합니다. 그게 바로 제가 찾던 것입니다. 도와 주셔서 감사합니다. – user1013264

1

각 확인란의 이름을 음식 [$ row [name]]으로 설정하십시오. 다음 코드가 있어야합니다.

$row = mysql_fetch_array($query); 
while($row) { 
    echo "<TR>"; 
    echo "<TD><B>$row[Name] </B></TD>"; 
    echo "<TD><B>"."$"."$row[Price] </B></TD>"; 
    echo "<TD><input type=checkbox name='foods[{$row[Name]}]' value='$row[Price]' /></TD>"; 
     echo "</TR>"; 
$row = mysql_fetch_array($query); 
} 

<input type="submit" name="buy" value="Buy Now" /> 

POST를 수행하면 항목 이름 및 가격 배열이 연관됩니다.