PHP我应该怎么做,如果我想呼应表而不是foreach循环
问题描述:
我想问我应该如何将我的foreach循环到一个PHP代码,每个回声表内容每个?PHP我应该怎么做,如果我想呼应表而不是foreach循环
这里是我的.PHP
<?php
require_once 'init.php';
$articleQuery = $db->query("
SELECT
articles.id,
articles.title,
COUNT(articles_likes.id) AS likes,
GROUP_CONCAT(users.username SEPARATOR '|') AS liked_by
FROM articles
LEFT JOIN articles_likes
ON articles.id = articles_likes.article
LEFT JOIN users
ON articles_likes.user = users.id
GROUP BY articles.id
");
while($row = $articleQuery->fetch_object()){
$row->liked_by = $row->liked_by ? explode('|', $row->liked_by) : [];
$articles[] = $row;
}
$articleQuery = $db->query("
SELECT
articles2.id,
articles2.title,
COUNT(articles_dislikes.id) AS dislikes,
GROUP_CONCAT(users.username SEPARATOR '|') AS disliked_by
FROM articles2
LEFT JOIN articles_dislikes
ON articles2.id = articles_dislikes.article
LEFT JOIN users
ON articles_dislikes.user = users.id
GROUP BY articles2.id
");
while($row = $articleQuery->fetch_object()){
$row->disliked_by = $row->disliked_by ? explode('|', $row->disliked_by)
: [];
$articles2[] = $row;
}
// echo '<pre>', print_r($articles, true), '</pre>';
?>
<?php foreach($articles as $article): ?>
<?php foreach($articles2 as $article1): ?>
<div class="article">
<h3><?php echo $article->title; ?></h3>
<a href="like.php?type=article&id=<?php echo $article->id; ?
>">Like<?php echo $article->likes; ?></a>
<div class="article1">
<a href="dislike.php?type=article&id=<?php echo $article1->id;
?>">disLike<?php echo $article1->dislikes; ?></a>
</div>
<?php endforeach; ?>
<?php endforeach; ?>
我想呼应的特定表标题,ID,像每个HTML后,
这里是我的table.sql
-- Table structure for table `articles`
--
CREATE TABLE IF NOT EXISTS `articles` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(200) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
-- Dumping data for table `articles`
INSERT INTO `articles` (`id`, `title`) VALUES
(1, 'Test article one'),
(2, 'Test article two'),
(3, 'Test article three');
--------------------------------------------------------
-- Table structure for table `articles_likes`
--
CREATE TABLE IF NOT EXISTS `articles_likes` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user` int(11) DEFAULT NULL,
`article` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
--
-- Dumping data for table `articles_likes`
--
INSERT INTO `articles_likes` (`id`, `user`, `article`) VALUES
(1, 1, 1),
(2, 1, 2),
(4, 2, 2);
--
-- Table structure for table `users`
--
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
-- Dumping data for table `users`
--
INSERT INTO `users` (`id`, `username`) VALUES
(1, 'ifah'),
(2, 'alex');
这意味着当我在html中发文章后,我想回声让我们说在h3 html中的标题1谢谢..
答
当然可以,我想先谢谢你的回答。 sample
所以基本上,我希望计算后,作为一个喜欢点击按钮的数量,但是当我想呼应出来,我只知道使用循环来显示。
当我需要它们时,我想一个接一个地回显它们,比如使用按钮标签或div标签将它们回显出来。我是一名具有科学背景的大学生,我努力学习编码,但不熟悉PHP。所以告诉我你的想法。谢谢!! 我table.sql
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
/*!40101 SET @[email protected]@CHARACTER_SET_CLIENT */;
/*!40101 SET @[email protected]@CHARACTER_SET_RESULTS */;
/*!40101 SET @[email protected]@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
--
-- Database: `likebutton`
-- --------------------------------------------------------
--
-- Table structure for table `articles`
--
CREATE TABLE IF NOT EXISTS `articles` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(200) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
--
-- Dumping data for table `articles`
--
INSERT INTO `articles` (`id`, `title`) VALUES
(1, 'Test article one'),
(2, 'Test article two'),
(3, 'Test article three');
-- --------------------------------------------------------
-- Table structure for table `articles_likes`
--
CREATE TABLE IF NOT EXISTS `articles_likes` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user` int(11) DEFAULT NULL,
`article` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
--
-- Dumping data for table `articles_likes`
--
INSERT INTO `articles_likes` (`id`, `user`, `article`) VALUES
(1, 1, 1),
(2, 1, 2),
(4, 2, 2);
-- --------------------------------------------------------
--
-- Table structure for table `users`
--
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
--
-- Dumping data for table `users`
--
INSERT INTO `users` (`id`, `username`) VALUES
(1, 'Anns'),
(2, 'Bob');
另外,我想每个ID只能点击一次,就可以恢复到不同的按钮。谢谢
显示一些努力,尝试一些然后来寻求帮助。 – julekgwa
你可以添加视觉效果,你希望你的输出效果如何。 – julekgwa
当然可以,谢谢julekgwa。我只购买了HTML和CSS,从不尝试PHP,我会练习更多,这样有一天我可以帮助别人回来。 :) – HelloIMYOU