PHP публикует несколько данных, используя флажок в качестве критерия - PullRequest
0 голосов
/ 30 июля 2011

Я делаю проект, связанный с Twitter API, но я не могу опубликовать данные, которые проверяются на другом php для редактирования!Я создаю веб-сайт, который позволяет моему пользователю выбирать твиты, которые они искали в твиттере, редактировать их в текстовой области перед публикацией в базе данных.

Вот сценарий!В настоящее время я получил имя пользователя и твит пользователя из Twitter.Но я не могу опубликовать выбранные твиты на другой странице.

Вот коды, в которых имена пользователей и твиты, соответствующие критериям поиска, помещаются в форму с флажком с использованием вызова массива doSearchTweet.php.

foreach ($json->results as $result)
    {
        for($i=0;$i<$result;$i++){
            $tweet[$i]= $result->text;
            $user[$i]= $result->from_user;
        ?>
        <tr><td width="300" align="center"><input type="text" name="username[]" readonly="readonly" style="border:0" value="<?php echo $user[$i] ?>"></td>
        <td width="400"><textarea cols="80" rows="3" name="content[]" readonly="readonly" style="border:0" ><?php echo $tweet[$i] ?></textarea></td>
        <td width="150" align="center"><input type="checkbox" name="add[]" value="1"/></td></tr>
        <?php
        }
    }

После того, как пользователь выбрал твиты, которые он хотел отредактировать / опубликовать, он отправит их в createPost.php с использованием этих кодов.

for ($i=0;$i<20;$i++){
   if ($select[$i] == 1){
     echo $user[$i].'<br/>';
     echo $content[$i].'<br/>';
   }
}

Результаты показывают, что независимо от того, какой я проверял.Я просто опубликую количество проверенных массивов, а не конкретный, который я проверял.

Например: если я проверил твиты 0, 2, 4, он всегда будет публиковать 0, 1, 2

Как я могу изменить свой код, чтобы, если я выберу 0, 2, 4. Он будет публиковать имя пользователя и твиты, принадлежащие массиву с номерами 0, 2, 4?

1 Ответ

0 голосов
/ 30 июля 2011

Причина состоит в том, что массив добавления, определенный флажками, всегда начинается с 0. Если флажок не установлен, он не появится в add [].

Вы должны присвоить флажкам значениетекущий индекс $ 1:

<input type="checkbox" name="add[]" value="<?php echo $i ?>"/>

и затем цикл по массиву флажков:

foreach ($add as $i) {
     echo $user[$i].'<br/>';
     echo $content[$i].'<br/>';
}

ОБНОВЛЕНИЕ для комментария # 15

Вам необходимополучить действительный идентификатор в вашем цикле результатов:

<?php
    $i = 0;
    foreach ($json->results as $result) {
        $tweet[$i]= $result->text;
        $user[$i]= $result->from_user;
?>
        YOUR HTML
<?php
        $i++;
    }
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...