【问题标题】:PHP posting multiple data using checkbox as a criteriaPHP使用复选框作为标准发布多个数据
【发布时间】:2011-07-30 12:24:27
【问题描述】:

我正在做一个关于 twitter API 的项目,但我无法发布检查到另一个 php 进行编辑的数据!我正在创建一个网站,允许我的用户选择他们从 twitter 搜索的推文,在将其发布到数据库之前在 textarea 中对其进行编辑。

这里是场景!目前,我已经从 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 的用户名和推文?

【问题讨论】:

    标签: php forms post checkbox


    【解决方案1】:

    原因是checkboxes定义的add数组总是从0开始的

    您应该为复选框指定当前索引 $1 的值:

    &lt;input type="checkbox" name="add[]" value="&lt;?php echo $i ?&gt;"/&gt;

    然后遍历复选框数组:

    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++;
        }
    ?>
    

    【讨论】:

    • 这可能是真的。请检查变量名称。也许“添加”不是您的复选框值的目的地。您上面的 PHP 示例确实说:例如 $select。
    • 我猜你已经检查了第一条推文。但是 0 之后的这个尾随“/”呢?
    • StackOverflow 不希望我们添加那么多 cmets。所以接下来你可以测试的是你的 HTML。 HTML中复选框的值是什么?
    • 那么这是修复的地方。应该是循环中 $i 的值。
    • 我认为 $i 的值在循环内,但我找不到错误。你能帮我查一下吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-24
    • 2013-11-09
    • 1970-01-01
    • 2015-02-01
    • 2017-11-15
    • 2014-12-03
    相关资源
    最近更新 更多