[英]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.