PHP+MYSQL条件筛选

PHP+MYSQL条件筛选,第1张

条件在变量$a、$v中,组织查询语句$sql,查询的结果再输出即可,例子代码关键部分:

<?php

    $a=$_GET['attr'] || 'a'

    $v=$_GET['value'] ||  '你'

    if(mysql_connect('127.0.0.1','root','123456')){

        $sql="SELECT id FROM `tab` WHERE `attr`='$a' AND `value`='$v'"

        if ($res=mysql_query($sql)){

            $row=[]

            while(list($id)=mysql_fetch_array($res)) $row[]=$id

            mysql_free_result($res)

            mysql_close()

            echo '查询结果:'. implode($row,'<br>')

        }else echo "执行SQL:$sql<br>失败:".mysql_error()

    }else echo 'MYSQL连接失败:".mysql_error()

?>

查询今天最后一条数据

SELECT * FROM `weibo_logs` where DATEDIFF( NOW(),date)=0 order by `date` desc limit 1

查询符合条件的weibo_user_id每天的一条数据

SELECT weibo_user_id, DATE_FORMAT(date,'%Y-%m-%d') FROM `text` where 'weibo_user_id'='{$source_account->id}' GROUP BY DATE_FORMAT(date,'%Y-%m-%d')

这样会有排序问题,那么就先排序

SELECT DATE_FORMAT(date,'%Y-%m-%d') as d

FROM (SELECT * FROM `text` ORDER BY date DESC) as s

where 'weibo_user_id'='{$source_account->id}'

GROUP BY DATE_FORMAT(date,'%Y-%m-%d')

mysql 支持存储过程,这个如果只连接一次数据库用存储过程实现最为合理,如果连接两次的话(这样效率低),就先查一次登陆学生的班级,放在程序变量里,然后再查这个班级的所有学生资料。

如果一个语句一次查询就是这样,access是可以通过的,不知道Mysql会不会通过:

SELECT A.m_name, A.m_class

FROM `表` AS A INNER JOIN (select m_name, m_class from `表` where m_name='名字' and password='密码') AS B ON A.m_class=B.m_class

但是这样,应该考虑一下登录不成功获得的程序集是什么样,是空的还是报错,自己示范一下,提供下思路而已。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/8500593.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存