2016-11-25 7 views
0

送信ボタンでワンクリックですべてのオプション値をマージします。複数のフォームをマージする1つのサブミットでのみオプション値を選択

次の図のように、オプション値の値を1つずつ選択します。

enter image description here

次の画像は、最終的な結果の例を持って、私は、フォームに指定された値で、データベースに提出したいと思います。そのテーブルは動的で、私はデータベース内のより多くのパラメータを削除または追加し、ページ内で選択することができます。上に出力を与えるため

enter image description here

次のコードは次のとおりです。

<?php 

$id = $_GET['menuId']; 


// A sessão precisa ser iniciada em cada página diferente 

     mysql_connect("localhost", "root" , "") or die(mysql_error()); // connecta-se ao servidor 
     mysql_select_db("teste") or die(mysql_error()); // selecciona a database do server escolhido 

     echo "<br>"; 

$sql = "SELECT * FROM menu WHERE $id = menuIdPai ORDER BY menuId "; 

$consulta = mysql_query($sql); 

if ($consulta !=0) { 

    echo('<table width="500px" border="1" align="center" class="tabela" cellspacing="0">'); 
    echo('<th class="tabela" colspan="5" align="center" bgcolor="#FFFFFF"> </th>'); 
    echo('<tr> <td width="250px" class="ver" bgcolor="FFFFFF"> <center> Grupo/Parametro: </center> </td> <td width="350px" class="ver" bgcolor="FFFFFF"> <center> Seleccione uma opção: </center> </td> </center> '); 

    while ($mostrar = mysql_fetch_array($consulta)) { 

    $id = $mostrar['menuId']; 
    $utilizador = $mostrar['menuNome']; 

    $idfilho = $mostrar['idfilho']; 
// Se a sessão não existir, inicia uma 
    if (!isset($_SESSION)) session_start(); 

    // Salva os dados encontrados na sessão 
    $_SESSION['menuID'] = $mostrar['menuId']; 
    //echo 'userid:'.$_SESSION['menuID']; 
    //echo 'sessionid:'.session_id(); 
    $_SESSION['menuNome'] = $mostrar['menuNome']; 

{ 
    echo("<tr> 

    <td align=\"center\" bgcolor='FFFFFF'>$utilizador</td> 
    <td align=\"center\" bgcolor='FFFFFF'> 
     <form method=\"post\" action=\"sucesso.php\"> 
     <select name='sucesso'\>; 
      <option value=\"0\">0</option>; 
      <option value=\"0.05\">0.05</option>; 
      <option value=\"0.1\">0.1</option>; 
      <option value=\"0.15\">0.15</option>; 
      <option value=\"0.20\">0.20</option>; 
      <option value=\"0.25\">0.25</option>; 
      <option value=\"0.30\">0.30</option>; 
      <option value=\"0.35\">0.35</option>; 
      <option value=\"0.40\">0.40</option>; 
      <option value=\"0.45\">0.45</option>; 
      <option value=\"0.50\">0.50</option>; 
      <option value=\"0.55\">0.55</option>; 
      <option value=\"0.60\">0.60</option>; 
      <option value=\"0.65\">0.65</option>; 
      <option value=\"0.70\">0.70</option>; 
      <option value=\"0.75\">0.75</option>; 
      <option value=\"0.80\">0.80</option>; 
      <option value=\"0.85\">0.85</option>; 
      <option value=\"0.90\">0.90</option>; 
      <option value=\"0.95\">0.95</option>; 
      <option value=\"1.0\">1</option>; 

     </select> 

     <br><br> 
     </center> 


     </form> 
"); 



if ($idfilho == 1) 


{ 

    echo "<td align=\"center\" bgcolor='FFFFFF'> <a href='avaliacoes2.php?menuId=".$id."'>Seleccionar</a> </td>"; 
} 
    else 

     { 

      echo ""; 

} 


echo '</tr>'; 
} 
    } 



echo"</table>"; 






    } 



    echo "<br><br><br>"; 


    echo ('<input type="submit" value="Submeter" class="link-style2" />'); 

    echo ('<br><br>'); 
echo ('<input type="button" value="Voltar" class="link-style2" onclick="history.back(-1)" />'); 
?>` 

、そのコードは、データベースに私が紹介したい値を挿入するためのものです。

これはsucesso.phpで行われます。

<?php 


{ 
     mysql_connect("localhost","root","") or die(mysql_error()); // connecta-se ao servidor 
     mysql_select_db("teste") or die(mysql_error()); // selecciona a database do server escolhido 
     $id_resp = (isset($_POST['id_resp']) ? $_POST['id_resp'] : ''); 
     $corp_resp = (isset($_POST['corp_resp']) ? $_POST['corp_resp'] : ''); 
     $id = $_SESSION['UtilizadorID']; 
     $data = (isset($_POST['data']) ? $_POST['data'] : ''); 
     $menuId = (isset($_GET['menuId']) ? $_GET['menuId'] : ''); 

     mysql_query("INSERT INTO respostas (id_resp, corp_resp,id,data,menuId) VALUES ('','" . $corp_resp . "','$id', NOW() , '$menuId')") or die("Alguma coisa correu mal durante o registo. MySQL erro: ".mysql_error()); 
     echo '<br>'; 
     echo '<br>'; 
     echo "<center>AdicIonada com sucesso.</center>"; 
     echo '<br>'; 
     echo '<br>'; 
    } 




    ?> 

このケースではForeachを使用できますか?

ありがとうございます。

よろしくお願いいたします。

答えて

0

選択する配列の名前を付ける必要があります。このように:

$array=$_POST['sucesso']; 
echo $array[0]; //echoes 0.25 
echo $array[1]; //echoes 0.45 
echo $array[2]; //echoes 0.65 

その後、あなたはこのようにそれを使用する置くことができます... [0]=>0.25,[1]=>0.45,[2]=>0.65など:あなたは$_POST['sucesso']をチェックするたび

<select name='sucesso[]'\>; 
     <option value=\"0\">0</option>; 
     <option value=\"0.05\">0.05</option>; 
     <option value=\"0.1\">0.1</option>; 
     <option value=\"0.15\">0.15</option>; 
     <option value=\"0.20\">0.20</option>; 
     <option value=\"0.25\">0.25</option>; 
     <option value=\"0.30\">0.30</option>; 
     <option value=\"0.35\">0.35</option>; 
     <option value=\"0.40\">0.40</option>; 
     <option value=\"0.45\">0.45</option>; 
     <option value=\"0.50\">0.50</option>; 
     <option value=\"0.55\">0.55</option>; 
     <option value=\"0.60\">0.60</option>; 
     <option value=\"0.65\">0.65</option>; 
     <option value=\"0.70\">0.70</option>; 
     <option value=\"0.75\">0.75</option>; 
     <option value=\"0.80\">0.80</option>; 
     <option value=\"0.85\">0.85</option>; 
     <option value=\"0.90\">0.90</option>; 
     <option value=\"0.95\">0.95</option>; 
     <option value=\"1.0\">1</option>; 

    </select> 

さて、これは何をするかですが、それは次のようなものが表示されます

これらの変数は何でもできます。それらを掛けて、あなたが望むものをデータベースに挿入してください。

はい Foreachを使用できます。私の例では、変数$arrayをforeachします。

+0

私は別のロコを疑うことがあります。提出の場所は?私はフォームループの中に入れれば、私はすべてのために提出し、私はすべてのために1つだけ提出したい。 –

+0

@ChristopheCosta submitをforループの外側に置くことができます。あなたが話しているコードを私に見せてください。私は提出を見ません。 – Loko

+0

エコー "


"; echo( ''); echo( '

'); echo( ''); ?> ' –

関連する問題