简体   繁体   中英

Why isn't my table showing up?

My csv file has 3 columns for time, events, and location. I loaded each column into a separate array. Using a for loop, I displayed the arrays as an html table. However, it is not showing up. Why?

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>

You have to concatenate your variables to the output string.

You have:

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

You need:

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

When you concatenate, you use the . operator. Not + . Later on you are trying to:

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

It should be:

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

Read up on this here: http://php.net/manual/en/language.operators.string.php

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM