2012-11-10 2 views
1

가능한 중복 :
Able to see a variable in print_r()'s output, but not sure how to access it in code배열에 변수를 저장할 수 있습니까?

내가 변수에 배열을 저장할 수 있습니까?

나는이 배열이 있습니다

$_POST['product'] 

을하고 나는 그것을 인쇄 할 때 :

echo "<PRE>"; 
print_r($_POST['product']); 
echo "</PRE>"; 

결과는 다음과 같습니다

<PRE>Array 
(
    [0] => Array 
     (
      [0] => 1 
      [1] => cola 
      [2] => wwww 
      [3] => 1 
      [4] => 2.00 
      [5] => 0.00 
      [6] => 2.00 

     ) 

) 
</PRE> 

어떻게 배열의 값을 저장할 수 있습니다 변수? 예를 들어, [1] => cola을 데이터베이스의 테이블에 삽입해야합니다.

+2

당신 수 ... 더 명확하게 해? '$ _POST [product] [0] [1]'에 대해 이야기하고 있습니까? –

답변

0

콜라 값을 얻으려면 $_POST['product'][0][1]과 같은 배열에 액세스 할 수 있습니다.

데이터베이스에 여러 번 삽입하려면 foreach 루프 또는 for 루프를 사용해야합니다.

foreach($_POST['product'] as $product) { mysql_query("INSERT INTO YOURTABLENAME('FIELD1','FIELD2'....) VALUES('".$product[0]."','".$product[1]."'....)"); } 

좋아, Foreach 루프

업데이트] 나는 루프에 사용할 선호.

$count_array = count($_POST['product']); 
for($i=0; $i>= $count_array; $i++){ 
    mysql_query("INSERT INTO YOURTABLENAME('FIELD1','FIELD2'....) VALUES('".$_POST['product'][$i]."','".$_POST['product'][$i]."'....)"); 
} 

내부에 삽입 SQL을 피함으로써 데이터베이스에 삽입하기위한 최적화 방법도 있습니다/Foreach 루프 .. 에 대한하지만 .. 그런 당신을 위해 작동해야 지금의 :

+0

예 plze를 얻을 수 있습니까 –

+0

* 기억하십시오 당신의 입력을 위생 처리한다! 1! 11one * mysql_real_escape_string(), PDO, 또는 다른 어떤 방법을 사용하라. –

0
if(!empty($_POST['product'])) { 
    $colaVar = $_POST['product'][0][1]; 
    echo $colaVar; // outputs'cola' 
} 
1

이 같은 배열을 "스캔"을 데이터베이스에 INSERT 쿼리를 보낼 foreach 루프를 사용해야합니다

<?php 
$updateStmt = $pdo->prepare("INSERT INTO table (field) VALUES (:FIELD)"); 
foreach($_POST['product'] as $key => $val){ 
    $updateStmt->execute(array(
     ':FIELD' => $val 
    )); 
} 
?> 
0

당신은 모든 단지를 수행하는 것이 필요하지 않습니다 다음 :

$arr = $_POST['product'] 
echo $arr[0][1] 

이것은 원하는 값으로 배열 값에 액세스하는 일반적인 방법입니다.

+1

그럴 필요는 없습니다. 다음과 같이하십시오.'echo $ _POST [ 'product'] [0] [1]' –

+0

@AlvinWong 당신은 더 옳습니다. 또는 키 값을 변경하십시오! – SaidbakR

+1

확인해 주셔서 감사합니다. –

관련 문제