2013-12-18 4 views
1

У меня есть простая HTML-страница в качестве обертки, а затем функция PHP для чтения информации из файла и разделения ее на теги div (думаю, разделяя комментарии или сообщения на форуме). Он читается из плоского файла .txt, который делится между каждым разделом. Этот ограничитель должен увеличивать переменную, а затем создавать новый тег div на основе значения i(). Он работает для числа 1 (инициализатор), а затем он увеличивается один раз, но он не может увеличиваться более одного раза.Изменение HTML через разделительный PHP

Итак, мой вопрос в том, что я делаю неправильно? Могу ли я неправильно изменять свои переменные или неправильно ли выставлять HTML?

Вы можете предположить, что файл открывается и закрывается должным образом.

while (!feof($file)){ 
    $currentPost = 1; # this is the counter (i) 
    $charA = fgetc($file); # check for delimiterA 
    $charB = fgetc($file); # check for delimiterB 
    $line = fgets($file); # read THE REST OF THE LINE 

    if ($charA == "$" && $charB == "!") { # this delimiter separates posts. 

     $currentPost = $currentPost + 1; 
     echo "</div> <div class=\"col$currentPost\">"; # close last div, make new div 

    } else if ($charA == "%" && $charB == "&") { # content is finished, close div 
     echo "</div>"; 
    } else { 
     echo "$charA$charB$line<br>"; 
    } 
} 

ответ

5

Инициализировать $currentPost = 1; перед циклом, а не внутри него.

Способ, которым вы это делаете, сбрасывает $currentPost на 1 каждый раз, когда цикл работает.

+0

Как неловко. Большое спасибо lol – user2218509

0

каждый раз, в то время как получить выполнил $currentPost = 1; перезапущена это то, что вы делаете неправильно, вы должны получить первую инициализацию из время

Смежные вопросы