พบกับบทความเกี่ยวกับคอมพิวเตอร์และ programming ได้ที่ http://articles.modoeye.com
PHP development / จะรับค่าจากแบบ อาเรย์แบบไหนครับ ท่านผู้รู้แนะนำนด้วยครับ
iamyon
iamyon
Fri 7 Sep 2007 21:59:18

พี่ๆครับช่วยหน่อยนะครับมีปัญหาในการ เพิ่มข้อสอบมากๆๆครับ ต้องนั่งเพิ่มทีละข้อ
เลยอยากได้วิธีเพิ่มทีละมากกว่า 1 ข้อ หนะครับเลยทำฟอรมแบบนี้ครับแต่รับค่าไม่ได้ครับ

<form action="<? $PHP_SELF;?>" name="form3">
  <div align="right">
    <select name="num" class="poll" id="select4">
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
      <option value="4">4</option>
      <option value="5">5</option>
      <option value="6">6</option>
      <option value="7">7</option>
      <option value="8">8</option>
      <option value="9">9</option>
      <option value="10">10</option>
      <option value="11">11</option>
      <option value="12">12</option>
      <option value="13">13</option>
      <option value="14">14</option>
      <option value="15">15</option>
    </select>
    <input name="Submit_Num" type="submit" id="Submit_Num" value="Submit">
  </div>
  </form>
<form action="exam_press_.php" method="post" enctype="multipart/form-data" name="form2">
  <div align="center">
<div align="center">
      <p>&nbsp;</p>
      <p>
      </p>
      <p>&nbsp;</p>
      <p> 
          <?  
$xi="";
$nfile =$num;
For ($i = 1 ; $i <= $nfile ; $i++) {    
?>

      </p>
    </div>
    <table width="100%" align="center">
      <tr>
        <td width="26%"><div align="right"> Question
            <?=++$xi?>
          </div></td>
        <td width="74%"><input name="question[]" type="text" id="question[]" size="100"></td>
      </tr>
      <tr>
        <td><div align="right">Answer 1</div></td>
        <td><input name="c1[]" type="text" id="c1[]">
        </td>
      </tr>
      <tr>
        <td><div align="right">Answer 2</div></td>
        <td><input name="c2[]" type="text" id="c2[]">
        </td>
      </tr>
      <tr>
        <td><div align="right">Answer 3</div></td>
        <td><input name="c3[]" type="text" id="c3[]">
        </td>
      </tr>
      <tr>
        <td><div align="right">Answer 4</div></td>
        <td><input name="c4[]" type="text" id="c4[]">
        </td>
      </tr>
      <tr>
        <td><div align="right"></div></td>
        <td><select name="answer[]" id="answer[]">
            <option>&agrave;&Aring;&times;&Iacute;&iexcl;&curren;&Oacute;&micro;&Iacute;&ordm;&middot;&Otilde;&egrave;&para;&Ugrave;&iexcl;</option>
            <option value="1">&cent;&eacute;&Iacute; 1</option>
            <option value="2">&cent;&eacute;&Iacute; 2</option>
            <option value="3">&cent;&eacute;&Iacute; 3</option>
            <option value="4">&cent;&eacute;&Iacute; 4</option>
          </select>
          <div align="center">
            <div align="left"></div>
            <div align="right"> </div>
          </div>
</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp; </td>
      </tr>
    </table>
    <? } ?></p>
    <p>&nbsp;</p><div align="center">
      <input type="submit" name="Submit2" value="Submit">
      <input type="reset" name="Submit3" value="Reset">
    </div>
    </div>
</form>


ผมไม่ทราบว่าจะรับค่าจากการโพสมาแบบไหนครับ
ผมลองใช้แบบนี้

<?
for ($i =1; $i <=$nfile; $i++){  
$question =$_POST["question"]["$i"];
$c1 =$_POST["c1"]["$i"];
$c2 =$_POST["c2"]["$i"];
$c3=$_POST["c3"]["$i"];
$c4 =$_POST["c4"]["$i"];
$answer = $_POST ["answer"]["$i"];
}
?>

แต่ ไม่ได้ครับ
รบกวนด้วยจริงๆครับ แนะนำด้วยครับ

webmaster
webmaster
Sat 8 Sep 2007 07:08:49
ตัวแปร $num, $PHP_SELF ไม่ได้ถูกตั้งค่าไว้ ถ้าต้องการรับค่าจากภายนอกให้ใช้ predefined global variables ครับ

เมื่อถูก submit จะได้ค่าออกมาในรูปแบบ
Array
(
[question] => Array
(
[0] =>
[1] =>
[2] =>
[3] =>
[4] =>
[5] =>
)

[c1] => Array
(
[0] =>
[1] =>
[2] =>
[3] =>
[4] =>
[5] =>
)

[c2] => Array
(
[0] =>
[1] =>
[2] =>
[3] =>
[4] =>
[5] =>
)

[c3] => Array
(
[0] =>
[1] =>
[2] =>
[3] =>
[4] =>
[5] =>
)

[c4] => Array
(
[0] =>
[1] =>
[2] =>
[3] =>
[4] =>
[5] =>
)

[answer] => Array
(
[0] => àÅ×Í¡¤ÓµÍº·Õè¶Ù¡
[1] => àÅ×Í¡¤ÓµÍº·Õè¶Ù¡
[2] => àÅ×Í¡¤ÓµÍº·Õè¶Ù¡
[3] => àÅ×Í¡¤ÓµÍº·Õè¶Ù¡
[4] => àÅ×Í¡¤ÓµÍº·Õè¶Ù¡
[5] => àÅ×Í¡¤ÓµÍº·Õè¶Ù¡
)
)
ซึ่งเป็น object แต่ละตัวประกอบด้วย array ขนาดตามจำนวนข้อสอบ ดังนั้นก็ทำการหาขนาดของ array แล้วทำการ loop เพื่อเข้าถึงค่าแต่ละค่าในแต่ละข้อ ใช้เพียง count(), foreach() เท่านั้นครับ
Reply
Name:
E-mail:
Home | Services | Forum | Classified | Directories | Support | Contact
ATOM feed RSS 0.9 feed RSS 1.0 feed RSS 2.0 feed
Copyright © 2005 - 2007 Modoeye.com, All Rights Reserved.
Disclaimer | Privacy policy | Term of Use | Term of Services
Valid XHTML Valid CSS! PHP: Hypertext Preprocessor MySQL database Apache Powered! FreeBSD Power to serve
Modoeye Sitemap Client login