小妹的作業被退回來...PHP結合MY SQL 下面這程式可以麻???請各位大大幫忙

edited 十月 2013 in PHP新手區
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=big5" />
<title>線上考試</title>
</head>
<body>
<center>
<font size="5"color="blue">線上考試</font>
</center>
<hr>
<p></p>
<?

$link_ID=mysql_connect("localhost");

mysql_select_db("class");

for($i=1;$i<=10;$i++){
$a[$i]=$i;
};
for($i=1;$i<=5;){
$chcNum=rand(1,10);
if($a[$chcNum]!=0){

$str="select*from exam
where qid='$a[chcnum]';";

$result=mysql_query($str,$link_ID);

$arr[$i]=mysql_fetch_array($result,mysql_both);
$i++;
$a[$chcnum]=0;
};
};
mysql_close($link_ID);
?>

<form action="check.php"method="post"name="foml">
<? for($i=1;$i<=5;$i++){
?>
<font size="4"color="brown"><?echo $i?>.</font>
<font size="4"color="DarkBlue"><?echo $arr[$i][qus]?></font><br>
<? for($j=2;$j<=5;$j++){?>

<input type="hidden"name="txt[<?echo $i?>]"
value="<?echo$arr[$i][qid]?>">
<input type="radio"name="rdoq[<?echo $i?>]"
value="<?echo $j?>">
<font size="4">
<?echo $arr[$i][$j]?></form><?};?>
<p></p>
<?};?>
<input type="submit"value="我答完了"name="submitl">
</form>
</body>
</html>

原始討論: http://twpug.net/x/modules/newbb/viewtopic.php?topic_id=4339

評論

  • edited 八月 2009
    其實我蠻想刪除你的文章的,只是你上一篇有善心人士回應...

    麻煩自己多花一點心思,無論是處理你的作業,還是描述你的問題。
  • edited 八月 2009
    作業被退你應該詢問教授
    該怎修改,加強哪部分,或是看哪邊不滿意
    發問程式可不可以?就出社會十來年的我來說。。。。這程式還真的上不了檯面
  • 280280
    edited 八月 2009
    基本上你這個程式有很多問題!!

    也難怪 kiang 大與 sam0228 大會這樣說
    這是心態上的問題

    你是想學寫 PHP 而有心研究??
    還是你只是要交作業,交差了之後從此不會再碰??
    (基本大多的學生都是如此)

    雖然你很誠實的說出了你的需求
    是因為作業的關係
    也因為如此讓人感覺上比較像後者

    一般心態上來說
    大家通常都是不太想把熱情
    用在幫助只是為了交差
    而不是真正有需要的人
    因為人的熱情是有限的

    也不是說為了交差不行
    但是如果在你為了交差的這個過程當中
    有所學習或提升,也是不錯
    雖然不確定你以後會不會持續的走這條路

    不過必竟有問被ㄉ一ㄤ
    總比不問直接 Copy 或直接找槍手解決來的好

    廢話了一堆!!

    你的程式有很多地方有問題
    你可以依照錯誤訊息,一行一行的除錯
    除非你連錯誤都看不懂
    那你就把該程式段落與錯誤訊息一併貼上

    目前有看到的部份

    1.$link_ID=mysql_connect("localhost");
    資料庫連線,應該需要帳號與密碼,無一例外
    除非你不是使用資料庫
    $link_ID=mysql_connect("localhost","帳號","密碼");
    相關函數的使用可上 Google 大神上找,有很多說明的網站

    2.$str="select*from exam
    where qid='$a[chcnum]';";
    這個也錯很大
    該空格的地方沒空格
    ; 結束符號使用錯誤
    應該是這樣
    $str="select * from exam where qid='$a[chcnum]'";
    至於為什麼,你自己想一下
    如果你下次問問題,還是遇到一樣錯誤狀況話
    那表示你根本不知道問題在那,想都沒想過
    那我們也只好抱歉了

    3.<form action="check.php"method="post"name="foml">
    這行不會出現錯誤
    但通常各屬性還是都會空格,比較容易閱讀
    屬性有空格時,有時連雙引號都不用
    不過還是括比較好
    <form action="check.php" method="post" name="foml">

    4.<?echo $i?>
    沒有結尾符號
    有使用到這種用法的問題都一樣

    希望你可以再接再勵,繼續精進!!
  • edited 八月 2009

    其實mysql_connect()是可以的,前提是php.ini裡面要設定跟mysql user有對應
    另外在mysql中可以用;分開兩個sql語法 所以他mysql語法後面帶;也是可以過的

    我的感覺是
    程式執行ok,但是他教授不滿意
    所以才建議去問教授
  • edited 八月 2009
    又到了歡樂的擲杯時間,我就猜猜看了 ~"~
    看起來你是要從exam資料表中隨機抽出5個題目
    但是你卻用php rand(1,10)去決定qid的條件
    現在你的exam表中只有10題,看起來似乎沒問題
    這樣一來就做不到動態新增題目,就算之後有1~15個題目
    程式依然無視11~15題,這些將永遠不會出現,懂乎?
    結果就是..要從exam資料表中隨機抽出5個題目,只需要這樣的SQL句↓
    $str="SELECT * FROM exam ORDER BY RAND() LIMIT 5;";
    PS.反正就是,不認真,沒經驗,一行解決的東西可以寫個30行還被打槍,就變成上不了檯面
  • edited 八月 2009
    O.O 突然我也想發問..學校都沒教 PDO 嗎? 沒教物件導向的寫法嗎?
    還是一直都是HTML混PHP的寫法呀?
  • edited 八月 2009
    印象中,書本寫什麼,老師就教什麼,只是通常老師選擇的書本不會提到類似 PDO 這樣高深的東西 ^^||
Sign In or Register to comment.