2017-04-26 79 views
0

我想問我應該如何將我的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謝謝..

+0

顯示一些努力,嘗試一些然後來尋求幫助。 – julekgwa

+1

你可以添加視覺效果,你希望你的輸出效果如何。 – julekgwa

+0

當然可以,謝謝julekgwa。我只購買了HTML和CSS,從不嘗試PHP,我會練習更多,這樣有一天我可以幫助別人回來。 :) – HelloIMYOU

回答

0

當然可以,我想先謝謝你的回答。 sample

sample likes count

所以基本上,我希望計算後,作爲一個喜歡點擊按鈕的數量,但是當我想呼應出來,我只知道使用循環來顯示。

當我需要它們時,我想一個接一個地回顯它們,比如使用按鈕標籤或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只能點擊一次,就可以恢復到不同的按鈕。謝謝

相關問題