如何放置每个<;选择>&书信电报;选项>;组合框转换为PHP中的变量
我的PHP脚本的输出有点问题 此页面的目的是选择一个票证状态选项,例如:如何放置每个<;选择>&书信电报;选项>;组合框转换为PHP中的变量,php,html,variables,Php,Html,Variables,我的PHP脚本的输出有点问题 此页面的目的是选择一个票证状态选项,例如: 打开票据(显示数据库中状态为“新建票据”或“正在审核”的票据) 新票证(显示数据库中状态为“新票证”的票证) 正在审核(显示数据库中状态为“正在审核”的票据) 已关闭的票证(显示数据库中状态为(已关闭票证)的票证) 用户选择状态后,代码必须显示具有所选状态的正确票据 所以我试着在每个选项后面放置一个数字变量,然后试着使它成为这样,当选择某个选项时,刷新页面,并用页面刷新发送该选项的变量-除了它不起作用,哈哈 我一直在用
- 打开票据(显示数据库中状态为“新建票据”或“正在审核”的票据)
- 新票证(显示数据库中状态为“新票证”的票证)
- 正在审核(显示数据库中状态为“正在审核”的票据)
- 已关闭的票证(显示数据库中状态为(已关闭票证)的票证)
- 脚本必须在同一个页面上工作。为每个不同的状态创建一个新页面需要大量工作,而且效率不高
- PHP是主要的脚本语言,所以我更喜欢用PHP来回答
<?PHP
session_start();
include('connection.php');
if ($_SESSION['staff'] >='6')
{
echo "<select name='type' id='type'>
<option value='Open Tickets'>Open Tickets</option>" . $int= '1' . "
<option value='New Tickets'>New Tickets</option>" . $int= '2' . "
<option value='Under Review'>Under Review</option>" . $int = '3' . "
<option value='Closed Tickets'>Closed Tickets</option>" . $int = '4' . "
</select><BR>";
echo "Current listed support tickets: <BR><BR>";
if ($int = '1')
{
$result1 = mysql_query("SELECT * FROM support WHERE status = 'New Ticket' OR 'Under Review'");
while ($row1 = mysql_fetch_array($result1))
{
$ticket1 = $row1['TicketID'];
$user1 = $row1['name'];
echo "Ticket ID: " . $row1['TicketID'] . "<BR>" . $row1['type'] . "<BR>Subject: " . $row1['subject'] . "<BR>Ticket Status: " . $row1['status'] . "<BR>";
echo "<form action='detail_ticket.php?t=$ticket1' method='post' name='detail_t' id='detail_t'><input type='submit' name='detail_b' id='detail_b' value='View Ticket!'></form>";
echo "<form action='reply_ticket.php?r=$user1' method='post' name='r_ticket' id='r_ticket'><input type='submit' name='reply_b' id='reply_b' value='Reply on Ticket!'></form>";
}
}elseif ($int = '2')
{
$result2 = mysql_query("SELECT * FROM support WHERE status = 'New Ticket'");
while ($row2 = mysql_fetch_array($result2))
{
$ticket2 = $row2['TicketID'];
$user2 = $row2['name'];
echo "Ticket ID: " . $row2['TicketID'] . "<BR>" . $row2['type'] . "<BR>Subject: " . $row2['subject'] . "<BR>Ticket Status: " . $row2['status'] . "<BR>";
echo "<form action='detail_ticket.php?t=$ticket2' method='post' name='detail_t' id='detail_t'><input type='submit' name='detail_b' id='detail_b' value='View Ticket!'></form>";
echo "<form action='reply_ticket.php?r=$user2' method='post' name='r_ticket' id='r_ticket'><input type='submit' name='reply_b' id='reply_b' value='Reply on Ticket!'></form>";
}
}elseif ($int = '3')
{
$result3 = mysql_query("SELECT * FROM support WHERE status = 'New Ticket'");
while ($row3 = mysql_fetch_array($result3))
{
$ticket3 = $row3['TicketID'];
$user3 = $row3['name'];
echo "Ticket ID: " . $row3['TicketID'] . "<BR>" . $row3['type'] . "<BR>Subject: " . $row3['subject'] . "<BR>Ticket Status: " . $row3['status'] . "<BR>";
echo "<form action='detail_ticket.php?t=$ticket3' method='post' name='detail_t' id='detail_t'><input type='submit' name='detail_b' id='detail_b' value='View Ticket!'></form>";
echo "<form action='reply_ticket.php?r=$user3' method='post' name='r_ticket' id='r_ticket'><input type='submit' name='reply_b' id='reply_b' value='Reply on Ticket!'></form>";
}
}elseif ($int = '4')
{
$result4 = mysql_query("SELECT * FROM support WHERE status = 'Closed'");
while ($row4 = mysql_fetch_array($result4))
{
$ticket4 = $row4['TicketID'];
$user4 = $row4['name'];
echo "Ticket ID: " . $row4['TicketID'] . "<BR>" . $row4['type'] . "<BR>Subject: " . $row4['subject'] . "<BR>Ticket Status: " . $row4['status'] . "<BR>";
echo "<form action='detail_ticket.php?t=$ticket4' method='post' name='detail_t' id='detail_t'><input type='submit' name='detail_b' id='detail_b' value='View Ticket!'></form>";
echo "<form action='reply_ticket.php?r=$user4' method='post' name='r_ticket' id='r_ticket'><input type='submit' name='reply_b' id='reply_b' value='Reply on Ticket!'></form>";
}
}
echo "Click <A href='overview_page.php'>HERE</A> to return to the overview page.<BR>";
echo "Click <A href='uitlogen_user.php'>HERE</A> to logout!<BR>";
}else
{
echo "You need to be an GM or Admin to view this page!<BR>";
echo "Click <A href='uitlogen_user.php'>HERE</A> to login!";
}
?>
两个想法:
a) 您可以通过实现一些javascript来实现这一点,javascript在更改选择后切换每个票据的显示状态。
if ($_SESSION['staff'] >='6')
{
echo "<select name='type' id='type' onchange='typeChanged()' onpropertychange='typeChanged()'>
<option value='tab1'>Open Tickets</option>
<option value='tab2'>New Tickets</option>
<option value='tab3'>Under Review</option>
<option value='tab4'>Closed Tickets</option>
</select><BR>";
echo "Current listed support tickets: <BR><BR>";
echo "<div id="tab1" name="tabs">";
$result1 = mysql_query("SELECT * FROM support WHERE status = 'New Ticket' OR 'Under Review'");
while ($row1 = mysql_fetch_array($result1))
{
$ticket1 = $row1['TicketID'];
$user1 = $row1['name'];
echo "Ticket ID: " . $row1['TicketID'] . "<BR>" . $row1['type'] . "<BR>Subject: " . $row1['subject'] . "<BR>Ticket Status: " . $row1['status'] . "<BR>";
echo "<form action='detail_ticket.php?t=$ticket1' method='post' name='detail_t' id='detail_t'><input type='submit' name='detail_b' id='detail_b' value='View Ticket!'></form>";
echo "<form action='reply_ticket.php?r=$user1' method='post' name='r_ticket' id='r_ticket'><input type='submit' name='reply_b' id='reply_b' value='Reply on Ticket!'></form>";
}
echo "</div>";
echo "<div id="tab2" name="tabs">";
$result2 = mysql_query("SELECT * FROM support WHERE status = 'New Ticket'");
while ($row2 = mysql_fetch_array($result2))
{
$ticket2 = $row2['TicketID'];
$user2 = $row2['name'];
echo "Ticket ID: " . $row2['TicketID'] . "<BR>" . $row2['type'] . "<BR>Subject: " . $row2['subject'] . "<BR>Ticket Status: " . $row2['status'] . "<BR>";
echo "<form action='detail_ticket.php?t=$ticket2' method='post' name='detail_t' id='detail_t'><input type='submit' name='detail_b' id='detail_b' value='View Ticket!'></form>";
echo "<form action='reply_ticket.php?r=$user2' method='post' name='r_ticket' id='r_ticket'><input type='submit' name='reply_b' id='reply_b' value='Reply on Ticket!'></form>";
}
echo "</div>";
echo "<div id="tab3" name="tabs">";
$result3 = mysql_query("SELECT * FROM support WHERE status = 'New Ticket'");
while ($row3 = mysql_fetch_array($result3))
{
$ticket3 = $row3['TicketID'];
$user3 = $row3['name'];
echo "Ticket ID: " . $row3['TicketID'] . "<BR>" . $row3['type'] . "<BR>Subject: " . $row3['subject'] . "<BR>Ticket Status: " . $row3['status'] . "<BR>";
echo "<form action='detail_ticket.php?t=$ticket3' method='post' name='detail_t' id='detail_t'><input type='submit' name='detail_b' id='detail_b' value='View Ticket!'></form>";
echo "<form action='reply_ticket.php?r=$user3' method='post' name='r_ticket' id='r_ticket'><input type='submit' name='reply_b' id='reply_b' value='Reply on Ticket!'></form>";
}
echo "</div>";
echo "<div id="tab4" name="tabs">";
$result4 = mysql_query("SELECT * FROM support WHERE status = 'Closed'");
while ($row4 = mysql_fetch_array($result4))
{
$ticket4 = $row4['TicketID'];
$user4 = $row4['name'];
echo "Ticket ID: " . $row4['TicketID'] . "<BR>" . $row4['type'] . "<BR>Subject: " . $row4['subject'] . "<BR>Ticket Status: " . $row4['status'] . "<BR>";
echo "<form action='detail_ticket.php?t=$ticket4' method='post' name='detail_t' id='detail_t'><input type='submit' name='detail_b' id='detail_b' value='View Ticket!'></form>";
echo "<form action='reply_ticket.php?r=$user4' method='post' name='r_ticket' id='r_ticket'><input type='submit' name='reply_b' id='reply_b' value='Reply on Ticket!'></form>";
}
echo "</div>";
echo "Click <A href='overview_page.php'>HERE</A> to return to the overview page.<BR>";
echo "Click <A href='uitlogen_user.php'>HERE</A> to logout!<BR>";
}else
{
echo "You need to be an GM or Admin to view this page!<BR>";
echo "Click <A href='uitlogen_user.php'>HERE</A> to login!";
}
?>
<script type="text/javascript">
function typeChanged()
{
var chosen = document.getElementById('type').value;
var tabs = document.getElementsByName('tabs');
for (var i in tabs)
{
tabs[i].style.display = 'none';
}
document.getElementById(chosen).style.display = 'block';
}
</script>
if($\u会话['staff]>='6')
{
回声“
公开票
新票
正在审查
闭票
“;
回显“当前列出的支持票证:
”;
回声“;
$result1=mysql_查询(“从支持中选择*,其中状态为‘新票证’或‘正在审核’”);
而($row1=mysql\u fetch\u数组($result1))
{
$ticket1=$row1['TicketID'];
$user1=$row1['name'];
回显“票证ID:.$row1['TICKTID'].”
“$row1['type'].”
主题:.$row1['SUPPORE'.”
票证状态:.$row1['Status'.“
”;
回声“;
回声“;
}
回声“;
回声“;
$result2=mysql_查询(“从支持中选择*,其中状态为‘新票证’”);
而($row2=mysql\u fetch\u数组($result2))
{
$ticket2=$row2['TicketID'];
$user2=$row2['name'];
回显“票证ID:.$row2['TICKTID']。”
“$row2['type']。”
主题:.$row2['SUPPORE']。“
票证状态:.$row2['Status']。
”;
回声“;
回声“;
}
回声“;
回声“;
$result3=mysql_查询(“从支持中选择*,其中状态为‘新票证’”);
而($row3=mysql\u fetch\u数组($result3))
{
$ticket3=$row3['TicketID'];
$user3=$row3['name'];
回显“票证ID:.$row3['TICKTID']。”
“$row3['type']。”
主题:.$row3['SUPPORE']。“
票证状态:.$row3['Status']。
”;
回声“;
回声“;
}
回声“;
回声“;
$result4=mysql_查询(“从支持中选择*,其中状态为“已关闭”);
而($row4=mysql\u fetch\u数组($result4))
{
$ticket4=$row4['TicketID'];
$user4=$row4['name'];
回显“票证ID:.$row4['TICKTID']。”
“$row4['type']。”
主题:.$row4['SUPPORE']。“
票证状态:.$row4['Status']。
”;
回声“;
回声“;
}
回声“;
echo“单击返回概览页面。
”;
回显“单击以注销!
”;
}否则
{
echo“您需要成为总经理或管理员才能查看此页面!
”;
echo“点击登录!”;
}
?>
函数类型已更改()
{
选择的变量=document.getElementById('type')。值;
var tabs=document.getElementsByName('tabs');
用于(选项卡中的var i)
{
制表符[i].style.display='none';
}
document.getElementById(已选择).style.display='block';
}
b) 重定向到此页面,使用一些url参数指示选择了哪个票证,并显示相应的票证
<?PHP
session_start();
include('connection.php');
if ($_SESSION['staff'] >='6')
{
$chosen = isset($_GET['chosen']) ? $_GET['chosen'] : 'tab1';
echo "<select name='type' id='type' onchange='typeChanged()' onpropertychange='typeChanged()'>
<option value='tab1'>Open Tickets</option>
<option value='tab2'>New Tickets</option>
<option value='tab3'>Under Review</option>
<option value='tab4'>Closed Tickets</option>
</select><BR>";
echo "Current listed support tickets: <BR><BR>";
if ($chosen == 'tab1')
{
$result1 = mysql_query("SELECT * FROM support WHERE status = 'New Ticket' OR 'Under Review'");
while ($row1 = mysql_fetch_array($result1))
{
$ticket1 = $row1['TicketID'];
$user1 = $row1['name'];
echo "Ticket ID: " . $row1['TicketID'] . "<BR>" . $row1['type'] . "<BR>Subject: " . $row1['subject'] . "<BR>Ticket Status: " . $row1['status'] . "<BR>";
echo "<form action='detail_ticket.php?t=$ticket1' method='post' name='detail_t' id='detail_t'><input type='submit' name='detail_b' id='detail_b' value='View Ticket!'></form>";
echo "<form action='reply_ticket.php?r=$user1' method='post' name='r_ticket' id='r_ticket'><input type='submit' name='reply_b' id='reply_b' value='Reply on Ticket!'></form>";
}
}
if ($chosen == 'tab2')
{
$result2 = mysql_query("SELECT * FROM support WHERE status = 'New Ticket'");
while ($row2 = mysql_fetch_array($result2))
{
$ticket2 = $row2['TicketID'];
$user2 = $row2['name'];
echo "Ticket ID: " . $row2['TicketID'] . "<BR>" . $row2['type'] . "<BR>Subject: " . $row2['subject'] . "<BR>Ticket Status: " . $row2['status'] . "<BR>";
echo "<form action='detail_ticket.php?t=$ticket2' method='post' name='detail_t' id='detail_t'><input type='submit' name='detail_b' id='detail_b' value='View Ticket!'></form>";
echo "<form action='reply_ticket.php?r=$user2' method='post' name='r_ticket' id='r_ticket'><input type='submit' name='reply_b' id='reply_b' value='Reply on Ticket!'></form>";
}
}
if ($chosen == 'tab3')
{
$result3 = mysql_query("SELECT * FROM support WHERE status = 'New Ticket'");
while ($row3 = mysql_fetch_array($result3))
{
$ticket3 = $row3['TicketID'];
$user3 = $row3['name'];
echo "Ticket ID: " . $row3['TicketID'] . "<BR>" . $row3['type'] . "<BR>Subject: " . $row3['subject'] . "<BR>Ticket Status: " . $row3['status'] . "<BR>";
echo "<form action='detail_ticket.php?t=$ticket3' method='post' name='detail_t' id='detail_t'><input type='submit' name='detail_b' id='detail_b' value='View Ticket!'></form>";
echo "<form action='reply_ticket.php?r=$user3' method='post' name='r_ticket' id='r_ticket'><input type='submit' name='reply_b' id='reply_b' value='Reply on Ticket!'></form>";
}
}
if ($chosen == 'tab4')
{
$result4 = mysql_query("SELECT * FROM support WHERE status = 'Closed'");
while ($row4 = mysql_fetch_array($result4))
{
$ticket4 = $row4['TicketID'];
$user4 = $row4['name'];
echo "Ticket ID: " . $row4['TicketID'] . "<BR>" . $row4['type'] . "<BR>Subject: " . $row4['subject'] . "<BR>Ticket Status: " . $row4['status'] . "<BR>";
echo "<form action='detail_ticket.php?t=$ticket4' method='post' name='detail_t' id='detail_t'><input type='submit' name='detail_b' id='detail_b' value='View Ticket!'></form>";
echo "<form action='reply_ticket.php?r=$user4' method='post' name='r_ticket' id='r_ticket'><input type='submit' name='reply_b' id='reply_b' value='Reply on Ticket!'></form>";
}
}
echo "Click <A href='overview_page.php'>HERE</A> to return to the overview page.<BR>";
echo "Click <A href='uitlogen_user.php'>HERE</A> to logout!<BR>";
}else
{
echo "You need to be an GM or Admin to view this page!<BR>";
echo "Click <A href='uitlogen_user.php'>HERE</A> to login!";
}
?>
<script type="text/javascript">
function typeChanged()
{
var chosen = document.getElementById('type').value;
window.location.href = 'FILENAME.php?chosen=' + chosen;
}
</script>
下面是一个未经测试(我没有您的数据库)的示例,说明AJAX将如何为您工作
如果您已经知道这一点,请原谅我,但是AJAX并不是什么新奇的东西——它是一个简单的方法,允许您从javascript调用另一个PHP文件
AJAX的工作原理是使用第二个PHP文件来完成下一步的工作,并将结果返回给javascript。流程如下:
在文件1中,javascript/jQuery获取用户选择的选项,并“调用”(AJAX)第二个PHP文件,传递用户的选择。实现这一点的代码位于该位下:
$('#type').change( function() { //grab the new value, send to File2 via AJAX });
File2(在本例中命名为“other_php_file.php”)(a)接收从File1发送的传递值,(b)执行数据库查找,(c)构建新的HTML,以及(d)将构造的代码(在一个名为$x的变量中)回显到File1
现在,这一点非常重要:File1在AJAX例程的success:
函数中接收新代码。在这个SUCCESS函数中,它可以使用jQuery更新File1中的div。如果您希望用户按下其他按钮来执行另一个AJAX查找,那么下一个AJAX查找也必须在这个success函数中
无论如何,这应该回答您的直接问题:
文件1
<?php
session_start();
include('connection.php');
?>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.1/themes/base/jquery-ui.css" />
<script type="text/javascript">
$(document).ready(function() {
$('#type').change( function() {
var chosen = $(this).val();
alert('You chose: ' + chosen);
$.ajax({
type: "POST",
url: "another_php_file.php",
data: 'theOption=' + chosen,
success: function(whatigot) {
//alert('Server-side response: ' + whatigot);
$('#report').html(whatigot);
$('#theButton').click(function() {
alert('You clicked the button');
});
} //END success fn
}); //END $.ajax
}); //END dropdown change event
}); //END $(document).ready()
</script>
</head>
<body>
<?php
if ($_SESSION['staff'] >='6')
{
//Note: the value text string MUST MATCH the value stored in the database, because it is this exact string you will search for in the 2nd php (AJAX) file.
echo "<select name='type' id='type'>
<option value='Open Ticket'>Open Tickets</option>
<option value='New Ticket'>New Tickets</option>
<option value='Under Review'>Under Review</option>
<option value='Closed'>Closed Tickets</option>
</select><br><br>
<div id='report'></div>";
}else
{
echo "You need to be an GM or Admin to view this page!<BR>";
echo "Click <A href='uitlogen_user.php'>HERE</A> to login!";
}
?>
$(文档).ready(函数(){
$('#type')。更改(函数(){
所选变量=$(this.val();
警报(“您选择:”+已选择);
$.ajax({
类型:“POST”,
<?php
$chosen = $_POST['theOption'];
//die('You clicked: ' . $chosen);
if ($chosen == 'New Ticket') {
$result = mysql_query("SELECT * FROM support WHERE status = '$chosen' OR 'Under Review'");
while ($row1 = mysql_fetch_array($result1))
{
$ticket1 = $row1['TicketID'];
$user1 = $row1['name'];
$x = "Ticket ID: " . $row1['TicketID'] . "<BR>" . $row1['type'] . "<BR>Subject: " . $row1['subject'] . "<BR>Ticket Status: " . $row1['status'] . "<BR>";
$x .= "<form action='detail_ticket.php?t=$ticket1' method='post' name='detail_t' id='detail_t'><input type='submit' name='detail_b' id='detail_b' value='View Ticket!'></form>";
$x .= "<form action='reply_ticket.php?r=$user1' method='post' name='r_ticket' id='r_ticket'><input type='submit' name='reply_b' id='reply_b' value='Reply on Ticket!'></form>";
}
}else{
$result = mysql_query("SELECT * FROM support WHERE status = '$chosen'");
while ($row1 = mysql_fetch_array($result1))
{
$ticket1 = $row1['TicketID'];
$user1 = $row1['name'];
$x = "Ticket ID: " . $row1['TicketID'] . "<BR>" . $row1['type'] . "<BR>Subject: " . $row1['subject'] . "<BR>Ticket Status: " . $row1['status'] . "<BR>";
$x .= "<form action='detail_ticket.php?t=$ticket1' method='post' name='detail_t' id='detail_t'><input type='submit' name='detail_b' id='detail_b' value='View Ticket!'></form>";
$x .= "<form action='reply_ticket.php?r=$user1' method='post' name='r_ticket' id='r_ticket'><input type='submit' name='reply_b' id='reply_b' value='Reply on Ticket!'></form>";
}
}
$x .= "Click <A href='overview_page.php'>HERE</A> to return to the overview page.<br>";
$x .= "Click <A href='uitlogen_user.php'>HERE</A> to logout!<br><br>";
$x .= "<input type='button' id='theButton' value='Click Me Example'>";
echo $x;