0

我正在运行一个脚本,该脚本从 MySQL 表中获取一行,然后应该将该行中的某些变量传递到下一页,以便以允许用户更新的形式使用。

这是尝试将变量传递到下一页的脚本的摘录:

if ($row['home_score'] == '0' && $row['away_score'] == '0') {
        echo '<td><a href="report_score.html?league=test_league&game_id=" . $row['game_id']"><img src="images/report_icon.png" alt="Report Score" /></a></td>';        
    }

如果我在 href 中省略 "&game_id=" 之后的所有内容,则显示正常。但是,一旦我开始添加变量,它就会切断功能并停止显示页面。

我在语法上做了一些简单的错误吗?我试过用不同的方法来写它,但无济于事。我需要使用 http_build_query() 来完成这项工作吗?

如果您需要更多信息,这是整个脚本代码:

<?php

// Connect to the database:
require ('../mysqli_connect.php');

// Make the query for games from the schedule database and determine the game location:
$q = "SELECT tl.game_date, tl.game_time, tl.away_team, tl.home_team, tl.home_score,tl.away_score, tl.arbiter_id, us.football_location, us.football_map 
FROM test_league tl
    INNER JOIN user_schools us ON (tl.home_team = us.school_name)
ORDER BY tl.game_id";
$r = mysqli_query($db, $q);

// Declare two variables to help determine the background color of each row:
$i = 0;
$bgcolor = array('row1', 'row2');

// Begin function to print each game as a row:
while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) {

    echo '<tr class="' . $bgcolor[$i++ % 2] .'"><td>' . $row['game_date'] . '</td><td>' . $row['game_time'] . '</td><td class="alignleft"><a href="">' . $row['away_team'] . '</a> vs<br><a href="">' . $row['home_team'] . '</a></td>';

    // Determine if the score has been reported:
    if ($row['home_score'] == '0' && $row['away_score'] == '0') {
        echo '<td><a href="report_score.html?league=test_league&game_id=" . $row['game_id']"><img src="images/report_icon.png" alt="Report Score" /></a></td>';        
    } else {
        echo '<td>' . $row['home_score'] . '<br>' . $row['away_score'] . '</td>';
    }

    echo '<td><a href="' . $row['football_map'] . '" target="_blank">' . $row['football_location'] . '</a></td><td><a href="">' . $row['arbiter_id'] . '</a></td></tr>';

}

mysqli_free_result ($r);

mysqli_close($db);

?>

非常感谢任何和所有建议!

4

2 回答 2

1
$url = 'www.example.com?' . http_build_query($row,'','&amp;');
于 2013-09-04T20:52:44.263 回答
1

试试这个,你的语音标记和点混淆了:)

if ($row['home_score'] == '0' && $row['away_score'] == '0') {
    echo '<td><a href="report_score.html?league=test_league&game_id=' .$row['game_id']. '"><img src="images/report_icon.png" alt="Report Score" /></a></td>';        
}

希望这可以帮助!

于 2013-09-04T20:49:54.207 回答