2013-12-18 69 views
0

我有一個正在讀取文本文件並逐行打印文件的php頁面。並且我已經給每行的'yes''no'選項。現在我想在第二頁選擇yes作爲打印這些行。如果用戶選擇yes,那麼我想打印這些行到下一頁。我有下面的code.Can任何一個檢查這個代碼?POST下拉列表值到下一個PHP頁面

<?php 
    $i=0; 
    $lines = file("text.txt"); 
    foreach($lines as $line) { 
     $select_val=$line.'-'.$i; 
     print " <br> "; 
     print " <br> "; 
     echo($line); 
     echo '<select name=".$select_val.">'; 
     echo '<option value="Yes">Yes</option>'; 
     echo '<option value="No">No</option>'; 
     echo '</select>'; 
     print " <br> "; 
     print " <br> "; 
     $i++; 
    } 
?> 

<input type="hidden" name="ival" value="$i" /> <? 
print "<input type=submit value=Submit><input type=reset>"; 
?> 

第2頁:

<?php 
    $i=0; 
    $lines = file("text.txt"); 
    foreach($lines as $line) { 
     $select_val=$line.'-'.$i; 
     $a=$_POST[$select_val]; 
     if ($a == 'Yes') { 
     echo($line); 
     } 
     $i++; 
    } 
?> 
+0

<?php $ i = 0; $ lines = file(「text.txt」); foreach($ lines as $ line) { $ select_val = $ line。''。$ i; print「
」; print「
」; echo($ line); echo''; print「
」; print「
」; $ i ++; } ?> <? print「」; ?> – user3111740

+0

第2頁: <?php $ i = 0; $ lines = file(「text.txt」); foreach($ lines as $ line) { $ select_val = $ line。''。$ i; $ a = $ _ POST [$ select_val]; if($ a =='Yes') { echo($ line); } $ i ++; } ?> – user3111740

+3

請不要在評論中發佈代碼。編輯上面的問題,並將其放在那裏,突出顯示它,然後單擊工具欄中的「{}」以創建代碼塊。 –

回答

1

的代碼幾乎可以達到你想要做什麼,但有2值的選擇可以是具有無線選擇,而不是一個下拉更好地實現。這使得更好的可用性,因爲無線電點擊是通過一個動作與一個需要兩個動作的下拉選擇實現的。

echo '<input type="radio" name="' . $select_val . '" id="' 
    . $select_val . 'yes" value="Yes" /><label for="' 
    . $select_val . '1"> Yes</label> '; 
echo '<input type="radio" name="' . $select_val . '" id="' 
    . $select_val . 'no" value="No" /><label for="' 
    . $select_val .'no"> No</label> '; 

您的原始代碼有一些格式錯誤。如果你要使用單引號的echo語句,你必須連接具有單引號的變量返回PHP解析這樣的(推薦的方法):

echo '<select name="' . $select_val . '">'; 

,或者使用雙引號像這樣(而逃避選擇標籤內的雙引號):

echo "<select name=\"$select_val\">"; 

否則,選擇標籤將顯示爲(使用原來的代碼)

<select name=".$select_val."> 

我nstead of

<select name="line-0"> 

檢查您的PHP腳本的HTML輸出,你會看到這個。

+0

謝謝你這麼多,我明白了。再次感謝.. – user3111740

+0

你能幫我寫一個文本文件的$行值? – user3111740

+0

您可以使用[file_put_contents](http://php.net/file_put_contents)回寫到文件。它將接受一個數組,以便您可以修改已有的$ lines數組,然後將其發送回file_put_contents()。一個小的谷歌會給你比你需要做的更多。 – sjagr

相關問題