嗨我有很多项目都显示出来。这是一个while循环,其中显示名称,指令等以及按钮
因此,每个项目都有自己的图像,说明等。
我想知道如何获得该按钮被选中的项目的ID?
基本上,我想获取该配方的ID并将其插入数据库
答案 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
}
?>