Php 如果阵列为空,则返回
我一直在编写一些代码,根据教师上传多少项目与同事和学生分享,向教师颁发徽章 当数组为空时,我遇到了一个问题。什么也没出现 我尝试了一个empty()函数,但我一定是把它放错了位置,因为它开始出现在上传过的用户身上 因此,在下面的代码中,“if$uploads<1”部分是我遇到困难的地方 …由此产生的问题是,在mysql_fetch_array($upload_count)为空的情况下,如何获取要回显的消息Php 如果阵列为空,则返回,php,mysql,arrays,Php,Mysql,Arrays,我一直在编写一些代码,根据教师上传多少项目与同事和学生分享,向教师颁发徽章 当数组为空时,我遇到了一个问题。什么也没出现 我尝试了一个empty()函数,但我一定是把它放错了位置,因为它开始出现在上传过的用户身上 因此,在下面的代码中,“if$uploads
<?php
$total_uploads = mysql_query("SELECT members.member_id, members.member_firstname, members.member_lastname, COUNT(*)
FROM uploads
JOIN members
ON uploads.member_id = members.member_id
GROUP BY uploads.member_id ");
$total_uploads_count = @mysql_num_rows($total_uploads);
$upload_count = mysql_query("SELECT members.member_id, members.member_firstname, members.member_lastname, COUNT(*)
FROM uploads
JOIN members
ON uploads.member_id = members.member_id AND members.member_id = ". $_SESSION['member_id'] . "
GROUP BY uploads.member_id ");
while($row_count=mysql_fetch_array($upload_count))
{
$uploads = $row_count['COUNT(*)'];
$unlock2 = 5 - $row_count['COUNT(*)'] ;
$unlock3 = 20 - $row_count['COUNT(*)'] ;
$unlock4 = 50 - $row_count['COUNT(*)'] ;
$unlock5 = 100 - $row_count['COUNT(*)'] ;
$unlock6 = 200 - $row_count['COUNT(*)'] ;
echo " you have <span class =\"blue_inherit\"> $uploads </span> uploads.<br/><br/>";
if ($uploads < 1 )
{
echo "Upload a resource to share in order to unlock your novice uploader badge!<br/>
<img src=\"images/badges/badge_e_share_1_locked.png\" width=\"200\" height=\"200\" alt=\"Sharing Badge\" />";
}
else if ($uploads >= 1 && ($uploads < 5 ))
{
echo "Well done, you've unlocked your novice sharer's badge. <br/>
<img src=\"images/badges/badge_e_share_1.png\" width=\"200\" height=\"200\" alt=\"Sharing Badge\" /><br/>
If you upload $unlock2 more resources, you can unlock your E-sharing advanced beginner's badge. <br/>
<img src=\"images/badges/badge_e_share_2_locked.png\" width=\"200\" height=\"200\" alt=\"Sharing Badge\" /><br/>
";
}
else if ($uploads >= 5 && ($uploads < 20 ))
{
echo "Well done, you've unlocked your E-sharing advanced beginner's badge. <br/>
<img src=\"images/badges/badge_e_share_2.png\" width=\"200\" height=\"200\" alt=\"Sharing Badge\" /><br/>
If you upload $unlock3 more resources, you can unlock your E-sharing mini-hero badge. <br/>
<img src=\"images/badges/badge_e_share_3_locked.png\" width=\"200\" height=\"200\" alt=\"Sharing Badge\" /><br/> ";
}
else if ($uploads >= 20 && ($uploads < 50 ))
{
echo "Well done, you've unlocked your E-sharing mini-hero badge. <br/>
<img src=\"images/badges/badge_e_share_3.png\" width=\"200\" height=\"200\" alt=\"Sharing Badge\" /><br/>
If you upload $unlock4 more resources, you can unlock your E-sharing hero badge. <br/>
<img src=\"images/badges/badge_e_share_4_locked.png\" width=\"200\" height=\"200\" alt=\"Sharing Badge\" /><br/> ";
}
else if ($uploads >= 50 && ($uploads < 100 ))
{
echo "Well done, you've unlocked your E-sharing hero badge. <br/>
<img src=\"images/badges/badge_e_share_4.png\" width=\"200\" height=\"200\" alt=\"Sharing Badge\" /><br/>
If you upload $unlock5 more resources, you can unlock your E-sharing super-hero badge. <br/>
<img src=\"images/badges/badge_e_share_5_locked.png\" width=\"200\" height=\"200\" alt=\"Sharing Badge\" /><br/> ";
}
else if ($uploads >= 100 && ($uploads < 200 ))
{
echo "Well done, you've unlocked your E-sharing super-hero badge. <br/>
<img src=\"images/badges/badge_e_share_5.png\" width=\"200\" height=\"200\" alt=\"Sharing Badge\" /><br/>
If you upload $unlock6 more resources, you can unlock your E-sharing Guru badge. <br/>
<img src=\"images/badges/badge_e_share_6_locked.png\" width=\"200\" height=\"200\" alt=\"Sharing Badge\" /><br/> ";
}
else
{
echo "You've now a Guru!! <br/>
<img src=\"images/badges/badge_e_share_6.png\" width=\"200\" height=\"200\" alt=\"Sharing Badge\" /><br/> ";
}
}
?>
我相信如果mysql计数返回空而不是0
试试这个
if (empty($uploads) === true) {
echo "Upload a resource to share in order to unlock your novice uploader badge!<br/>
<img src=\"images/badges/badge_e_share_1_locked.png\" width=\"200\" height=\"200\" alt=\"Sharing Badge\" />";
}
if(空($uploads)==true){
echo“上传一个资源共享,以解锁您的新手上传者徽章!
";
}
井坝。。您还可以将变量名更改为
$please\u Injection\u me,$please\u Injection\u me1等等
第一课是请使用
现在谈谈你的问题(根据我对你问题的理解):
包括以下内容:
//We connect to the database
$host="xxxxxx"; // Host name
$username="xxxxxxxxx"; // Mysql username
$password="xxxxxxx"; // Mysql password
$db_name="xxxxxxx"; // Database name
// Connect to server via PHP Data Object
$pdo = new PDO("mysql:host=xxxxx;dbname=xxxxxxxx", $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
?>
完成此操作后,在任何具有数据库交互(查询)的页面顶部,您只需执行以下操作:
要求('....(您的路径是)/connect.php')
现在,您可以使用单个变量($upload\U count)计算查询中的所有行,请执行以下操作:
// get the differences in the counts
$unlock2 = 5 - $upload_count;
$unlock3 = 20 - $upload_count;
$unlock4 = 50 - $upload_count;
$unlock5 = 100 - $upload_count;
$unlock6 = 200 - $upload_count;
现在的问题是,如果返回的结果为空,或者如果返回的结果为0/无结果,则如何在数据库中进行回送
那就做吧`
if($upload_count == 0) { // This is empty
....................
} else { // This is not empty have fun :D
...........
}
我想我回答了你的问题。。。如果你不告诉我。我已经厌倦了这么说,但是你不应该使用MySQL扩展。你看了太累了,让我们都休息一下:-)@Dagon它需要自动评论。@Phil“还有吗?”你的意思是说曾经有过人们RTFM的时候吗?@Dagon我把它留给:)什么是“空的”?还有,为什么要在布尔比较的第一级任意停止?为什么不如果((空($uploads)===true)===true)
?非常感谢,我只希望我满足了所有人的要求。。。好像是我干的(我不知道他工作背后的逻辑)。。。哦,时间会证明一切的。我会继续关注这篇帖子的!谢谢你抽出时间来,瑞克斯。使用上面的代码,我得到了一个错误:致命错误:在第15行的/home/myschool/public\u html/admin\u uploads2.php中对非对象调用成员函数prepare(),我找到了一个解决方案,我将在下一篇文章中粘贴。但是,它不涉及PDO。我必须对此做一些研究。顺便问一下,我可以用PDO做一个include函数,就像我现在习惯做的那样(比如包括“mysql_connect.php”,而不是在每个文档中写数据库细节)。再次感谢您的时间。是的,它会给出错误,我没有测试过它或任何东西。请让我知道问题在哪里,我会在我认为合适的时候修改。-谢谢对不起,请查看上面已编辑的文章,其中说明了错误。我不想在编辑之前发布。是的,我非常抱歉没有明确说明这一点。给我一分钟来做这件事
if($upload_count == 0) { // This is empty
....................
} else { // This is not empty have fun :D
...........
}