我正在做一个关于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的用户名和推文?
答案 0 :(得分:0)
原因是复选框定义的添加数组始终从0开始。如果未选中复选框,则不会在添加[]中显示。
您应该给复选框提供当前索引$ 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++;
}
?>