Увеличивайте число в php при каждом получении данных из sql

#php #sql #ajax

#php #sql #ajax

Вопрос:

Я пытаюсь создать программу, которая может получать данные из Sql с помощью php. полученные данные представляют собой число от 1 до 5, и каждое число представляет собой цвет. каждый раз, когда принимается число, счетчик добавляет 1 для этого цвета в html. Я смог закодировать это, но если страница обновляется, подсчитанное значение становится 0.

 <?php

while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC)) {
    echo $row['name'].", ".$row['color']";

 $red = "5";
 $pink = "4";
 $yellow = "3";
 $black = "2";
 $white = "1";



 $colorid = $row['color']; 

 if ($colorid == $red){
     echo "Red";
     $re = 1;
     $re =   ;
  
 } elseif ($colorid == $pink){
     echo "Pink";
     $pi = 1;
     $pi =   ;
  
 } elseif ($colorid == $yellow){
     echo "Yellow";
     $ye = 1;
     $ye =   $;
  
 } elseif ($colorid == $black){
     echo "Black";
     $blk = 1;
     $blk =   ;
  
 } elseif ($colorid == $white){
     echo "White";
     $wh = 1;
     $wh =   ;
  
 } else {
     echo "Cannot verify the color code";
 }
}

?>

    <div>
        <span>White:     </span><input name="white" value="<?php echo (isset($wh))?$wh:'';?>">
    
        <span>Black:     </span><input name="black" value="<?php echo (isset($blk))?$blk:'';?>">
    
        <span>Yellow:     </span><input name="yellow" value="<?php echo (isset($ye))?$ye:'';?>">
    
        <span>Pink:     </span><input name="pink" value="<?php echo (isset($pi))?$pi:'';?>">
    
        <span>Red :     </span><input name="red" value="<?php echo (isset($re))?$re:'';?>">

    </div>
  

Комментарии:

1. почему это помечено javascript ?

2. Просто примечание, плохой практикой является использование операторов if-else-if для простых проверок равенства для вашего $colorid . Для этого вы должны использовать оператор switch

3. используйте сеансы для сохранения значений после обновления страницы.

4. @Профессор Абронсиус, не могли бы вы, пожалуйста, проверить мой код и дать мне знать, если у вас есть какие-либо решения.