While loop не работает в функции PHP
Цикл while отлично работает в этом примере.
$query="SELECT * FROM `ex`"; $result=mysqli_query($link, $query); $Q_X='Q1'; $res=array(0,0,0,0,0); while($report=mysqli_fetch_array($result)){ print_r($report[$Q_X].'<br>'); if($report[$Q_X]=='X1'){ $res[0]=$res[0]+1; }elseif($report[$Q_X]=='X2'){ $res[1]=$res[1]+1; }elseif($report[$Q_X]=='X3'){ $res[2]=$res[2]+1; }elseif($report[$Q_X]=='X4'){ $res[3]=$res[3]+1; }elseif($report[$Q_X]=='X5'){ $res[4]=$res[4]+1; } } list($Q1_1,$Q1_2,$Q1_3,$Q1_4,$Q1_5) = $res; echo $Q1_1.','; echo $Q1_2.','; echo $Q1_3.','; echo $Q1_4.','; echo $Q1_5;
но когда я пытаюсь поместить его в функцию in не работает
$query="SELECT * FROM `ex`"; $result=mysqli_query($link, $query); function count_vote($Q_X) { $cont=0; $res=array(0,0,0,0,0); while($report=mysqli_fetch_array($result)){ if($report[$Q_X]=='X1'){ $res[0]=$res[0]+1; }elseif($report[$Q_X]=='X2'){ $res[1]=$res[1]+1; }elseif($report[$Q_X]=='X3'){ $res[2]=$res[2]+1; }elseif($report[$Q_X]=='X4'){ $res[3]=$res[3]+1; }elseif($report[$Q_X]=='X5'){ $res[4]=$res[4]+1; } } if(mysqli_num_rows($result)==$cont){ return $res; } } count_vote("Q1"); list($Q1_1,$Q1_2,$Q1_3,$Q1_4,$Q1_5) = $res; echo $Q1_1.','; echo $Q1_2.','; echo $Q1_3.','; echo $Q1_4.','; echo $Q1_5;
Я использую массив для получения нескольких возвращаемых значений
и если, чтобы предотвратить функцию от выхода, прежде чем цикл while заканчивается
Я пытаюсь превратить его в функцию, чтобы использовать его несколько раз на Q1,Q2,..
может ли кто-нибудь помочь мне найти эту проблему
----------------- таблица mysql-----------------
................... В1 . Q2 . Q3. Q4
----------------------------------------
......пользователь1 | Х1 . Х3 . X5. X4
......пользователь2 | Х2 . Х2 . X3. X2
......пользователь3 | Х1 . Х1 . X1. X1
Я хочу получить этот курорт
Q1- - - > X1 > 2
---> X2 > 1
---> X3 > 0
---> X4 > 0
---> X5 > 0
Q2- - - > X1 > 1
---> X2 > 1
---> X3 > 1
---> X4 > 0
---> X5 > 0
Q3, Q4....
while loop не работает в функции php
Что я уже пробовал:
<?php include '../mysqCode/masterlink.php';mysqli_set_charset($link,'utf8'); if (mysqli_connect_error()){ die("Coud not connect to Database,server error"); }else{ $query="SELECT * FROM `ex`"; $result=mysqli_query($link, $query); function count_vote($result ,$Q_X) { $res = array(0, 0, 0, 0, 0); while ($report = mysqli_fetch_array($result)) { if ($report[$Q_X] == 'X1') { $res[0] = $res[0] + 1; } elseif ($report[$Q_X] == 'X2') { $res[1] = $res[1] + 1; } elseif ($report[$Q_X] == 'X3') { $res[2] = $res[2] + 1; } elseif ($report[$Q_X] == 'X4') { $res[3] = $res[3] + 1; } elseif ($report[$Q_X] == 'X5') { $res[4] = $res[4] + 1; } } if (mysqli_num_rows($result) > 1) { return $res; } } list($Q1_1, $Q1_2, $Q1_3, $Q1_4, $Q1_5) = count_vote($result ,"Q1"); echo $Q1_1 . ','; echo $Q1_2 . ','; echo $Q1_3 . ','; echo $Q1_4 . ','; echo $Q1_5; list($Q2_1, $Q2_2, $Q2_3, $Q2_4, $Q2_5) = count_vote($result ,"Q2"); echo $Q2_1 . ','; echo $Q2_2 . ','; echo $Q2_3 . ','; echo $Q2_4 . ','; echo $Q2_5 . '<br>'; } ?>
кулак один работает а остальные нет