如何把動態產生的變數全都相加起來?

edited 十月 2013 in PHP新手區
我的想法是, 在我動態catch到 "問題選項數目 "之後, 產生同樣數目的數個問字欄位
而這一些文字欄位所輸入的值, 我想要把它都加起來
然後把 " 問卷總數" 除以 (文字欄位輸入值的總和)
再乘以文字欄位裡面的值, 得到每一種比例需要有的數字
ex.
設定問題選項數目3, 問卷總數300;
文字欄位動態產生3個, 填入我想要的比例, 1:2:3
然後動態取的這三格值, 加總合等於6;
300 除以6等於50
50 x 1=50
50 x 2=100
50 x 3 =150
請問這後段加總合等於6, 到計算每個選項比率的數目, 要如何寫這程式呢?


以下是我的程式碼:

<form id="form1" name="form1" method="post" action="">

請輸入你所期望的問題選項數目:
<input type="text" name="ans_num" value="<?php echo @$_POST[";ans_num"]; ?>"/> <br />
請輸入你所期望的問卷總數:
<input type="text" name="ques_total" value="<?php echo @$_POST[";ques_total"]; ?>" /> <br />
<input type="submit" name="Submit" value="送出" />
<?php
if (isset($_POST)){
echo "您所設定的該問題選項數目為: ".$_POST["ans_num"]." ; ";
echo "您所設定的問卷總數數目為: ".$_POST["ques_total"];}?>
<?php //輸入選項的數目, Submit之後, 產生相同數目的文字欄位
@$ans_num=$_POST[";ans_num"];
echo "<br>";
for ($I=0;$I<$ans_num;$I++)
{
echo "<input type='text' name='ans_num" . $I . "' size='30'>"." : ";
}
?>
<?php "<br>"; ?>
<?php
if(isset($_POST)) //在Submit之後, echo出按鈕SHOW
{
echo "<br>";
echo '<input type="submit" name="Submit2" value="SHOW" />';
}
if(isset($_POST)) //在Submit2之後, 迴圈echo出每一個文字欄位的值
{
for ($J=0;$J<$ans_num;$J++)
{
echo "<br>";
echo $_POST["ans_num" . $J]."<br>"; //已經可以動態catch輸入的比率值
}
}
?>
謝謝您的指導!!

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

評論

  • edited 九月 2006
    您好,
    我後來改成這樣, 還是出現錯誤訊息:
    Warning: Invalid argument supplied for foreach() in /var/www/html/QUESTIONNAIRE/6_1.php
    可以請您再指導一下嗎?


    <form id="form1" name="form1" method="post" action="">

    請輸入你所期望的問題選項數目:
    <input type="text" name="ans_num" value=""/> <br />
    <?php

    if (isset($_POST))
    {
    $ans_num=$_POST["ans_num"];
    for ($K=0;$K<$ans_num;$K++)
    {
    echo "請輸入你的第".($K+1)."個選項 =>"."<input type='text' name='ans_content[$K]' size='30' >"." ; ";
    }
    }
    if (isset($_POST))
    {
    foreach ($ans_content[] as $key => $value) <===錯誤訊息
    {
    echo $ans_content[0];
    }
    }
    ?>
    <?php echo "<br>"; ?>
    請輸入你所期望的問卷總數:
    <input type="text" name="ques_total" value="" /> <br />
    <input type="submit" name="Submit" value="送出" />
    <?php
    if (isset($_POST)){
    echo "您所設定的該問題選項數目為: ".$_POST["ans_num"]." ; ";
    echo "您所設定的問卷總數數目為: ".$_POST["ques_total"];}?>
    <?php //輸入選項的數目, Submit之後, 產生相同數目的文字欄位
    @$ans_num=$_POST[";ans_num"];
    echo "<br>";
    if (isset($_POST))
    {
    echo "請輸入您預設的比率分配=>";
    for ($I=0;$I<$ans_num;$I++)
    {
    echo "<input type='text' name='ans_ratio[$I]' size='30'>"." : ";
    }
    }
    ?>
    <?php "<br>"; ?>
    <?php //array + count + for or array + foreach
    if(isset($_POST)) //在Submit之後, echo出按鈕SHOW
    {
    echo "<br>";
    echo '<input type="submit" name="Submit2" value="SHOW" />';
    }
    if(isset($_POST))
    {
    foreach ($ans_ratio[] as $key => $value) <===錯誤訊息
    {
    echo "<br>";
    echo "\$ans_ratio[{$key}] = {$value}\n";
    }
    }
    ?>


    </form>
Sign In or Register to comment.