如何在函数中使用javascript if语句来填充表

时间:2018-01-08 22:26:51

标签: javascript php mysql

我创建了一个搜索页面,可以将结果发送到一个表格,该表格能够点击特定的记录,然后以所需的格式打开另一个页面。

我想要做的是能够根据搜索查询中返回的数据打开不同的格式化页面,但我在将它们全部拉到一起时遇到了一些麻烦。

这里的PHP用于从数据库请求和检索数据,并将其填充到一个表中,其中每个记录都可以选择并用于填充具有所有正确格式的计划页面:

$search = $_POST['search'].'%';
$ment = $_POST['ment'];

    $stmt = $link->prepare("SELECT lname, fname, rank, reserve, ment1, pkey FROM planner WHERE lname LIKE ? AND ment1 LIKE ? ORDER BY lname, fname");
    $stmt->bind_param('ss', $search, $ment);
    $stmt->execute();
    $result = $stmt->get_result();

if ($result->num_rows > 0) {
    echo "<table><tr><th>Last Name</th><th>First Name</th><th>Rank</th><th>Mentor Group</th><th></th></tr>";
    while($row = $result->fetch_assoc()) {
    $rsv = $row['reserve'];
    $pkey = $row['pkey'];
        echo "<tr><td>".$row['lname']."</td><td>".$row['fname']."</td><td>".$row['rank']."</td><td>".$row['ment1']."</td><td><button onClick=getPlanner('".$pkey."');>Get Planner</button></td></tr>";
    }
    echo "</table>";

} else {
    echo "0 results";

}

现在有趣的部分。我想根据记录中包含的信息打开不同的页面。我已经通过一个javascript函数自己为pkey变量工作了。但是,如果我想使用if,else语句使用相同的函数打开不同格式的页面,则表格仅根据比较的最后一条记录填充链接页面。这是我尝试使用if,else语句获取JavaScript,但它只使用了最后一条记录的格式。

var pkey = <?php echo json_encode($pkey); ?>;
var rsv = <?php echo $rsv ?>;

//var check = document.write(rsv);

function getPlanner(pkey) {
  if(rsv != 0){
    var plan = window.open("../php/plannerR.php?pln=" + pkey);
  } else {
    var plan = window.open("../php/planner.php?pln=" + pkey);
}
}

如何获得&#39;获取规划师&#39;按钮,根据用户的具体信息打开格式正确的计划页面?

2 个答案:

答案 0 :(得分:1)

为了方便起见,我建议如下:
在生成html-table(和链接)时,在php中已经存在逻辑。

from subprocess import Popen, PIPE
r = Popen("/usr/bin/Rscript --vanilla -", stdin=PIPE, shell=True)
r.communicate(input=rcode_string)

如果你想坚持你的js解决方案(除非你真的需要它,这更麻烦)你当然可以从我已经成功实施的评论中找到解决方案(并发布作为答案,以便其他人可以看到实施)

答案 1 :(得分:0)

感谢杰夫,我将这两个变量带入函数并让它发挥作用。最终代码如下。

pyprel