$con =mysqli_connect('localhost','root','','DB'); if
(!empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip=$_SERVER['HTTP_CLIENT_IP']; } elseif
(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip=$_SERVER['HTTP_X_FORWARDED_FOR']; } else {
$ip=$_SERVER['REMOTE_ADDR']; } $sql ="SELECT kafsent.id, kafsent.home,
COUNT(likes.ip) as like
FROM kafsent
LEFT JOIN likes
ON likes.post=kafsent.id
GROUP BY kafsent.id"; $query=mysqli_query($con,$sql) ; while($row=mysqli_fetch_assoc($query)){ $home =$row['home']; $id =$row['id']; $likes =$row['like']; ?> <a href="index.php?id=<?php echo $id; ?> "> <?php echo $home; ?></a> <?php echo $likes; ?>
<?php } ?> <?php if(isset($_GET['id'])){ $id= (int)$_GET['id']; $query= "INSERT INTO likes(odd_id,ip)
SELECT '$id', '$ip' FROM kafsent WHERE EXISTS( SELECT id FROM test WHERE id='$id') AND NOT EXISTS( SELECT id FROM likes WHERE ip='$ip' AND odd_id='$id' ) LIMIT 1 ";enter image description here $result=mysqli_query($con,$query); header('Location:index.php'); }
5条答案
按热度按时间3xiyfsfu1#
有两种通过两个参数连接的方法:
或:
但问题是,我还没有提出这样的请求,当您需要为这两个条件使用一个表列时。试试看,我希望它能帮到你!
wb1gzix02#
unhi4e5o3#
我也知道如果a.one和a.two不同的值查询不起作用。但我想知道我们如何把这些列合并,然后等于b.3。
这是我的真示例子的一部分。如果你想我可以发送主要问题。
u4dcyp6a4#
您好,正如您在问题中提到的,a.one和a.two有不同的值,您希望获取b.three必须等于a.one和a.two的结果
因此,只有当a.one和a.two值相同时,当前查询才会给出结果。如果a.one和a.two的数据几乎没有相似的值,并且希望与b.three进行比较,那么是的,您的查询是完全正确的,但是如果a.one和a.two总是不同的,那么此查询将不起作用。
如果要获取b.three应等于a.one或a.two的结果,则应使用or condition而不是and。
最好先弄清楚你的需求到底是什么,如果可能的话,然后你应该提供一些示例数据,这样其他人就可以正确地理解你的问题。
我希望这本书对你有用。
polhcujo5#
kafsent表
kafsent表数据
类表结构