2017-07-20 4 views
1

私は現在、私の人がヒントを入力できるようにするレジスタクローズサイトを持っています。私は新しい従業員を取得するときに、私はデータベースに追加する必要がありますヒントの金額(時々複数の店舗/ページ)を求めるHTMLページに名前を追加し、値を提出するPHPページに彼らの名前を追加する給与計算/経理/税金に使用するすべてのページに名前を追加する必要があります。SQLテーブルからオプション入力を提供するフォーム

"アクティブな従業員"テーブルから入力されたオプションを使用してオプション入力を持つフォームを試していたので、そこに入力するだけです。私はその部分が働いている!!

次に、オプションボックスの横にあるボックスを置いて、各自が受け取ったヒントの量を入力できるようにしたいと考えました。

私はその部分に問題があります。

これまでのところ、私は5つのオプション入力にデータベースからの値を与えてくれました。私は後の量の入力ボックスを把握することはできません。

<?php 

require_once 'loginemployees.php'; 
$conn = new mysqli($hn, $un, $pw, $db); 
if ($conn->connect_error) die($conn->connect_error); 


$res=$conn->query("select Name from Status"); 


    echo "<html>"; 
    echo "<body>"; 
    echo "<select name='id'>"; 

    while ($row = $res->fetch_assoc()) { 

        unset($id, $name); 
        $id = $row['id']; 
       $name = $row['Name']; 
        echo '<option value="'.$id.'">'.$name.'</option>'; 

} 

    echo "</select>"; 
    echo "Tips: $ <input type="text" name="lname">"; 


    echo "</body>"; 
    echo "</html>"; 

echo "<br><br>"; 

$res=$conn->query("select Name from Status"); 


    echo "<html>"; 
    echo "<body>"; 
    echo "<select name='id'>"; 

    while ($row = $res->fetch_assoc()) { 

        unset($id, $name); 
        $id = $row['id']; 
       $name = $row['Name']; 
        echo '<option value="'.$id.'">'.$name.'</option>'; 

} 

    echo "</select>"; 
    echo "</body>"; 
    echo "</html>"; 

echo "<br><br>"; 



$res=$conn->query("select Name from Status"); 


    echo "<html>"; 
    echo "<body>"; 
    echo "<select name='id'>"; 

    while ($row = $res->fetch_assoc()) { 

        unset($id, $name); 
        $id = $row['id']; 
       $name = $row['Name']; 
        echo '<option value="'.$id.'">'.$name.'</option>'; 

} 

    echo "</select>"; 
    echo "</body>"; 
    echo "</html>"; 


echo "<br><br>"; 










$res=$conn->query("select Name from Status"); 


    echo "<html>"; 
    echo "<body>"; 
    echo "<select name='id'>"; 

    while ($row = $res->fetch_assoc()) { 

        unset($id, $name); 
        $id = $row['id']; 
       $name = $row['Name']; 
        echo '<option value="'.$id.'">'.$name.'</option>'; 

} 

    echo "</select>"; 
    echo "</body>"; 
    echo "</html>"; 









echo "<br><br>"; 





$res=$conn->query("select Name from Status"); 


    echo "<html>"; 
    echo "<body>"; 
    echo "<select name='id'>"; 

    while ($row = $res->fetch_assoc()) { 

        unset($id, $name); 
        $id = $row['id']; 
       $name = $row['Name']; 
        echo '<option value="'.$id.'">'.$name.'</option>'; 

} 

    echo "</select>"; 
    echo "</body>"; 
    echo "</html>"; 

?> 

答えて

2

[OK]まず、:それは多くの不自然なコードです!あなたは完全にこのようにそれを短縮することができます

<?php 

require_once 'loginemployees.php'; 
$conn = new mysqli($hn, $un, $pw, $db); 
if ($conn->connect_error) die($conn->connect_error); 

/* Put your select element in variable. 
    Save the values in an array (id). 
    */ 
$select = "<select name='id[]'>"; 

echo "<!DOCTYPE HTML>"; 
echo "<html lang='en'>"; 
echo "<head><meta charset='utf-8'></head>"; 
echo "<body>"; 
echo "<form method='POST' action='your_form_handler.php' accept-charset='utf-8'>"; 

$res=$conn->query("SELECT Name FROM Status"); 

while ($row = $res->fetch_assoc()) { 
    unset($id, $name); 
    $id = $row['id']; 
    $name = $row['Name']; 

    $select .= '<option value="'.$id.'">'.$name.'</option>'; 
} 

$select .= "</select>"; 

/* Same here: Save the input values in an array (lname) */ 
$select .= "Tips: $ <input type='text' name='lname[]'>"; 
$select .= "<br/><br/>"; 

/* If you need more forms, just change the number here */ 
$numberOfForms = 5; 

for($i = 0; $i < $numberOfForms; $i++){ 
    echo $select; 
} 

echo "<input type='submit' value='submit'>"; 
echo "</form>"; 
echo "</body>"; 
echo "</html>"; 

?> 

、フォームを送信するとき、あなたのバックエンドで、あなたは配列を通じて簡単にループすることができます

<?php 

if(!empty($_POST['id']) && !empty($_POST['lname'])){ 

    for($i = 0; $i < count($_POST['id']); $i++){ 

     /* This will just display whatever is filled in. Instead you should save it in a database or something */ 
     echo "User with id: ". $_POST['id'][$i] ." had as tip: ". $_POST['lname'][$i] ."<br/>"; 
    } 
} 

?> 

私がテストしていない点に注意してくださいこれは私がここにあなたのデータベースを持っていないので、それはうまくいくはずです。

関連する問題