Php 在表中显示mysql_fetch_assoc的结果
我正在使用函数Php 在表中显示mysql_fetch_assoc的结果,php,mysql,mysqli,Php,Mysql,Mysqli,我正在使用函数mysql\u fetch\u assoc返回数据库中的数据,但我不知道如何将结果打印到表中。 下面是执行该过程的代码 $number_of_date= "SELECT SUM(number_of_date) AS number_of_date FROM emp_leaves WHERE emp_id='$userID' AND leave_category='Annual' AND apply_year='$year'"; $res_qry = mysql_query($num
mysql\u fetch\u assoc
返回数据库中的数据,但我不知道如何将结果打印到表中。
下面是执行该过程的代码
$number_of_date= "SELECT SUM(number_of_date) AS number_of_date FROM emp_leaves WHERE emp_id='$userID' AND leave_category='Annual' AND apply_year='$year'";
$res_qry = mysql_query($number_of_date) or die ('Invalid query :: <br/>'.$number_of_date.' <br/>'.mysql_error());
$rowqry = mysql_fetch_assoc($res_qry);
$number_date = $rowqry ['number_of_date'];
<tr>
<?php while($rowqry = mysql_fetch_assoc($res_qry)) { ?>
<td><?php echo $rowqry ['number_of_date']?></td>
<?php } } ?>
</tr>
$number\u of_date=“选择SUM(number\u of_date)作为emp_leaves中的number\u of_date,其中emp_id='$userID',leave_category='Annual',apply_year='$year';
$res_qry=mysql_query($number_of_date)或die($Invalid query::
。$number_of_date。
。mysql_error());
$rowqry=mysql\u fetch\u assoc($res\u qry);
$number_date=$rowqry['number_of_date'];
它不起作用。显示此结果的正确方法是什么?删除第一个mysql\u fetch\u assoc()
$number\u of_date=“选择SUM(number\u of_date)作为emp_leaves中的number\u of_date,其中emp_id='$userID',leave_category='Annual',apply_year='$year';
$res_qry=mysql_query($number_of_date)或die($Invalid query::
。$number_of_date。
。mysql_error());
删除第一个mysql\u fetch\u assoc()
$number\u of_date=“选择SUM(number\u of_date)作为emp_leaves中的number\u of_date,其中emp_id='$userID',leave_category='Annual',apply_year='$year';
$res_qry=mysql_query($number_of_date)或die($Invalid query::
。$number_of_date。
。mysql_error());
您的构造似乎格式不正确。试试另一个:
<?php
$number_of_date = "SELECT SUM(number_of_date) AS number_of_date FROM emp_leaves WHERE emp_id='$userID' AND leave_category='Annual' AND apply_year='$year'";
$res_qry = mysql_query($number_of_date)
or die ('Invalid query :: <br/>'. $number_of_date . ' <br/>' . mysql_error());
//$rowqry = mysql_fetch_assoc($res_qry); // <== NOT NECESSARY SINCE YOU ARE GOING TO LOOP OVER THE RESULT
//$number_date = $rowqry ['number_of_date']; // <== NOT NECESSARY SINCE YOU ARE GOING TO LOOP OVER THE RESULT
?>
<tr>
<?php while($rowqry = mysql_fetch_assoc($res_qry)) : ?>
<td><?php echo $rowqry ['number_of_date']?></td>
<?php endwhile; ?>
</tr>
您的构造似乎格式不正确。试试另一个:
<?php
$number_of_date = "SELECT SUM(number_of_date) AS number_of_date FROM emp_leaves WHERE emp_id='$userID' AND leave_category='Annual' AND apply_year='$year'";
$res_qry = mysql_query($number_of_date)
or die ('Invalid query :: <br/>'. $number_of_date . ' <br/>' . mysql_error());
//$rowqry = mysql_fetch_assoc($res_qry); // <== NOT NECESSARY SINCE YOU ARE GOING TO LOOP OVER THE RESULT
//$number_date = $rowqry ['number_of_date']; // <== NOT NECESSARY SINCE YOU ARE GOING TO LOOP OVER THE RESULT
?>
<tr>
<?php while($rowqry = mysql_fetch_assoc($res_qry)) : ?>
<td><?php echo $rowqry ['number_of_date']?></td>
<?php endwhile; ?>
</tr>
实际上您已经使用了两次mysql\u fetch\u assoc
函数如果您使用的是内部循环,那么为什么要使用外部循环如果您使用的是外部循环,则表示您已经获取了一条记录,然后光标移动到下一条记录获取。如果在数据库中只有一条记录,那么在循环中您将一无所获,因为您已经在循环外获取了一条记录。在第二种情况下,如果数据库中存在多条记录,那么您将从循环中的第二条记录中获得输出,因为您已经使用了2次mysql\u fetch\u assoc
。所以请用下面的代码替换您的代码
$number_of_date = "SELECT SUM(number_of_date) AS number_of_date FROM emp_leaves WHERE emp_id='$userID' AND leave_category='Annual' AND apply_year='$year'";
$res_qry = mysql_query($number_of_date) or die ('Invalid query :: <br/>'.$number_of_date.' <br/>'.mysql_error());
<tr>
<?php while($rowqry = mysql_fetch_assoc($res_qry)) { ?>
<td><?php echo $rowqry ['number_of_date']?></td>
<?php } } ?>
</tr>
$number\u of_date=“选择SUM(number\u of_date)作为emp_leaves中的number\u of_date,其中emp_id='$userID',leave_category='Annual',apply_year='$year';
$res_qry=mysql_query($number_of_date)或die($Invalid query::
。$number_of_date。
。mysql_error());
试试这个,你的问题就会解决。实际上你已经使用了两次mysql\u fetch\u assoc
函数如果你使用的是内部循环,那么为什么要使用外部循环如果你使用的是外部循环,则表示你已经获取了一条记录,然后光标移动到下一条记录获取。如果在数据库中只有一条记录,那么在循环中您将一无所获,因为您已经在循环外获取了一条记录。在第二种情况下,如果数据库中存在多条记录,那么您将从循环中的第二条记录中获得输出,因为您已经使用了2次mysql\u fetch\u assoc
。所以请用下面的代码替换您的代码
$number_of_date = "SELECT SUM(number_of_date) AS number_of_date FROM emp_leaves WHERE emp_id='$userID' AND leave_category='Annual' AND apply_year='$year'";
$res_qry = mysql_query($number_of_date) or die ('Invalid query :: <br/>'.$number_of_date.' <br/>'.mysql_error());
<tr>
<?php while($rowqry = mysql_fetch_assoc($res_qry)) { ?>
<td><?php echo $rowqry ['number_of_date']?></td>
<?php } } ?>
</tr>
$number\u of_date=“选择SUM(number\u of_date)作为emp_leaves中的number\u of_date,其中emp_id='$userID',leave_category='Annual',apply_year='$year';
$res_qry=mysql_query($number_of_date)或die($Invalid query::
。$number_of_date。
。mysql_error());
尝试此操作,您的问题可能会得到解决。通过使用
mysql\u fetch\u assoc()
两次,您已经将结果的第一行分配给了$rowqry
。在您的查询中,由于选择了所有结果的SUM()
,因此您将只有一行结果,这样就不会在while循环()中留下更多的结果
您只需删除while loop()
,因为这是不必要的,因为您只会得到一行
另外,您提供的代码、HTML实体都在PHP中。使用echo
:
$number_of_date= "SELECT SUM(number_of_date) AS number_of_date FROM emp_leaves WHERE emp_id='$userID' AND leave_category='Annual' AND apply_year='$year'";
$res_qry = mysql_query($number_of_date) or die ('Invalid query :: <br/>'.$number_of_date.' <br/>'.mysql_error());
$rowqry = mysql_fetch_assoc($res_qry);
$number_date = $rowqry['number_of_date'];
echo '<tr>
<td>'.$number_date.'</td>
</tr>';
$number\u of_date=“选择SUM(number\u of_date)作为emp_leaves中的number\u of_date,其中emp_id='$userID',leave_category='Annual',apply_year='$year';
$res_qry=mysql_query($number_of_date)或die($Invalid query::
。$number_of_date。
。mysql_error());
$rowqry=mysql\u fetch\u assoc($res\u qry);
$number_date=$rowqry['number_of_date'];
回声'
“.$number_date”
';
注意:使用扩展名而不是弃用的扩展名。通过两次使用mysql\u fetch\u assoc()
,您已经将结果的第一行分配给了$rowqry
。在您的查询中,由于选择了所有结果的SUM()
,因此您将只有一行结果,这样就不会在while循环()中留下更多的结果
您只需删除while loop()
,因为这是不必要的,因为您只会得到一行
另外,您提供的代码、HTML实体都在PHP中。使用echo
:
$number_of_date= "SELECT SUM(number_of_date) AS number_of_date FROM emp_leaves WHERE emp_id='$userID' AND leave_category='Annual' AND apply_year='$year'";
$res_qry = mysql_query($number_of_date) or die ('Invalid query :: <br/>'.$number_of_date.' <br/>'.mysql_error());
$rowqry = mysql_fetch_assoc($res_qry);
$number_date = $rowqry['number_of_date'];
echo '<tr>
<td>'.$number_date.'</td>
</tr>';
$number\u of_date=“选择SUM(number\u of_date)作为emp_leaves中的number\u of_date,其中emp_id='$userID',leave_category='Annual',apply_year='$year';
$res_qry=mysql_query($number_of_date)或die($Invalid query::
。$number_of_date。
。mysql_error());
$rowqry=mysql\u fetch\u assoc($res\u qry);
$number_date=$rowqry['number_of_date'];
回声'
“.$number_date”
';
注意:使用扩展,而不是不推荐使用的扩展。首先,我建议将所有mysql函数更改为MySQLi函数。但是,出于提问的目的->代码的问题在于循环变量后面有空格$res_qry['variable']与$res_qry['variable']不同
$number_of_date= "SELECT SUM(number_of_date) AS number_of_date FROM emp_leaves WHERE emp_id='$userID' AND leave_category='Annual' AND apply_year='$year'";
$res_qry = mysql_query($number_of_date) or die ('Invalid query :: <br/>'.$number_of_date.' <br/>'.mysql_error());
<tr>
<?php while($rowqry = mysql_fetch_assoc($res_qry)) { ?>
<td><?php echo $rowqry['number_of_date']?></td>
<?php } } ?>
</tr>
$number\u of_date=“选择SUM(number\u of_date)作为emp_leaves中的number\u of_date,其中emp_id='$userID',leave_category='Annual',apply_year='$year';
$res\u qry=mysql\u q