单击按钮后将值添加到不同的列

Posted

技术标签:

【中文标题】单击按钮后将值添加到不同的列【英文标题】:adding values to a different column after button click 【发布时间】:2018-09-05 12:42:58 【问题描述】:

我有一个页面,用户可以在其中查看他们发送的票,他们也可以取消它,如下所示:

我想要发生的是当我点击“关闭:取消”按钮时。它也会在受让人列中显示“已关闭:已取消”。目前这是我点击按钮时才得到的:

这是我的表格:

<div class="container">
<div class="page-header">
<h3>My Tickets</h3>
			<div class="table-responsive">
				<table class="table">
					<tr>
						<th>Employee Name</th>
						<th>Time</th>
						<th>Priority</th>
						<th>Assignee</th>
						<th>Subject</th>
						<th>Problem</th>
						<th>Status</th>
						<th></th>
					</tr>
				<?php
					include ('database.php');
					$result = $database->prepare ("SELECT tickets.* FROM tickets INNER JOIN employee ON employee.id = tickets.employee_id WHERE employee.username = '".$_SESSION["VALID_USER_ID"]."'");
					$result ->execute();
					for ($count=0; $row_message = $result ->fetch(); $count++)
				?>
					<tr>
						<td><?php echo $row_message['firstname']." ".$row_message['lastname']; ?></td>
						<td><?php echo $row_message['time']; ?></td>
						<td><?php echo $row_message['priority']; ?></td>
						<td><?php echo $row_message['assignee']; ?></td>
						<td><?php echo $row_message['subject']; ?></td>
						<td><?php echo $row_message['problem']; ?></td>
						<?php if ($row_message['status']) : ?>
						<td><?php echo $row_message['status']."".$row_message['assignee'];?></td>
						<?php else : ?>
						<td>
							<form method="post" action="update-ticket-status-emp.php">
								<input type="hidden" name="ticketno" value="<?php echo $row_message['ticketno']; ?>" />
								<input type="submit" name="closedcan" value="Closed: Cancelled"></input>
							</form>
						</td>
						<?php endif ; ?>
					</tr>
					<?php		?>
					
					</table>
					
					<a href="employee_panel.php"><button type="button" class="btn btn-primary"><i class="glyphicon glyphicon-arrow-left"></i> Back</button></a>	
				</div>
			</div>
		</div>	
	</div>
</div>

这是执行代码:

<?php

	  if(isset($_POST['closedcan']))
    
        $msg = "ClosedCan";
        $status = $_POST['closedcan'];
		$assignee = $_POST['closedcan'];
    

    $ticketno=$_POST['ticketno'];
    $con = mysqli_connect('localhost', 'root', '');
    mysqli_select_db($con, 'companydb');

    $sql = "UPDATE tickets SET status = '$status' WHERE ticketno = '$ticketno'";

    if(mysqli_query($con, $sql))
        header("refresh:1; url=view-tickets-emp.php?msg=$msg");
    else
        var_dump(mysqli_error($con));
	
?>

PS:我知道 mysql 已被弃用,我最终会在弄清楚这一点后对其进行更改。

【问题讨论】:

仅供参考,可能有一个没有语法错误的UPDATE 实际上并不更新。您的代码没有意识到这一点。此外,您的 UPDATE 查询容易受到注入攻击。请使用占位符执行准备好的语句。您是否在一个文件上使用 pdo 而在另一个文件上使用 mysqli? mysqli_ 未被弃用,mysql_ 被弃用。请减少代码块中的制表符,除非脚本是“可运行的”,否则不要使用“可运行”的代码块。 【参考方案1】:

修改了exec代码中的查询:

$sql = "UPDATE tickets SET status = '$status', assignee = '$assignee' WHERE ticketno = '$ticketno'";

【讨论】:

以上是关于单击按钮后将值添加到不同的列的主要内容,如果未能解决你的问题,请参考以下文章

在 Woocommerce 中单击后将添加到购物车按钮更改为查看购物车按钮

Woocommerce:检测单击“添加到购物车”按钮的位置并运行不同的代码

根据R中的查找值将值分配给不同的列

我无法使用多个按钮将子项添加到 ListView

单击R Shiny中的按钮后将输入字段重置为null

Laravel/VueJs。如何根据传入的列值显示不同颜色的按钮?