0

データの表示に問題があり、ページはエラーなしで正常に読み込まれ、テーブルのヘッドは読み込まれますが、データが表示されず、何が問題なのかを確認できません。ここで2番目の目が必要になるかもしれませんか?

<?php

// Include config file
include('../config.php');

// Database Connection
try {
    $db = new PDO('mysql:host='.DB_HOST.';dbname='.DB_NAME.';charset=utf8', DB_USER, DB_PASSWORD);
}
catch(PDOException $e) {
    die("Could not connect to the database\n");
}

// Get Raffle list
function get_raffle_list(){
    global $db;

    echo '
    <table class="table table-bordered">
        <thead>
            <tr>
                <th>ID</th>
                <th>Started</th>
                <th>Duration (days)</th>
                <th>End Date</th>
                <th>Ticket Price</th>
                <th>Percentage of Winners</th>
                <th>Tickets Purchased </th>
                <th>Total Amount</th>
                <th>Available to be Won (%)</th>
                <th>Available to be Won ($)</th>
                <th>Options</th>
                <th>Finish Raffle </th>
            </tr>
        </thead>';

        $stmt = $db->prepare("SELECT id, started, duration, ticket_price, win_percentage, available
FROM " . $db_prefix . "lotteries WHERE ended = '0' ORDER BY started DESC");
        $stmt->execute();

        echo "<tbody>";
        // loop through all result rows

        while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {

        echo '<tr>
            <td>'. $row['id'] .'</td>
            <td>'. date("m-d-Y", $row['started']) .'</td>
            <td><?php echo $duration; ?></td>
            <td>'. date("m-d-Y", $row['started'] + $row['duration']*3600*24) .'</td>
            <td>'. $row['ticket_price'] .'</td>
            <td>'. $row['win_percentage'] .'</td>
            <td>'. $row['tickets_qty'] .'</td>
            <td>'. ($row['ticket_price'] * $row['tickets_qty']) .'</td>
            <td>'. $row['available'] .'</td>
            <td>'. (floor($row['ticket_price'] * $row['tickets_qty'] * $row['available']) / 100) .'</td>
            <td><a href="flvby.php?go=dellottery&id='. $row['id'] .'">Delete</a></td>
            <td><a href="flvby.php?go=randlottery&id='. $row['id'] .'">Randomly</a></td>
            <td><a href="flvby.php?go=manlottery&id='. $row['id'] .'">Manually</a></td>
        </tr>';

        }
        echo '<tbody></table>';
}

?>
4

2 に答える 2

1

ここに構文エラーがあります:

<td><?php echo $duration; ?></td>

この行はすでに PHP ステートメントに含まれているため、以下を使用する必要はありません<?php...?>

<td>' . $duration . '</td>

将来のデバッグを容易にするために、PHP と HTML を分離することを検討してください。HTML を出力するときはインタープリターをオフにし、コードを実行するときだけインタープリターをオンにします。例:

function get_raffle_list(){
    global $db;

    ?>
    <table class="table table-bordered">
        <thead>
            <tr>
                <th>ID</th>
                ...
    <?php

    $stmt = $db->prepare("SELECT id, started, duration, ticket_price, win_percentage, available
            FROM " . $db_prefix . "lotteries WHERE ended = '0' ORDER BY started DESC");
    $stmt->execute();
    ...

    ?>
    <tr>
        <td><?php echo $row['id']; ?>/td>
        <td><?php echo date("m-d-Y", $row['started']); ?></td>
        <td><?php echo $duration; ?></td>
于 2013-06-17T19:20:44.953 に答える