如何获取所选按钮的ID?

时间:2018-03-29 09:58:52

标签: php mysql

嗨我有很多项目都显示出来。这是一个while循环,其中显示名称,指令等以及按钮

因此,每个项目都有自己的图像,说明等。

我想知道如何获得该按钮被选中的项目的ID?

基本上,我想获取该配方的ID并将其插入数据库

2 个答案:

答案 0 :(得分:2)

您可以使用隐藏字段向表单发送其他信息。这基本上与任何其他输入字段一样,除了用户在前端没有看到它。

<form method="GET" action="target.php">
  <input type="hidden" name="myHiddenField" value="myHiddenValue" />
  <input type="submit" name="submitForm" value="submit" />
</form>

并阅读数据

<?php
if( isset($_GET['myHiddenField']) ){
  echo 'Hidden field value: '.$_GET['myHiddenField'];
}
?>

您也可以使用POST代替GET

编辑: 在您的情况下,只需将隐藏字段放在循环中:

 while ($dbRow=$dbQuery->fetch(PDO::FETCH_ASSOC)) 
 {
     ?>
     <?= $dbRow['Name'] ?>
    <br/>
    <img src="<?= $dbRow['Picture'] ?>" width="150" height="150"/>
    <br/>
    <?= $dbRow['Instructions"'] ?>
    <form method="POST">
        <input type="submit" name="submit" value="Complete" class="button-recipe"/>
        <br>
        <br>
        <!--<h4><?= $dbRow["RecipeID"] ?> I put this in even though i dont want it to be displayed, but I'm not sure how else i can get the ID? -->
       <input type="hidden" name="recipeID" value="<?= $dbRow['RecipeID'];" />
        <?php 
        }

点击提交后,您可以使用$ _POST ['recipeID']获取食谱ID。

答案 1 :(得分:0)

## Use this php code its working according your database ##
<?php 

if(issset($_POST['submit'])){
$ID = $_POST['ID'];
/*your user id here i can use static for example*/
$User='1';

 $query = $db->prepare('INSERT INTO User (User, ID) VALUES (:User, :ID)');
    $stmt->execute(array(
        ':User' =>$User,
        ':ID' =>$ID
));
}

    <?php
       while ($dbRow=$dbQuery->fetch(PDO::FETCH_ASSOC)) 
        {
?>
           <h4><?php echo $dbRow["Name"]; ?></h4><img src="<?php echo $dbRow['Picture']; ?>" width='150' height='150' /><br> <?php echo $dbRow["Instructions"]; ?><br><form method='POST'>
<input type="hidden" name="RecipeID" value="<?php echo $dbRow['RecipeID']; ?>">
<input type='submit' name='submit' value= "Recipe_<?php echo $dbRow['RecipeID']; ?>" class='button-recipe'>
</form><!--close the form-->
<?php
            }



     ?>