虽然循环在函数PHP中不起作用 [英] While loop does not work in function PHP
问题描述
在此示例中,while循环正常工作。
$ query = SELECT * FROMex`;
$ 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;
}
}
列表($ 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 ;
但是当我试图将它放入一个函数中时不起作用
$ query = SELECT * FROMex`;
$ result = mysqli_query($ link,$ query);
函数count_vote($ Q_X){
$ cont = 0;
$ res = array(0,0,0,0,0);
while($ report = mysqli_fetch_array($ result)){
if($ report [$ Q_X] == ' < span class =code-string> 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 跨度>);
列表($ 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表-----------------
............... ...... Q1。 Q2。 Q3。 Q4
----------------------------------------
...... user1 | X1。 X3。 X5。 X4
...... user2 | X2。 X2。 X3。 X2
...... user3 | X1。 X1。 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循环不起作用php
我尝试过:
<?php 包括' ../ mysqCode / masterlink.php'; mysqli_set_charset($ link,' utf8');
if (mysqli_connect_error()){
die( Coud没有连接到数据库,服务器错误);
} else {
$ query = SELECT * FROM `ex`跨度>;
$ result = mysqli_query($ link,$ query);
函数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 ;
}
}
列表($ Q1_1,$ Q1_2,$ Q1_3,$ Q1_4,$ Q1_5)= count_vote($ result,< span class =code-string> Q1);
echo $ Q1_1 。 ' ,';
echo $ Q1_2 。 ' ,';
echo $ Q1_3 。 ' ,';
echo $ Q1_4 。 ' ,';
echo $ Q1_5 ;
列表($ 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>';
}
?>
第一个工作,但其余的不是
query = SELECT * FROMex`;
结果= mysqli_query(
链路,
The while loop works fine in this example.
$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;
but when I try to put it in a function in doesn't work
$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;
I using an array to get multiple values returned
and if to prevent the function from exiting before the while loop ending
I am trying to make it into a function to use it multiple times on Q1,Q2,..
can someone help me find the problem
-----------------mysql table-----------------
................... Q1 . Q2 . Q3 . Q4
----------------------------------------
......user1 | X1 . X3 . X5 . X4
......user2 | X2 . X2 . X3 . X2
......user3 | X1 . X1 . X1 . X1
I want to get this resort
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 does not work in function php
What I have tried:
<?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>';
}
?>
the fist one work but the rest does not
query="SELECT * FROM `ex`";
result=mysqli_query(
link,
这篇关于虽然循环在函数PHP中不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!