2013-07-10 3 views
0

Я считаю, что это, вероятно, очень простой вопрос, но поскольку я просто занимаюсь цифрами, он сортирует мой мозг.Идентификатор захвата из массива формы

Ниже моя форма с некоторыми линиями удалены из-за того, что не имеет отношения к вопросу

$envList = $link->query("SELECT * FROM environments"); 
echo "<form action = 'editEnvOrderExec.php' method = 'post'>"; 
echo "<input type = 'hidden' name = 'userID' value = '".$userID."'>" 
while($row = $envList->fetch_assoc()){ 
    $eName = $row['name']; 
    $dID = $row['displayID']; 
    $eID = $row['id']; 
    echo $eName.": <input type = 'text' name = 'eID[".$eID."]' value = '".$dID."'><BR>"; 
} 

При подаче $_POST выглядит следующим образом

array(2) { 
    ["userID"]=> 
    string(1) "2" 
    ["eID"]=> 
    array(6) { 
    [1]=> 
    string(1) "1" 
    [3]=> 
    string(1) "2" 
    [4]=> 
    string(1) "3" 
    [5]=> 
    string(1) "4" 
    [6]=> 
    string(1) "5" 
    [8]=> 
    string(1) "6" 
    } 
} 

мне нужно принимать значения в скобках, [1][3][4][5][6][8], и для каждого из них есть инструкция mysql update displayID со значением [1][2][3][4][5][6]. Моя проблема заключается в том, что я не могу понять, как настроить таргетинг ...

ПРИМЕЧАНИЕ. Я знаю, что мне нужно дезинфицировать значения, а также проверить, используется ли идентификатор отображения и т. Д., Но это просто v0 0,1. Попытка получить функциональность вниз, то я могу решить эти и другие вопросы

+1

Если вы нуждаетесь в них отдельно, можно использовать для ключей: [ 'array_keys()'] (http://php.net/array-keys), для значений: ['array_values ​​()'] (http://php.net/array-values) – BlitZ

ответ

2

Самый простой способ, если вы итерация цикла с использованием foreach:

$eID = $row['eID']; 

foreach ($eID as $key => $value) { 
    // here $key is the array key you're looking for. 
} 
+0

oh man, thats perfect. Я когда-либо ненавижу массивы. Благодаря! – mhopkins321