2017-05-28 7 views
0

私はこのプロジェクトを進めています検索結果をテーブルに表示する検索フォームがあります。クリックすると結果を別のテーブルに転送する必要があります。しかし、送信ボタンをクリックすると、ページが更新されます。私はフォームの名前と値を変更しただけでなく、PHPの値の引用符と同じ結果を持つ他のいくつかの変更を試しました。私が間違ってやっていることについての考えはありますか?PHPの検索結果はフォーム変数として使用されます

?> 
      <table> 
      <tr> 
       <th>Name</th> 
       <th>Brewery</th> 
       <th>City</th> 
       <th>State</th> 
       <th>Style</th> 
       <th>ABV</th> 
       <th>IBU</th> 
      </tr> 
      <tr> 
       <td><?php echo $result['Name']; ?></td> 
       <td><?php echo $result['Brewery']; ?></td> 
       <td><?php echo $result['City']; ?></td> 
       <td><?php echo $result['State']; ?></td> 
       <td><?php echo $result['Style']; ?></td> 
       <td><?php echo $result['ABV'];?> </td> 
       <td><?php echo $result['IBU']; ?></td> 
       <td> 

       <form method="post" name="ontap" action="form.php"> 
        <input type="hidden" name="name3" value=<?php echo $result['Name'] ?>> 
        <input type="hidden" name="brewery3" value=<?php echo $result['Brewery']; ?>> 
        <input type="hidden" name="city3" value=<?php echo $result['City']; ?>> 
        <input type="hidden" name="state3" value=<?php echo $result['State']; ?>> 
        <input type="hidden" name="style3" value=<?php echo $result['Style']; ?>> 
        <input type="hidden" name="abv3" value=<?php echo $result['ABV']; ?>> 
        <input type="hidden" name="ibu3" value=<?php echo $result['IBU']; ?>> 
        <input type="submit" name="ontap" value="On Tap"> 
        </form> </td> 
         <?php 
         if(isset($_POST['ontap'])){ 

          $name3 = $_POST['name3']; 
          $brewery3 = $_POST['brewery3']; 
          $city3 = $_POST['city3']; 
          $state3 = $_POST['state3']; 
          $style3 = $_POST['style3']; 
          $abv3 = $_POST['abv3']; 
          $ibu3 =$_POST['ibu3']; 

          mysqli_connect($conn,"INSERT INTO `Test` (`Name`, `Brewery`, `City`, `State`, `Style`, `ABV`, `IBU`) VALUES ('".$name3."', '".$brewery3."', '".$city3."', '".$state3."', '".$style3."', '".$abv3."', '".$ibu3."')") or die(mysqli_error($conn)); 

          echo("Beer Added");         

          } 
          ?>           



       <td> 
        <form method="post" action="form.php" id="bottle"> 
        <input type="submit" name="bottle" value="bottle"> </form></td> 
      </tr>  
      </table> 

      <?php 

私はまだページを更新して同じ問題を抱えています。提案されたいくつかの変更を行いましたが、動作するようには思われませんでした。しかし、これまでのmysqli_connectはmysqli_queryに変更されました。私は各入力名をブラケットontap ['name3']に入れました。アクション値を空白のままにしておきます。私は、フォームに引っ張られた各変数も最初の単語だけを使用することに気付きました。 searchformwithtable

+0

フォームに新しい行を追加する場合は、SELECTより前にINSERTクエリを実行する必要があります。 –

+0

フォームは送信されません。フォームを空白にする、つまりaction = ""を試してみてください。 – CoderSam

+0

私はアクションを空白のままにして、mysqli_queryに変更を加えましたが、まだページを更新しています。フォームが変数値を送信しているかどうかを確認する方法はありますか? – Beau

答えて

0

mysqli_connect()は、MySQLサーバへの新しい接続を開くためのものですが使用されているフォームの画像をアップロードする病気試み。 あなたは好きで、それを使用することができます。

$conn = mysqli_connect(server,username,password,database); 

そして、あなたがあなたのテーブルにデータを挿入したい場合は、その目的のためにmysqli_query()を使用する必要があります。あなたは次のように使用できます:

$sql="INSERT INTO `Test` (`Name`, `Brewery`, `City`, `State`, `Style`, `ABV`, `IBU`) VALUES ('$name3', '$brewery3', '$city3', '$state3', '$style3', '$abv3', '$ibu3')"; 

$result = $mysqli_query($conn,$sql); 
if($result) { 
    echo 'Beer Added'; 
} 

すべては問題ありません。この変更を行うとうまくいくはずです。

+0

変数から値を取得している場合は必ずisset()を使用してください。変数に値が含まれていないと、isset()の使用でエラーが発生します。 –

+0

@Beauフォームが値を送信しているかどうかを確認するには、isset()を次のようにしてチェックしてください:if(isset($ __ POST ['name3']){echo 'Something';} –

+0

すべての変数について –

関連する問題