Разбор цикла генерирует $ _post в php? - PullRequest
0 голосов
/ 08 декабря 2010

Я отправляю результаты цикла по почте в файл php для обработки (вставка в базу данных).Но я не уверен, как получить результаты наиболее эффективным способом.сейчас это либо 1. обновление $ _POST ['name-id'] и $ _POST ['оккупация-id], либо 2. создание $ _POST [' new_name- # '] и $ _POST [' new_occupation- #] с помощью переменной# начиная с 1 и считая.

Я застрял на эффективном способе извлечения всех этих данных и передачи их в переменные + как отделить имена от новых имен

в phpодин документ - это в основном таблица из двух столбцов в форме, которая является методом post, а при отправке переходит в другой файл php.код немного запутанный, поэтому я хотел бы отложить все это "

while ( $tracks = mysql_fetch_array($trackstring) ){
    echo "<li class=\"tracklist\"><input type=\"text\" name=\"tracknum-".$tracks['song_id']."\" id=\"tracknum-".$tracks['song_id']."\" value=\"".$tracks['song_tracknumber']."\"/>
    <input type=\"text\" name=\"trackname-".$tracks['song_id']."\" id=\"trackname-".$tracks['song_id']."\" value=\"".$tracks['song_title']."\"/></li>";
    }

for ($i = 0; $i < ( (mysql_num_rows($trackstring) < 1) ? 20 : 5 ); $i++){
//for($i=1; $i< $numtracks; $i++){
    $count++;
        echo "<li class=\"tracklist\"><input type=\"text\" name=\"newtracknum-".$count."\" id=\"newtracknum-".$count."\" value=\"\"/><input type=\"text\" name=\"newtrackname-".$count."\" id=\"newtrackname=".$count."\" value=\"\"/></li>";
        }

, и мне нужно извлечь это из другого php-файла и отсортировать так, чтобы я мог взять трек- # иtracknumber- # в значении для обновления id # базы данных. Я чувствую, что смогу заставить его работать, передавая некоторые невидимые вещи в массив

1 Ответ

2 голосов
/ 08 декабря 2010

Делает ли каждая итерация цикла отдельный пост (например, новый curl_exec () или что-то еще?). В этом случае каждый запрос будет независимым от всех остальных, и вы можете просто повторно использовать те же имена полей для каждого.

Если все это в запросе, используйте функцию PHP и вынудите его создать массив из данных поста. Если вы добавите [] в конец имени поля, PHP будет рассматривать это поле как массив и сохранять данные как таковые при обработке сообщения.

например:.

<input type="text" name="arr[]" value="hi" />
<input type="text" name="arr[]" value="there" />

при обработке PHP приведет к:

$_POST = array(
   'arr' => array(
        0 => 'hi',
        1 => 'there'
   )
)

Вы можете даже принудительно подписывать подписчиков, если захотите, просто поместите их в [], например. name="arr[12]" и name="arr[42]" даст вам

$_POST = array(
   'arr' => array(
        12 => 'hi',
        42 => 'there'
   )
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...