簡體   English   中英

PHP使用復選框作為條件發布多個數據

[英]PHP posting multiple data using checkbox as a criteria

我正在做一個有關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/>';
   }
}

結果表明,無論我檢查了哪一個。 我將僅發布檢查的數組數,而不是檢查的特定數組數。

例如:如果我檢查了tweets 0、2、4,它將始終發布0、1、2

如何更改代碼,以便如果我選擇0、2、4。它將發布屬於數組0、2、4的用戶名和推文?

原因是由復選框定義的添加數組始終從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

您需要在結果循環中獲取有效的ID:

<?php
    $i = 0;
    foreach ($json->results as $result) {
        $tweet[$i]= $result->text;
        $user[$i]= $result->from_user;
?>
        YOUR HTML
<?php
        $i++;
    }
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM