我有一个查询
,它使用while循环
为其找到的每一行生成一个表。然而,我的目标是让每个行
都有一个添加按钮,按下该按钮时会获取两个变量并INSERTS
在另一个表中插入一个新行。我相信我的代码无法正常工作的原因是系统无法识别哪个添加按钮属于哪一行。我尝试将每行的 UserID 分配给按钮 id,但仍然无法插入。 (它不会产生任何错误)。
关于如何实现我的目标有什么建议吗?
HTML + PHP:
<div class="RightBody">
<form name="search_form" method="post" action="" >
<input type="text" name="search_box" value="" placeholder="Search for skills or a user." />
<input type="submit" name="search" value="Search" />
</form>
<table width="100%" cellpadding="5" cellspacing="5" >
<p><strong>Search Results:</strong></p>
<tr>
<td></td>
<td><strong>First Name</strong></td>
<td><strong>Last Name</strong></td>
<td><strong>Job Role</strong></td>
<td><strong>Skill(s)</strong></td>
</tr>
<?php
if(isset($_POST['search']))
{
if(@mysqli_num_rows($search_query)!=0){
do{
if(isset($_POST['adduser'])){
$AddUserID = $search_rs['UserID'];
$AddProjectID = $Project;
$sql = $con->query("INSERT INTO userprojects (UserID, ProjectID) VALUES ('$AddUserID', '$AddProjectID')") or die(mysqli_error($con));
}?>
<tr>
<td>
<input type="submit" name="adduser" value="Add" id="<?php echo htmlspecialchars($search_rs['UserID']); ?>"/>
</td>
<td><?php echo $search_rs['Fname']; ?></td>
<td><?php echo $search_rs['Lname']; ?></td>
<td><?php echo $search_rs['JobRole']; ?></td>
<td><?php echo $search_rs['Description']; ?></td>
</tr>
<?php
}
while ($search_rs=mysqli_fetch_assoc($search_query));
}
else
{
echo "No results found";
}
}?>
</table>
</div>
PHP:
<?php
$value = isset($_POST['search_box']) ? $_POST['search_box'] : '';
$search_sql = "SELECT * FROM User INNER JOIN UserSkills ON User.UserId = UserSkills.UserId JOIN Skills ON UserSkills.SkillId = Skills.SkillId WHERE Description LIKE '%".$value."%' OR FName LIKE '%".$value."%' OR LName LIKE '%".$value."%' OR JobRole LIKE '%".$value."%' GROUP BY Description" or die(mysqli_error($con));
$search_query = mysqli_query($con, $search_sql);
if(mysqli_num_rows($search_query) !=0) {
$search_rs = mysqli_fetch_assoc($search_query);
}
最佳答案
您需要指定您的action
<form>
中的属性.
此外,htmlspecialchars(value)
will return a string, not output it ,所以不要使用:
<?php htmlspecialchars($search_rs['UserID']);
你需要使用
<?php echo htmlspecialchars($search_rs['UserID']);
关于php - 是否可以为按钮分配动态变量;在 while 循环中从查询中获取的每一行都会发生变化吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35086730/