PHP динамически строит строку таблицы - PullRequest
0 голосов
/ 21 ноября 2011

РЕДАКТИРОВАТЬ: я вызываю функцию writecol() дальше вниз по странице внутри <table></table> тегов.

Пример данных в trxtt.txt:

Юго-Восточная Азия, 2222, код1

зимний перерыв, 3333, код2

Я довольно новичок в php. Я пытаюсь динамически строить строки таблицы на основе переменных, считанных из массива. Когда я вызываю эту функцию, я не получаю и сообщение об ошибке, но ничего не происходит. Есть идеи, что я делаю не так?

$x = file_get_contents('textt.txt');
$y = explode("\r\n", $x);

function writecol(){
    foreach ($y as $value) {
        $z = explode(",", $value);
        echo "<tr class='visible'><td class='underlinecenter'>" . $z[0] . "</td> <td></td> <td colspan='3' class='underlinecenter'>" . $z[1] . "</td><td></td><td colspan='3' class='underlinecenter'>" . $z[2] . "</td></tr>";
    }   
}

Ответы [ 4 ]

2 голосов
/ 21 ноября 2011

Вы, похоже, не вызываете функцию, и ваша функция не готова к получению переменной с данными.

после $ y = взорваться .... insert: writecol($y);

Затем замените function writecol(){ на

function writecol($y){

0 голосов
/ 21 ноября 2011

сначала убедитесь, что они включены (поместите их сверху под тегом php) для тестирования, чтобы вы могли увидеть ошибки

ini_set('display_errors','On'); 
ini_set('error_reporting', -1);

Помимо ошибок, вы не вызываете функцию. измените свою функцию и добавьте вызов:

function writecol($y){ # <-- pass a variable and call it $y
    foreach ($y as $value) {
        $z = explode(",", $value);

        echo "<tr class='visible'><td class='underlinecenter'>" . $z[0] . "</td> <td></td> <td colspan='3' class='underlinecenter'>" . $z[1] . "</td><td></td><td colspan='3' class='underlinecenter'>" . $z[2] . "</td></tr>";
    }   
}
writecol($y); #<-- function call sending the variable $y
0 голосов
/ 21 ноября 2011

Ну ... на самом деле вы никогда не вызываете функцию. Поэтому PHP просто не знает, что вы собираетесь использовать эту функцию в созданном вами массиве. Кроме того, вам следует добавить параметр в вашу функцию, поскольку из writecol() ваша переменная $y не будет видна.

Попробуйте это так:

$y = explode(...);
function writecol($array) {
    foreach ($array as $value) { // your code }
}
writecol($y);
0 голосов
/ 21 ноября 2011

Вы должны вызвать функцию writecol()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...