2016-06-18 7 views
0

私のデータベースでは、iso(2カラム - ISO証明書とコードの名前)という名前のテーブルを作成し、以下のコードでは、証明書を送信タイプのボタン(クリック可能)として表示します。しかし、どのボタンが次のファイルに渡されたかを渡すことはできません。助けてください。ありがとう!PHPフォームの処理で 'name'パラメータを渡す

 <?php 
     $con=mysqli_connect("localhost","root","","dyna"); 
// Check connection 
     if (mysqli_connect_errno()) { 
     echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
     } 

      $result = mysqli_query($con,"SELECT * FROM iso"); 
      ?> 

    <form method="post" action="http://localhost/junk.php/"> 
    <?php while($row = mysqli_fetch_array($result)) 
     { ?> 
     <input type="submit" name="<?php $row['Code'] ?>" class="login login-submit" value="<?php echo $row['Value'] ?>" > 
     <?php } ?> 
    <?php mysqli_close($con); ?> 
    </form> 
+0

エラーメッセージとは何ですか? –

+1

<?php echo $ row ['Value']。'_ '。$ row [' Code ']?>コードを区切り文字で連結します。 – JYoThI

+0

あなたの問題を解決した回答があれば、それを受け入れるべきです。 –

答えて

-1

まず第一に、あなたは<?php echo...を使用しないように印刷する<?= $var ?>または<?= "test" ?>を使用することができます。

あなたの質問を理解した場合、$rowの値を<input>タグに正しく印刷することはできません。

の部分でvar_dump($row);を実行する理由をデバッグできます。したがって、配列を正しく受け取っている場合は、どのキーがあるかがわかります。最初のものは列しかし、それはあまりにも$row配列に数字キーを追加するの名前を割り当てるため

そしてもう一つ、mysqli_fetch_assocしてmysqli_fetch_arrayを交換してください。

よく理解するには、mysqli_fetch_arraymysqli_fetch_assocとお読みください。

+0

なぜそれをdownvote? – matiaslauriti

+0

私はあなたにdownvoteをしませんでしたが、恐らく質問に答えなかっただけで他の間違いを述べたからです。 –

+0

私は "あなたの質問を理解したら、' $ row'の値を​​ ''タグに正しく印字できません。だから、なぜ私を人々に堕落させるのか?彼に質問していることを教えてください...コメントのおかげで@gre_gor – matiaslauriti

2

値として証明書のコードを渡すために、certという名前<button>要素を使用しますが、ボタン名として名前の証明書を示しています。

<button name="cert" value="<?php echo $row['Code']; ?>" type="submit"><?php echo $row['Value']; ?></button> 

その後、あなたjunk.phpで、どの決定するためにPOST引数certを使用ボタンは、証明書のコードをもとに押されました:

if (isset($_POST['cert'])) 
{ 
    $cert_code= $_POST['cert']; 
    // do something with $cert_code 
} 
0

したい場合は、値とコードの両方を区切り文字で値をcodeを.concatenate意味します。

<input type="submit" name="certificate" class="login login-submit" value="<?php echo $row['Value'].'_'.$row['Code'] ?>" > 

     $ss = explode('_',$_POST['certificate']); 

     echo $ss[0]; //value 
     echo $ss[1]; //code 
+0

私は彼が 'Certificate name_CRT-AB-3535'のような名前のボタンを望まないと確信しています。証明書名がほしいだけです。値に下線がある場合はどうなりますか? –