Математическая функция во время эха из внешнего текстового файла

0

Это моя форма, когда я отправляю информацию о рейтинге в свой файл textfile.txt.

<form name="Star" id="Star">    
    <div id="rating-area" class="shadow">   

    <img src="star-icon.png" id="thumb1" data-value="1" />
    <img src="star-icon.png" id="thumb2" data-value="2" />
    <img src="star-icon.png" id="thumb3" data-value="3" />
    <img src="star-icon.png" id="thumb4" data-value="4" />
    <img src="star-icon.png" id="thumb5" data-value="5" />

    </div>

</form>
<script>


   jQuery('div#rating-area img').click(function(e){
        var val = jQuery(this).data('value') ;
        console.log(val) ;
        jQuery.post('post.php',{ Star : val },function(data,status){
            console.log('data:'+data+'/status'+status) ;
        }) ;
    }) ;

</script>

И это мой php-вызов:

<?php

    $file = file("textfile.txt");
    $file_content = file_get_contents("textfile.txt");
    $file_content_separated_by_dash = explode("-", $file_content);


    echo "Number of votes in file: " . count($file_content_separated_by_dash) . "<br>";
    $sum = 0;

    foreach ($file_content_separated_by_dash as $vote) {
        $sum = $sum + $vote;
    }
    echo "Total: " . $sum;
?>

Кажется, я не понимаю этого. Когда я запускаю ход подсчета количества голосов в textfile.txt, я получаю только первый голос в качестве общей суммы. Независимо от того, перезагружаю ли я страницу или нет. Это еще самый первый голос, который появляется. Я проверил файл textfile.txt. Он обновляется каждый раз, когда "звезда-рейтинг" "onclick".

Также "количество голосов". Чтобы узнать, сколько раз кто-то щелкнул по нему. Он остается на 1 до конца. Что я пропустил?

Я все еще довольно новичок с php. Поэтому, если я забуду любую дополнительную информацию, скажите мне, и я постараюсь обновить сообщение этой информацией.

  • 0
    поделиться содержимым текстового файла ..
  • 0
    Я загрузил textfile.txt далее ниже. Числа, которые находятся внутри, являются результатом того, что я нажал несколько звездочек :)
Показать ещё 3 комментария
Теги:

2 ответа

1
Лучший ответ

Содержимое вашего текстового файла не совпадает с кодом. Числа в текстовом файле должны быть разделены - для работы с текущим кодом.

Если вы не можете изменить свою вставку в текстовый файл, измените код чтения, как это

<?php

    $file = file("textfile.txt");
    $file_content = file_get_contents("textfile.txt");
    $file_content_separated_by_dash = str_split($file_content);


    echo "Number of votes in file: " . count($file_content_separated_by_dash) . "<br>";
    $sum = 0;

    foreach ($file_content_separated_by_dash as $vote) {
        $sum = $sum + intval($vote);
    }
    echo "Total: " . $sum;
?>
  • 0
    Спасибо, решил мою проблему! :)
  • 0
    не забудьте поменять имена переменных на подходящие один раз .. $ file_content_separated_by_dash больше не нужен, так как у вас нет '-'.
0

Можете ли вы разместить файл textfile.txt? Код выглядит нормально, нужно проверить, как данные сохраняются в текстовом файле.

У вашего файла нет - он имеет только номера.

поэтому вы можете использовать этот код

$numbers = file_get_contents("textfile.txt");

$count =  strlen($numbers);
echo 'Total votes'.$count;

for($i = 0; $i < count; $i++) {
   echo $numbers[$i] . '<br />';
}
  • 0
    Это не ответ.
  • 0
    Да, конечно, но он пуст. Только сохраненные номера хранятся внутри него.
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню