2016-04-09 2 views
4

Я просто изучаю прогрессные бары и базу данных с PHP. На данный момент мой индикатор прогресса не увеличивает его ценность. Если я вручную установил его на «2», он будет работать. если я установил его где-нибудь выше 2, это не сработает. Это было сделано с помощью Bootstrap.

Это мой первый раз на сайте, как это, извините, если то, что я пытаюсь сказать, не имеет смысла.Ошибка выполнения бутстрапа

<?php 
    $items = $database->query("SELECT User_Items FROM Items WHERE Username = User_Here"); 
    if($items->num_rows) 
    { 
     while($row = $items->fetch_assoc()) 
     { 
      $itemcount = $row['User_Items']; 
     } 
    } 
?> 

<div class="row"> 
    <div class="col-lg-2 col-md-4 col-sm-6"> 
     <p>Total Items</p> 
     <div class="progress"> 
      <div class="progress-bar progress-bar-info" role="progressbar" aria-valuenow="<?php echo $totalitems; ?>" aria-valuemin="0" aria-valuemax="5" style="width: 0%"></div> 
     </div> 

     <div class="progress"> 
      <div class="progress-bar progress-bar-info" role="progressbar" aria-valuenow="2" aria-valuemin="0" aria-valuemax="5" style="width: 0%"></div> 
     </div> 

     <div class="progress"> 
      <div class="progress-bar progress-bar-info" role="progressbar" aria-valuenow="5" aria-valuemin="0" aria-valuemax="5" style="width: 0%"></div> 
     </div> 
    </div> 
</div> 
<script type="application/javascript"> 
$('.progress-bar').each(function() { 
    var min = $(this).attr('aria-valuemin'); 
    var max = $(this).attr('aria-valuemax'); 
    var now = $(this).attr('aria-valuenow'); 
    var siz = (now-min)*100/(max-min); 
    $(this).css('width', siz+'%'); 
}); 
</script> 
<?php 
    mysqli_free_result($result); 
    $database->close(); 
?> 

Это изображение имеет индикатор установлен на "2"

enter image description here

Это изображение имеет индикатор установлен на "5", максимальное значение.

enter image description here

+0

Вы отлаживаете $ itemcount. Это дает какую-то ценность? –

+0

Да. Это придает ценность. –

+0

Не могли бы вы просто пояснить, что вы говорите, что нижний индикатор выполнения (со значением, жестко закодированным до 5), не работает? Или это просто первый вариант с переменным значением, который не работает. – Chris

ответ

1

Сво кажется проблема с $itemcount, $itemcount может быть пуст.

См.: JsFiddle Это работает.

+0

$ itemcount печатает значение, скажем 50. Бар не заполняется до максимума «5». Он остается пустым. –

1

Использование ParseInt() в переменной Сиз, как показано ниже:

Заменить:

$(this).css('width', siz+'%'); 

С:

$(this).css('width', parseInt(siz)+'%'); 

он считает "СИЗ" значение переменной в качестве строки поэтому вам нужно изменить от строку до interger.

+0

Просто попробовал, бар по-прежнему остается пустым. –

0

Подумайте вопрос, что я никогда не имел

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script> 

включены.
Он начал работать после того, как я положил это в свой сценарий (думал, что у меня уже есть).
Спасибо тем, кто помог!

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