Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php SQL查询,帮助我获取“的编号”;“是”;它在一列中_Php_Mysql - Fatal编程技术网

Php SQL查询,帮助我获取“的编号”;“是”;它在一列中

Php SQL查询,帮助我获取“的编号”;“是”;它在一列中,php,mysql,Php,Mysql,我想显示一次约会有多少个“y” 我不知道是否有这样的事情:( 我想在2013.01.01列中显示“Y”的数字 <?php $link = mysql_connect("localhost", "", ""); mysql_select_db("", $link); $result = mysql_query("SELECT * FROM attendance WHERE date = '2013.01.01'", $link); $num_rows = mysql_num_rows($re

我想显示一次约会有多少个“y”

我不知道是否有这样的事情:(

我想在2013.01.01列中显示“Y”的数字

<?php
$link = mysql_connect("localhost", "", "");
mysql_select_db("", $link);
$result = mysql_query("SELECT * FROM attendance WHERE date = '2013.01.01'", $link);
$num_rows = mysql_num_rows($result);
echo "$num_rows";
?>
期望输出:

no. of presents on 2013.01.01 are 4

您的基本sql查询是

选择合并((pt17='y'),0)
+合并((pt18='y'),0)
+合并((pt19='y'),0)
+合并((pt20='y'),0)
+合并((pt21='y'),0)
+合并((pt22='y'),0)
+合并((pt23='y'),0)
+合并((pt24='y'),0)num
出席人数
其中日期='2013.01.01'
输出:

| NUM | ------- | 4 |
peterm和chetan已经给出了简单的答案。因此,我将给出另一种解决方案。我不确定ptXX列的上下文是什么,但它们似乎是通用的。如果是这样,最好将表重新构造为以下内容

Attendance
DATE | PT-ID | status(y/n/_)
(如有必要,添加定义PT-ID的表格)

使用此表结构,您可以轻松地在特定日期请求出席,而无需使用此处提供的高级(我认为是硬编码的)查询。

您可以尝试计数(年(日))你能展示一下你想要的输出是怎样的吗?@Prix谢谢。我已经更新了我的问题。@user2457175,你想在PHP上而不是在MySQL查询上格式化它,对吗?首先规范化你的数据。sql表不是电子表格!如何在前端显示这个结果。这样行吗?
$num\u rows=mysql_num_rows($result);echo“$num_rows”
非常感谢:)它工作得很好!但问题是它将结果显示为
string(1)“2”
2就是答案。如何删除
字符串(1)
如何将显示更改为
礼物数量:5
@user2457175不客气:)请参阅更新的答案。您可以使用
echo
将最后一行更改为您喜欢的内容。 | NUM | ------- | 4 |
<?php
$link = mysql_connect("localhost", "vishnu65_ven", "vishnu65_ven");
mysql_select_db("vishnu65_ven", $link);
$result = mysql_query("SELECT * FROM attendance WHERE date = '2013.01.01'", $link);
while($rows = mysql_fetch_rows($result)){
    $num_of_y = 0;
    foreach($rows as $row){
         if($row == 'y')
            $num_of_y++;
    }
    echo 'Number of y = '.$num_of_y;
}

?>
Attendance
DATE | PT-ID | status(y/n/_)