将参数传递给PHP表超链接

时间:2017-05-16 00:52:53

标签: javascript php jquery html hyperlink

我希望我的php表的第二列和第三列是每行不同页面的超链接。我需要将3个参数传递给超链接
1)下表中列出的第一列 - empID的值
2)$ weekStart中的值 - 从页面顶部的input type="date"中选择
3)$ weekEnd的值 - 从页面顶部的input type="date"中选择

我正在尝试这种语法,但它没有传递参数,我得到一个页面未找到错误。该语法应该如何改变,以便它传递所有3个参数并导航到适当的页面?

Week Start:<input type="date" name="weekStart">
Week End:<input type="date" name="weekEnd">
<input type="submit" name="submit" value="View Employee Data">

<?php
if (isset($_POST['submit'])) 
{
    $weekStart = $_POST['weekStart'];
    $weekEnd = $_POST['weekEnd'];

    //Generate Table Here
}
?>
foreach ($tsql as $res) 
{
    print "<tr>";
    print "<td>" . $res->EmpID . "</td>";
    print "<td><a href="DailySales.php?param1=$weekStart;param2=$weekEnd'.$Row['EmpID'].'">'.$Row['DailySales'].'</a>'" . $res->DailySales . "</td>";
    print "<td><a href="WeeklySales.php?param1=$weekStart;param2=$weekEnd'.$Row['EmpID'].'">'.$Row['SalesForWeek'].'</a>'" . $res->SalesForWeek . "</td>";
    print "</tr>";
}

2 个答案:

答案 0 :(得分:1)

你没有很好地附加字符串。请尝试以下代码

foreach ($tsql as $res) 
{
   print "<tr>";
   print "<td>" . $res->EmpID . "</td>";
   print "<td><a href='DailySales.php?param1=".$weekStart."&param2=".$weekEnd."&param3=".$Row['EmpID']."'>".$Row['DailySales']."</a>" . $res->DailySales . "</td>";
   print "<td><a href='WeeklySales.php?param1=".$weekStart."&param2=".$weekEnd."&param3=".$Row['EmpID']."'>".$Row['SalesForWeek']."</a>" . $res->SalesForWeek . "</td>";
   print "</tr>";
}

如果仍显示未找到的页面,请检查文件名。

更新:我希望您需要替换循环中的一些变量,如以下代码中所更新的

foreach ($tsql as $res) 
{
   print "<tr>";
   print "<td>" . $res->EmpID . "</td>";
   print "<td><a href='DailySales.php?param1=".$weekStart."&param2=".$weekEnd."&param3=".$res->EmpID."'>".$res->DailySales."</a></td>";
   print "<td><a href='WeeklySales.php?param1=".$weekStart."&param2=".$weekEnd."&param3=".$res->EmpID."'>".$res->SalesForWeek."</a></td>";
   print "</tr>";
}

答案 1 :(得分:0)

完全未经测试,我不能100%确定这些链接中的数据应该是什么,但我认为这应该为您提供一个坚实的起点,您可以调整HTML生成以获得您想要的

我根本不打算尝试在PHP中完成它,将整个数据集传递给JS并在那里完成。

Week Start:<input type="date" name="weekStart" id="weekStart">
Week End:<input type="date" name="weekEnd" id="weekEnd">
<input type="submit" name="submit" value="View Employee Data">

<?php
if (isset($_POST['submit'])) 
{
    $weekStart = $_POST['weekStart'];
    $weekEnd = $_POST['weekEnd'];

    //Generate Table Here
}

// Create a JSON version of your data to pass to the script
$data = json_encode( $tsql );
?>

<!-- Create an empty table for your data-->
<table id="employee-table"></table>

<script> 
$("#submitForm").on("click", function(e) {
  // Stop the form from reloading the page
  e.preventDefault();

  // Set up your variables, you'll need to add ID's to the form inputs
  var employees = <?php echo $data; ?>;
  // See the employees data in your inspector console
  console.log(employees);

  var weekStart = $("#weekStart").val();
  var weekEnd = $("#weekEnd").val();

  // Generate the HTML for all the employees
  var html = "";
  for( var1=0; i<employees.length; i++ ) {
    html += "<tr>";
    html += "<td>" . employees[i].EmpID . "</td>";
    html += "<td><a href='DailySales.php?param1='" + weekStart + "'&param2='" + weekEnd + "'&param3='" + employees[i].id +">"  + employees[i].DailySales + "</a></td>";
    html += "<td><a href='WeeklySales.php?param1='" + weekStart + "'&param2='" + weekEnd + "'&param3='" + employees[i].id +"'>" + employees[i].SalesForWeek + "</a></td>";
    html += "</tr>";
  }

  // Insert the HTML that you generated into the table.
  $("#employee-table").html(html);
});
</script>