iT邦幫忙

0

有關PHP,再問一個笨問題,

php
  • 分享至 

  • xImage

經過卡住幾天,一直想不出來該怎解,再來請教站上的大大們。

程式呈現的是

顯示十題問題->每個問題有四個選項讓使用者選->看結果

目前可以在一頁顯示十題或二十題,這已經完成了。

但想要改成
一次顯示一題,等使用者回答完十題或二十題後,再看結果。

現在想不通的是「在第一題做完後,該怎麼跳到下一題...(好笨啊我!!哭)」

請大大開釋...

PS:請留言在「回答」哦,謝謝!謝謝

2011/01/25 SunAllen

總裁 iT邦好手 1 級 ‧ 2011-01-26 09:52:23 檢舉
我連PHP都不知道是啥疑惑.....看來我是比笨還要笨了....哭
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
6
alexlin6194
iT邦新手 2 級 ‧ 2011-01-25 16:10:45
最佳解答

基本上,以分頁顯示資料部分,一般不外乎使用pagesize = 10 或20 ,代表1頁要呈現10筆資料或20筆資料,太陽大可以找看有無pagesize的參數,將值改成1.就可以一次只顯示1題,
1次顯示1題的分頁碼,原本是 第一頁,下一頁,上一頁,最後一頁,你只要讓下一頁顯示出來,其餘的隱藏起來,並且將字改為下一題即可.(但這裡也要加個判斷,當使用者有作答時,下一題的點選才有動作,這邊可以利用javascript來檢核是否有作答,並跳POP視窗警告User要作答,有作答才會到下一題.

因沒看到你的程式碼,所以無法改個範例給你看.

<pre class="c" name="code">
$pagesize = 1;  //設定1頁有幾筆
<A href='?page=".($page+1)."'>下一題</A>  '設定下一題的點選

但這是程設的基本觀念,你可以參考看看
然後讓User回答,並且在網頁裡做1個判斷,當題目的ID,等於總筆數時,在最後1題送出後,就可以顯示 "查看結果" 的按鈕來讓User點選.
以上.

SunAllen iT邦研究生 1 級 ‧ 2011-01-26 10:24:11 檢舉

分頁...昨天用了整晚,但沒成功...忙...基礎太差了Orz

6
海綿寶寶
iT邦大神 1 級 ‧ 2011-01-25 19:10:12

單純傳值的話
以下兩個範例可以提供參考
方法一:用session傳值
方法二:用Hidden Fields傳值

而就你的實例來看
其實「如何取得(下)一個題目」會比「傳值」來得更難
等你寫到時就知道了囧

SunAllen iT邦研究生 1 級 ‧ 2011-01-25 19:32:33 檢舉

其實臉紅...我就是問「如何取得下一題」...Orz

我沒找Best Practice
以下提供一個可能的做法

題目存在資料庫中
每道題目都指定一個“題號"(eg. 1 到 10)
然後在每頁記錄“題號”
並且以題號加入SQL Select 條件以選出題目

不知這樣可行否?

4
drbenson
iT邦新手 4 級 ‧ 2011-01-25 20:36:34
  1. 先設定變數陣列 (題目數以及答案)

  2. 利用 HTML-CSS 讓題目隱藏或顯示

  3. 或是使用 for($i=1,$i<n;$i++) 或是 while{$ans != $answer[$i]) 迴圈控制是否繼續到下一題

    <pre class="c" name="code">
    #陣列 question[x] = {'題目內容1',....};
    #陣列 answer[x] = {'答案1',.....};
    #變數 ans = ''; #答題內容-預設空白
    for ($i=0;$i<n;$i++) // $n = 總題目數-1
    {
    if (($ans = $answer[$i]) || ($i = 0)) //答案正確時或是第一題時顯示題目
    $display = 'block';
    else
    $display = 'none';
    endif

    echo '<div style="display: ' + $display + ';">';

    顯示題目及取得答案....

    echo '題目 '+ ($i+1) + ': ' + $question[$i];
    #以下自由發揮
    ...
    ...
    ...
    }

drbenson iT邦新手 4 級 ‧ 2011-01-25 20:47:10 檢舉

倆種方式混寫在一起 您應該看得動吧 汗

SunAllen iT邦研究生 1 級 ‧ 2011-01-26 10:23:19 檢舉

看的懂!! ... 好像不能用 while (按下按鈕) 之類的方法,控制迴圈哦!?

我要發表回答

立即登入回答