Dream Catcher

Probleminha com o sistema de noticias

21 posts neste tópico

Bom esse foi o sistema que o @Envolvents fez pra mim, eu to querendo visualizar as noticias do forum no site, estou usando o xampp no localhost no meu pc com o php 7.1 porem ao abrir o arquivo pelo navegador fica tudo em branco não aparece nada... mas quando boto as " // " no "error_reporting(0);" ele ja mostra que o erro tá na linha 18 

Fatal error: Uncaught Error: Call to undefined function mysql_connect() in C:\xampp\htdocs\forum\connect.php:18 Stack trace: #0 C:\xampp\htdocs\forum\news.php(5): mysql->__construct() #1 {main} thrown in C:\xampp\htdocs\forum\connect.php on line 18

arquivo da parte connect.php

<?php

	error_reporting(0); # remove syntax errors (VertrigoServ / XAMP and others)
	
	DEFINE( 'HOST', 'localhost' );  # Padrão
	DEFINE( 'USER', 'ragnarok' );	# Usuário do pma
	DEFINE( 'PASS', 'ragnarok' );   # Senha do pma
	DEFINE( 'DATABASE', 'forum' );  # Nome da database do fórum
	DEFINE( 'BOARD', 'localhost/forum/' );			# link do seu fórum
	DEFINE( 'LIMIT', '5');          # Limite de Notícias que será exibida
	DEFINE( 'CATEGORY1', '4');      # ID da categoria dos Changelog (coluna forum_id = %)
	DEFINE( 'CATEGORY2', '2');      # ID da categoria das Notícias da Staff (coluna forum_id = %)
	DEFINE( 'CATEGORY3', '5');      # ID da categoria dos Eventos (coluna forum_id = %)
	class	mysql
	{
		public	function	__construct()
		{
				$this->conn = mysql_connect( HOST, USER, PASS ) or die( mysql_error() );
				$this->selec = mysql_select_db( DATABASE, $this->conn ) or die( mysql_error() );
		}
		
		public	function	build( $query )
		{
			$this->query = $query;
		}
		
		public	function	execute()
		{
			$this->query = mysql_query( $this->query ) or die( mysql_error() );
		}
		
		public	function	numrows()
		{
			return mysql_num_rows( $this->query );
		}
		
		public	function	fetchassoc()
		{
			return mysql_fetch_assoc( $this->query );
		}
	}

?>

arquivo da parte news.php

<html>
<head>
<?php
	require_once( 'connect.php' );
	$sql = new mysql();
?>
	<?php header("Content-Type: text/html; charset=ISO-8859-1",true);?>
	<style type="text/css">body {	cursor: url("normal.cur"), url("normal.cur"), default;}a { cursor: url("hand.cur"), url("hand.cur"), default; }</style> 
	<style type="text/css">

	@import url(http://fonts.googleapis.com/css?family=Roboto:400,500,700,300,100);

	body {
	  font-family: "Roboto", helvetica, arial, sans-serif;
	  font-size: 0px;
	  font-weight: 400;
	  text-rendering: optimizeLegibility;
	}

	div.table-title {
	   display: block;
	  margin: auto;
	  max-width: 600px;
	  padding:5px;
	  width: 100%;
	}

	.table-title h3 {
	   color: #fafafa;
	   font-size: 30px;
	   font-weight: 400;
	   font-style:normal;
	   font-family: "Roboto", helvetica, arial, sans-serif;
	   text-shadow: -1px -1px 1px rgba(0, 0, 0, 0.1);
	   text-transform:uppercase;
	   text-align: center;
	}


	/*** Table Styles **/

	.table-fill {
	  background: white;
	  border-radius:3px;
	  border-collapse: collapse;
	  height: 200px;
	  margin: auto;
	  padding:5px;
	  width: 100%;
	  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
	  animation: float 5s infinite;
	}
	 
	th {
	  color:#D5DDE5;;
	  background:#1b1e24;
	  border-bottom:4px solid #9ea7af;
	  border-right: 1px solid #343a45;
	  font-size:20px;
	  font-weight: 100;
	  padding:15px;
	  text-align:left;
	  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
	  vertical-align:middle;
	}

	th:first-child {
	  border-top-left-radius:3px;
	}
	 
	th:last-child {
	  border-top-right-radius:3px;
	  border-right:none;
	}
	  
	tr {
	  border-bottom-: 1px solid #C1C3D1;
	  color:#666B85;
	  font-size:16px;
	  font-weight:normal;
	  text-shadow: 0 1px 1px rgba(256, 256, 256, 0.1);
	}
	 
	tr:hover td {
	  background:#fc4242;
	  color:#FFFFFF;
	  border-top: 1px solid #fd5e5e;
	  border-bottom: 1px solid #fd5e5e;
	}
	tr:hover td a {
	  color:#FFFFFF;
	}
	 
	tr:first-child {
	  border-top:none;
	}

	tr:last-child {
	  border-bottom:none;
	}
	 
	tr:nth-child(odd) td {
	  background:#EBEBEB;
	}
	 
	tr:nth-child(odd):hover td {
	  background:#fc4242;
	}

	tr:last-child td:first-child {
	  border-bottom-left-radius:3px;
	}
	 
	tr:last-child td:last-child {
	  border-bottom-right-radius:3px;
	}
	 
	td {
	  background:#FFFFFF;
	  padding:10px;
	  text-align:left;
	  vertical-align:middle;
	  font-weight:300;
	  font-size:16px;
	  text-shadow: -1px -1px 1px rgba(0, 0, 0, 0.1);
	  border-right: 1px solid #C1C3D1;
	}

	td a {
	  color: #666B85;
	  text-decoration: underline;
	}
	td:last-child {
	  border-right: 0px;
	}

	th.text-left {
	  text-align: left;
	}

	th.text-center {
	  text-align: center;
	}

	th.text-right {
	  text-align: right;
	}

	td.text-left {
	  text-align: left;
	}

	td.text-center {
	  text-align: center;
	}

	td.text-right {
	  text-align: right;
	}
		
	</style>
</head>
<body>
	<table class="table-fill">
		<tbody class="table-hover">
			<?php
				$sql->build( "
							SELECT *,
							CASE forum_id
							WHEN ".CATEGORY1." THEN 'noticia'
                            WHEN ".CATEGORY2." THEN 'changelog'
                            WHEN ".CATEGORY3." THEN 'evento'
							END as forum_id
							FROM forums_topics
							WHERE forum_id IN ( '".CATEGORY1."', '".CATEGORY2."','".CATEGORY3."')
							ORDER BY `tid`
							DESC LIMIT 0, ".LIMIT." ");
				$sql->execute();
				while( $app = $sql->fetchassoc() )
				{
					$date = date("d/m", $app['start_date']);
					echo( "<tr>");
					echo( "<td width='10%' class=\"text-left\"><img src=\"{$app['forum_id']}.png\"></td>");
					echo( "<td width='65%' class=\"text-left\"><a href=\"" . BOARD . "topic/{$app['tid']}-{$app['title_seo']}\" class=\"tipsyTIP\" title=\"Clique para ver a not&iacute;cia completa.\" target=\"_blank\">{$app['title']}</td>");
					echo( "<td width='15%' class=\"text-left\"><img src='calendar.png'>  {$date}</td>");
					echo( "</tr>");
				}
			?>
		</tbody>
	</table>
</body>

 

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

A função mysql_connect() foi descontinuado.

Agora se usa mysqli_connect().

e assim por diante.

0

Compartilhar este post


Link para o post
Compartilhar em outros sites
45 minutos atrás, Worn disse:

A função mysql_connect() foi descontinuado.

Agora se usa mysqli_connect().

e assim por diante.

é so esse então que devo mudar?  mysql_connect()  para  mysqli_connect() ??? ou tem mais algum? desculpe sou horrivel em php e mysql

@Edit mudei aqui essa parte e agora deu erro na linha 19

Fatal error: Uncaught Error: Call to undefined function mysql_select_db() in C:\xampp\htdocs\forum\connect.php:19 Stack trace: #0 C:\xampp\htdocs\forum\news.php(5): mysql->__construct() #1 {main} thrown in C:\xampp\htdocs\forum\connect.php on line 19

 

Editado por Dream Catcher
0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deve entender que a função MYSQL não existe mais entendeu, ai recomendo trocar tudo que tem mysql para mysqli não só o connect

0

Compartilhar este post


Link para o post
Compartilhar em outros sites
7 horas atrás, Worn disse:

Deve entender que a função MYSQL não existe mais entendeu, ai recomendo trocar tudo que tem mysql para mysqli não só o connect

apareceu isso: 

Warning: mysqli_select_db() expects parameter 1 to be mysqli, string given in C:\xampp\htdocs\forum\connect.php on line 19

Warning: mysqli_error() expects exactly 1 parameter, 0 given in C:\xampp\htdocs\forum\connect.php on line 19

 

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem como postar o script todo com as modificações que fez?

na linha 19 ta assim

$this->conn = mysql_connect( HOST, USER, PASS ) or die( mysql_error() );
				$this->selec = mysql_select_db( DATABASE, $this->conn ) or die( mysql_error() );

 

esse selec ai não seria select?

Editado por Worn
0

Compartilhar este post


Link para o post
Compartilhar em outros sites
7 minutos atrás, Worn disse:

tem como postar o script todo com as modificações que fez?

na linha 19 ta assim


$this->conn = mysql_connect( HOST, USER, PASS ) or die( mysql_error() );
				$this->selec = mysql_select_db( DATABASE, $this->conn ) or die( mysql_error() );

 

esse selec ai não seria select?

<?php

	//error_reporting(0); # remove syntax errors (VertrigoServ / XAMP and others)
	
	DEFINE( 'HOST', 'localhost' );  # Padrão
	DEFINE( 'USER', 'ragnarok' );	# Usuário do pma
	DEFINE( 'PASS', 'ragnarok' );   # Senha do pma
	DEFINE( 'DATABASE', 'board' );  # Nome da database do fórum
	DEFINE( 'BOARD', '/' );			# link do seu fórum
	DEFINE( 'LIMIT', '5');          # Limite de Notícias que será exibida
	DEFINE( 'CATEGORY1', '4');      # ID da categoria dos Changelog (coluna forum_id = %)
	DEFINE( 'CATEGORY2', '2');      # ID da categoria das Notícias da Staff (coluna forum_id = %)
	DEFINE( 'CATEGORY3', '5');      # ID da categoria dos Eventos (coluna forum_id = %)
	class	mysql
	{
		public	function	__construct()
		{
				$this->conn = mysqli_connect( HOST, USER, PASS ) or die( mysqli_error() );
				$this->selec = mysqli_select_db( DATABASE, $this->conn ) or die( mysqli_error() );
		}
		
		public	function	build( $query )
		{
			$this->query = $query;
		}
		
		public	function	execute()
		{
			$this->query = mysqli_query( $this->query ) or die( mysqli_error() );
		}
		
		public	function	numrows()
		{
			return mysqli_num_rows( $this->query );
		}
		
		public	function	fetchassoc()
		{
			return mysqli_fetch_assoc( $this->query );
		}
	}

?>

 

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

o problema está nesta linha

		public	function	__construct()
		{
				$this->conn = mysqli_connect( HOST, USER, PASS ) or die( mysqli_error() );
				$this->selec = mysqli_select_db( DATABASE, $this->conn ) or die( mysqli_error() );
		}
		

       tente desta forma, você pode chamar a o banco junto ao mysqli

<?php

	//error_reporting(0); # remove syntax errors (VertrigoServ / XAMP and others)
	
	DEFINE( 'HOST', 'localhost' );  # Padrão
	DEFINE( 'USER', 'ragnarok' );	# Usuário do pma
	DEFINE( 'PASS', 'ragnarok' );   # Senha do pma
	DEFINE( 'DATABASE', 'board' );  # Nome da database do fórum
	DEFINE( 'BOARD', '/' );			# link do seu fórum
	DEFINE( 'LIMIT', '5');          # Limite de Notícias que será exibida
	DEFINE( 'CATEGORY1', '4');      # ID da categoria dos Changelog (coluna forum_id = %)
	DEFINE( 'CATEGORY2', '2');      # ID da categoria das Notícias da Staff (coluna forum_id = %)
	DEFINE( 'CATEGORY3', '5');      # ID da categoria dos Eventos (coluna forum_id = %)
	class	mysqli
	{
		
		public	function	__construct()
				$this->conn = mysqli_connect( HOST, USER, PASS, DATABASE ) or die( mysqli_error() );
	
		
		public	function	build( $query )
		{
			$this->query = $query;
		}
		
		public	function	execute()
		{
			$this->query = mysqli_query( $this->query ) or die( mysqli_error() );
		}
		
		public	function	numrows()
		{
			return mysqli_num_rows( $this->query );
		}
		
		public	function	fetchassoc()
		{
			return mysqli_fetch_assoc( $this->query );
		}
	}

?>

 

0

Compartilhar este post


Link para o post
Compartilhar em outros sites
10 minutos atrás, Worn disse:

o problema está nesta linha


		public	function	__construct()
		{
				$this->conn = mysqli_connect( HOST, USER, PASS ) or die( mysqli_error() );
				$this->selec = mysqli_select_db( DATABASE, $this->conn ) or die( mysqli_error() );
		}
		

       tente desta forma, você pode chamar a o banco junto ao mysqli


<?php

	//error_reporting(0); # remove syntax errors (VertrigoServ / XAMP and others)
	
	DEFINE( 'HOST', 'localhost' );  # Padrão
	DEFINE( 'USER', 'ragnarok' );	# Usuário do pma
	DEFINE( 'PASS', 'ragnarok' );   # Senha do pma
	DEFINE( 'DATABASE', 'board' );  # Nome da database do fórum
	DEFINE( 'BOARD', '/' );			# link do seu fórum
	DEFINE( 'LIMIT', '5');          # Limite de Notícias que será exibida
	DEFINE( 'CATEGORY1', '4');      # ID da categoria dos Changelog (coluna forum_id = %)
	DEFINE( 'CATEGORY2', '2');      # ID da categoria das Notícias da Staff (coluna forum_id = %)
	DEFINE( 'CATEGORY3', '5');      # ID da categoria dos Eventos (coluna forum_id = %)
	class	mysqli
	{
		
		public	function	__construct()
				$this->conn = mysqli_connect( HOST, USER, PASS, DATABASE ) or die( mysqli_error() );
	
		
		public	function	build( $query )
		{
			$this->query = $query;
		}
		
		public	function	execute()
		{
			$this->query = mysqli_query( $this->query ) or die( mysqli_error() );
		}
		
		public	function	numrows()
		{
			return mysqli_num_rows( $this->query );
		}
		
		public	function	fetchassoc()
		{
			return mysqli_fetch_assoc( $this->query );
		}
	}

?>

 

Copiei tudo e coloquei e fui la testar e deu erro na linha 18

Parse error: syntax error, unexpected '$this' (T_VARIABLE), expecting ';' or '{' in C:\xampp\htdocs\forum\connect.php on line 18

 

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

mude essa linha 

public    function    __construct()
                $this->conn = mysqli_connect( HOST, USER, PASS, DATABASE ) or die( mysqli_error() );
    
        

para isso

public    function    __construct() {
                $this->conn = mysqli_connect( HOST, USER, PASS, DATABASE ) or die( mysqli_error() );
    }
        

0

Compartilhar este post


Link para o post
Compartilhar em outros sites
4 minutos atrás, Worn disse:

mude essa linha 

public    function    __construct()
                $this->conn = mysqli_connect( HOST, USER, PASS, DATABASE ) or die( mysqli_error() );
    
        

para isso

public    function    __construct() {
                $this->conn = mysqli_connect( HOST, USER, PASS, DATABASE ) or die( mysqli_error() );
    }
        

Agora isso: 

Fatal error: Cannot declare class mysqli, because the name is already in use in C:\xampp\htdocs\forum\connect.php on line 14

e quando troco class    mysqli   para     class    mysql   dar isso:

Warning:  mysqli_query() expects at least 2 parameters, 1 given in C:\xampp\htdocs\forum\connect.php on line 28
Warning:  mysqli_error() expects exactly 1 parameter, 0 given in C:\xampp\htdocs\forum\connect.php on line 28

 

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo acho que ta com o espaço entre o $this deixa junto

0

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, Worn disse:

amigo acho que ta com o espaço entre o $this deixa junto

tu tudo junto :/

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poste a estrutura da tabela do banco de dados que está tentando fazer a leitura, porque esse treco aí tá tudo zuado.

Tem que ser refeito.

Não tem proteção alguma contra inject/ roubo/ acesso.

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tão simples.

index.php

<html lang="pt">
<head>
<?php
	require 'connect.php';
?>
	<meta charset="utf-8" />
	<title>Last News IP.Board by Envolvents</title>
	<meta name="viewport" content="initial-scale=1.0; maximum-scale=1.0; width=device-width;">
	<style type="text/css">
	/*
	* Last News IP.Board by Envolvents
	* v.1.0
	* 01/03/2017
	*/

	@import url(http://fonts.googleapis.com/css?family=Roboto:400,500,700,300,100);

	body {
	  background-color: #3e94ec;
	  font-family: "Roboto", helvetica, arial, sans-serif;
	  font-size: 16px;
	  font-weight: 400;
	  text-rendering: optimizeLegibility;
	}

	div.table-title {
	   display: block;
	  margin: auto;
	  max-width: 600px;
	  padding:5px;
	  width: 100%;
	}

	.table-title h3 {
	   color: #fafafa;
	   font-size: 30px;
	   font-weight: 400;
	   font-style:normal;
	   font-family: "Roboto", helvetica, arial, sans-serif;
	   text-shadow: -1px -1px 1px rgba(0, 0, 0, 0.1);
	   text-transform:uppercase;
	   text-align: center;
	}


	/*** Table Styles **/

	.table-fill {
	  background: white;
	  border-radius:3px;
	  border-collapse: collapse;
	  height: 320px;
	  margin: auto;
	  max-width: 600px;
	  padding:5px;
	  width: 100%;
	  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
	  animation: float 5s infinite;
	}
	 
	th {
	  color:#D5DDE5;;
	  background:#1b1e24;
	  border-bottom:4px solid #9ea7af;
	  border-right: 1px solid #343a45;
	  font-size:23px;
	  font-weight: 100;
	  padding:24px;
	  text-align:left;
	  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
	  vertical-align:middle;
	}

	th:first-child {
	  border-top-left-radius:3px;
	}
	 
	th:last-child {
	  border-top-right-radius:3px;
	  border-right:none;
	}
	  
	tr {
	  border-top: 1px solid #C1C3D1;
	  border-bottom-: 1px solid #C1C3D1;
	  color:#666B85;
	  font-size:16px;
	  font-weight:normal;
	  text-shadow: 0 1px 1px rgba(256, 256, 256, 0.1);
	}
	 
	tr:hover td {
	  background:#4E5066;
	  color:#FFFFFF;
	  border-top: 1px solid #22262e;
	  border-bottom: 1px solid #22262e;
	}
	tr:hover td a {
	  color:#FFFFFF;
	}
	 
	tr:first-child {
	  border-top:none;
	}

	tr:last-child {
	  border-bottom:none;
	}
	 
	tr:nth-child(odd) td {
	  background:#EBEBEB;
	}
	 
	tr:nth-child(odd):hover td {
	  background:#4E5066;
	}

	tr:last-child td:first-child {
	  border-bottom-left-radius:3px;
	}
	 
	tr:last-child td:last-child {
	  border-bottom-right-radius:3px;
	}
	 
	td {
	  background:#FFFFFF;
	  padding:20px;
	  text-align:left;
	  vertical-align:middle;
	  font-weight:300;
	  font-size:18px;
	  text-shadow: -1px -1px 1px rgba(0, 0, 0, 0.1);
	  border-right: 1px solid #C1C3D1;
	}

	td a {
	  color: #666B85;
	  text-decoration: underline;
	}
	td:last-child {
	  border-right: 0px;
	}

	th.text-left {
	  text-align: left;
	}

	th.text-center {
	  text-align: center;
	}

	th.text-right {
	  text-align: right;
	}

	td.text-left {
	  text-align: left;
	}

	td.text-center {
	  text-align: center;
	}

	td.text-right {
	  text-align: right;
	}
	</style>
</head>
<body>
	<div class="table-title">
		<h3>Noticias IP.B 3.4.x by Ferraz</h3>
	</div>
	<table class="table-fill">
		<thead>
			<tr>
				<th class="text-left"> </th>
				<th class="text-left">Data</th>
				<th class="text-left">Título</th>
				<th class="text-left">Autor</th>
				<th class="text-left">Acesse</th>
			</tr>
		</thead>
		<tbody class="table-hover">
			<?php
				$sql = ("
							SELECT *,
							CASE forum_id
							WHEN ".CATEGORY1." THEN 'News'
							WHEN ".CATEGORY2." THEN 'Changelogs'
							WHEN ".CATEGORY3." THEN 'Eventos'
							END as forum_id
							FROM topics
							WHERE forum_id IN ( '".CATEGORY1."', '".CATEGORY2."','".CATEGORY3."')
							ORDER BY `tid`
							DESC LIMIT 0, ".LIMIT." ");
				$sql = $pdo->query($sql);
				if($sql->rowCount() > 0) {
					foreach ($sql->fetchAll() as $app) {
						$date = date("d/m", $app['start_date']);
						echo( "<tr>");
						echo( "<td class=\"text-left\"><img src=\"{$app['forum_id']}.png\"></td>");
						echo( "<td class=\"text-left\">{$date}</td>");
						echo( "<td class=\"text-left\">{$app['title']}</td>");
						echo( "<td class=\"text-left\">{$app['starter_name']}</td>");
						echo( "<td class=\"text-left\"><a href=\"" . BOARD . "index.php?/topic/{$app['tid']}-{$app['title_seo']}\" class=\"tipsyTIP\" title=\"Clique para ver a notícia completa.\" target=\"_blank\">[mais ...]</a></td>");
						echo( "</tr>");
					}
				} else {
					echo("<tr>");
					echo("<td class=\"text-left\" colspan=\"5\" style=\"text-align:center;\">Não há notícias.</td>");
					echo("</tr>");
				}
			?>
		</tbody>
	</table>
</body>

connect.php

<?php

	// error_reporting(0); # remove syntax errors (VertrigoServ / XAMP and others)
	
	DEFINE( 'HOST', 'localhost' );  # Padrão
	DEFINE( 'USER', 'root' );       # Usuário do pma
	DEFINE( 'PASS', 'vertrigo' );   # Senha do pma
	DEFINE( 'DATABASE', 'board' );  # Nome da database do fórum
	DEFINE( 'BOARD', '/forum/' );   # link do seu fórum
	DEFINE( 'LIMIT', '5');          # Limite de Notícias que será exibida
	DEFINE( 'CATEGORY1', '2');      # ID da categoria dos Eventos (coluna forum_id = %)
	DEFINE( 'CATEGORY2', '4');      # ID da categoria das Changelogs da Staff (coluna forum_id = %)
	DEFINE( 'CATEGORY3', '6');      # ID da categoria de Noticías da Staff (coluna forum_id = %)
	
	try {
		$pdo = new PDO("mysql:dbname=".DATABASE.";host=".HOST, USER, PASS);
		
	} catch (PDOException $e) {
		echo "Sua conexão falhou: ".$e->getMessage();
		die();
	}

?>

fuizzz

WMEHwCw.png

 

1

Compartilhar este post


Link para o post
Compartilhar em outros sites
17 horas atrás, Envolvents disse:

Tão simples.

index.php


<html lang="pt">
<head>
<?php
	require 'connect.php';
?>
	<meta charset="utf-8" />
	<title>Last News IP.Board by Envolvents</title>
	<meta name="viewport" content="initial-scale=1.0; maximum-scale=1.0; width=device-width;">
	<style type="text/css">
	/*
	* Last News IP.Board by Envolvents
	* v.1.0
	* 01/03/2017
	*/

	@import url(http://fonts.googleapis.com/css?family=Roboto:400,500,700,300,100);

	body {
	  background-color: #3e94ec;
	  font-family: "Roboto", helvetica, arial, sans-serif;
	  font-size: 16px;
	  font-weight: 400;
	  text-rendering: optimizeLegibility;
	}

	div.table-title {
	   display: block;
	  margin: auto;
	  max-width: 600px;
	  padding:5px;
	  width: 100%;
	}

	.table-title h3 {
	   color: #fafafa;
	   font-size: 30px;
	   font-weight: 400;
	   font-style:normal;
	   font-family: "Roboto", helvetica, arial, sans-serif;
	   text-shadow: -1px -1px 1px rgba(0, 0, 0, 0.1);
	   text-transform:uppercase;
	   text-align: center;
	}


	/*** Table Styles **/

	.table-fill {
	  background: white;
	  border-radius:3px;
	  border-collapse: collapse;
	  height: 320px;
	  margin: auto;
	  max-width: 600px;
	  padding:5px;
	  width: 100%;
	  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
	  animation: float 5s infinite;
	}
	 
	th {
	  color:#D5DDE5;;
	  background:#1b1e24;
	  border-bottom:4px solid #9ea7af;
	  border-right: 1px solid #343a45;
	  font-size:23px;
	  font-weight: 100;
	  padding:24px;
	  text-align:left;
	  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
	  vertical-align:middle;
	}

	th:first-child {
	  border-top-left-radius:3px;
	}
	 
	th:last-child {
	  border-top-right-radius:3px;
	  border-right:none;
	}
	  
	tr {
	  border-top: 1px solid #C1C3D1;
	  border-bottom-: 1px solid #C1C3D1;
	  color:#666B85;
	  font-size:16px;
	  font-weight:normal;
	  text-shadow: 0 1px 1px rgba(256, 256, 256, 0.1);
	}
	 
	tr:hover td {
	  background:#4E5066;
	  color:#FFFFFF;
	  border-top: 1px solid #22262e;
	  border-bottom: 1px solid #22262e;
	}
	tr:hover td a {
	  color:#FFFFFF;
	}
	 
	tr:first-child {
	  border-top:none;
	}

	tr:last-child {
	  border-bottom:none;
	}
	 
	tr:nth-child(odd) td {
	  background:#EBEBEB;
	}
	 
	tr:nth-child(odd):hover td {
	  background:#4E5066;
	}

	tr:last-child td:first-child {
	  border-bottom-left-radius:3px;
	}
	 
	tr:last-child td:last-child {
	  border-bottom-right-radius:3px;
	}
	 
	td {
	  background:#FFFFFF;
	  padding:20px;
	  text-align:left;
	  vertical-align:middle;
	  font-weight:300;
	  font-size:18px;
	  text-shadow: -1px -1px 1px rgba(0, 0, 0, 0.1);
	  border-right: 1px solid #C1C3D1;
	}

	td a {
	  color: #666B85;
	  text-decoration: underline;
	}
	td:last-child {
	  border-right: 0px;
	}

	th.text-left {
	  text-align: left;
	}

	th.text-center {
	  text-align: center;
	}

	th.text-right {
	  text-align: right;
	}

	td.text-left {
	  text-align: left;
	}

	td.text-center {
	  text-align: center;
	}

	td.text-right {
	  text-align: right;
	}
	</style>
</head>
<body>
	<div class="table-title">
		<h3>Noticias IP.B 3.4.x by Ferraz</h3>
	</div>
	<table class="table-fill">
		<thead>
			<tr>
				<th class="text-left"> </th>
				<th class="text-left">Data</th>
				<th class="text-left">Título</th>
				<th class="text-left">Autor</th>
				<th class="text-left">Acesse</th>
			</tr>
		</thead>
		<tbody class="table-hover">
			<?php
				$sql = ("
							SELECT *,
							CASE forum_id
							WHEN ".CATEGORY1." THEN 'News'
							WHEN ".CATEGORY2." THEN 'Changelogs'
							WHEN ".CATEGORY3." THEN 'Eventos'
							END as forum_id
							FROM topics
							WHERE forum_id IN ( '".CATEGORY1."', '".CATEGORY2."','".CATEGORY3."')
							ORDER BY `tid`
							DESC LIMIT 0, ".LIMIT." ");
				$sql = $pdo->query($sql);
				if($sql->rowCount() > 0) {
					foreach ($sql->fetchAll() as $app) {
						$date = date("d/m", $app['start_date']);
						echo( "<tr>");
						echo( "<td class=\"text-left\"><img src=\"{$app['forum_id']}.png\"></td>");
						echo( "<td class=\"text-left\">{$date}</td>");
						echo( "<td class=\"text-left\">{$app['title']}</td>");
						echo( "<td class=\"text-left\">{$app['starter_name']}</td>");
						echo( "<td class=\"text-left\"><a href=\"" . BOARD . "index.php?/topic/{$app['tid']}-{$app['title_seo']}\" class=\"tipsyTIP\" title=\"Clique para ver a notícia completa.\" target=\"_blank\">[mais ...]</a></td>");
						echo( "</tr>");
					}
				} else {
					echo("<tr>");
					echo("<td class=\"text-left\" colspan=\"5\" style=\"text-align:center;\">Não há notícias.</td>");
					echo("</tr>");
				}
			?>
		</tbody>
	</table>
</body>

connect.php


<?php

	// error_reporting(0); # remove syntax errors (VertrigoServ / XAMP and others)
	
	DEFINE( 'HOST', 'localhost' );  # Padrão
	DEFINE( 'USER', 'root' );       # Usuário do pma
	DEFINE( 'PASS', 'vertrigo' );   # Senha do pma
	DEFINE( 'DATABASE', 'board' );  # Nome da database do fórum
	DEFINE( 'BOARD', '/forum/' );   # link do seu fórum
	DEFINE( 'LIMIT', '5');          # Limite de Notícias que será exibida
	DEFINE( 'CATEGORY1', '2');      # ID da categoria dos Eventos (coluna forum_id = %)
	DEFINE( 'CATEGORY2', '4');      # ID da categoria das Changelogs da Staff (coluna forum_id = %)
	DEFINE( 'CATEGORY3', '6');      # ID da categoria de Noticías da Staff (coluna forum_id = %)
	
	try {
		$pdo = new PDO("mysql:dbname=".DATABASE.";host=".HOST, USER, PASS);
		
	} catch (PDOException $e) {
		echo "Sua conexão falhou: ".$e->getMessage();
		die();
	}

?>

fuizzz

WMEHwCw.png

 

Ficou tudo em branco aqui, ai fui no ctrl + u pra ver o q deu... e deu isso:

<b>Fatal error</b>:  Uncaught Error: Call to a member function rowCount() on boolean in C:\xampp\htdocs\forum\news.php:178
Stack trace:
#0 {main}
  thrown in <b>C:\xampp\htdocs\forum\news.php</b> on line <b>178</b><br />

linha do erro:

if($sql->rowCount() > 0) {

 

Editado por Dream Catcher
0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mano que versão é essa que você está usando? WTF?

rowCount só está disponível para PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0.

http://php.net/manual/pt_BR/pdostatement.rowcount.php

Cria um arquivo ai qualquer e coloca isso dentro dele:

<?php
echo phpinfo();
?>

Depois posta aqui qual é a versão do PHP que você esta usando, ele aparece logo no cabeçalho da página.

Tipo isso:

PHP Version 5.6.30

0

Compartilhar este post


Link para o post
Compartilhar em outros sites
24 minutos atrás, Envolvents disse:

Mano que versão é essa que você está usando? WTF?

rowCount só está disponível para PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0.

http://php.net/manual/pt_BR/pdostatement.rowcount.php

Cria um arquivo ai qualquer e coloca isso dentro dele:


<?php
echo phpinfo();
?>

Depois posta aqui qual é a versão do PHP que você esta usando, ele aparece logo no cabeçalho da página.

Tipo isso:

PHP Version 5.6.30

php.png

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo agora que reparei, na verdade era pra ter usado somente o count.

rowCount se usa pra UPDATE, INSERT, DETELE e não para SELECT.

Mesmo que funcione o correto é count, apenas para contar a quantidade de itens na tabela.

Altera para:

if(count($sql) > 0) {

Flw

https://pastebin.com/2mxdAAnc

0

Compartilhar este post


Link para o post
Compartilhar em outros sites
19 minutos atrás, Envolvents disse:

Certo agora que reparei, na verdade era pra ter usado somente o count.

rowCount se usa pra UPDATE, INSERT, DETELE e não para SELECT.

Mesmo que funcione o correto é count, apenas para contar a quantidade de itens na tabela.

Altera para:


if(count($sql) > 0) {

Flw

agora deu na linha abaixo dele

foreach ($sql->fetchAll() as $app) {
<b>Fatal error</b>:  Uncaught Error: Call to a member function fetchAll() on boolean in C:\xampp\htdocs\forum\news.php:179
Stack trace:
#0 {main}
  thrown in <b>C:\xampp\htdocs\forum\news.php</b> on line <b>179</b><br />

 

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!


Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.


Entrar Agora