为什么我的桌子不出现?

时间:2016-11-25 18:42:17

标签: php html arrays csv

我的csv文件有3列时间,事件和位置。我将每列加载到一个单独的数组中。使用for循环,我将数组显示为html表。然而,它没有出现。为什么呢?

EventsScheduleFriday.php

<?php 
echo "<link rel='stylesheet' type='text/css' href='../styles/styles.css' />";

$time = array();
$events = array();
$location = array();

function get_data(&$time, &$events, &$location) { //references variable declared above 
    $file = fopen(__DIR__."/../data/EventsScheduleFriday.csv", "r"); 
    while(!feof($file)) { //while end of file has not been reached
        $content = fgetcsv($file, ","); //converts first line of csv to an array
        array_push($time, $content[0]);
        array_push($events, $content[1]);
        array_push($location, $content[2]);
    }
    fclose($file); //closes csv file
}

// put the data on the screen in readable form
function display_table(&$time, &$events, &$location) {
    echo "<table class='tg'>";
    for($i = 0; $i < count($time); $i++) {
        echo "<tr>\n";
        if ($i == 0){ //create table header cell
            echo "<th>";
            $time[$i];
            echo "</th>\n";
            echo "<th>";
            $events[$i];
            echo "</th>\n";
        }
        else {
            echo "<td class='cell-time'>";
            $time[$i];
            echo "</td>\n";
            echo "<td class='cell-descript'>";
            $events[$i];
            echo "<br class = 'space'>";
            echo "<div class = 'table_description'>";
            echo "Location: " + $location[$i];
            echo "</div></td>\n";
        }
        echo "</tr>\n";
    }
    echo "\n</table>"; 
}

get_data($time, $events, $location);
display_table($time, $events, $location);


?>

EventsScheduleFriday.csv

Time,Event,Location,
12:30pm,Hilby The Skinny German Juggle Boy,West State Street,
4:45pm,Hilby The Skinny German Juggle Boy,West State Street,
6pm,Finger Lakes Comedy Festival Competition 1st Round (Age 21+),Lot 10,
8pm,Stand-up Comedy Show,Acting Out NY,
10pm,All-Star Comedy Show,Acting Out NY

events.php

<div class = "schedule"> 
                <?php include "scripts/EventsScheduleFriday.php" ?>
</div>

1 个答案:

答案 0 :(得分:1)

您必须将变量连接到输出字符串。

你有:

echo "<th>";
$time[$i];

你需要:

echo "<th>" . $time[$i];

连接时,使用.运算符。不是+。稍后你会尝试:

echo "Location: " + $location[$i];

应该是:

echo "Location: " . $location[$i];

在此处阅读:http://php.net/manual/en/language.operators.string.php

相关问题