Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Peter Lopes

Post com tempo predeterminado

Recommended Posts

Ola galera! eu estou montando uma pagina onde aparece os post's e gostaria que esses posts tenham um tempo, ao termino desse tempo ele apague automaticamente vou colocar um exemplo

 

 

criar_post.php esse formulario cria o post

<?php
include "../validar_session.php";
include "../config/config_sistema.php";
$consulta = mysql_query("select * from dados_usuarios where Login = '$login_usuario'");
?>
<html>
<head>
<title>Untitled Document</title>
<head>
<body>
<form action="cadastra_post.php" method="post" enctype="multipart/form-data" name="formanuncio">
.
.
.
 <?php
while($linha = mysql_fetch_array($consulta)) {
$ID = ($linha["ID"]);
$Login = ($linha["Login"]);
include("../usuario/menu.php");?>
<table width="100%" border="0" bordercolor="#FFFFFF" cellpadding="0" cellspacing="0">
			<tr>
		  <td><font face="verdana" size="1"><b>Código:</b></font></td>
		</tr>
		<tr>
		  <td><input size="9" type="text" name="id" class="texto" value="<?php echo "$ID";?>"></td>
		</tr>
		<tr>
		  <td><font face="verdana" size="1"><b>Categoria:</b></font></td>
		</tr>
		<tr>
		  <td><select name="categoria" id="categoria">
				<option value="">  </option>
				<option value="alugue_imoveis">Alugue Imóveis</option>
				<option value="alugue_veiculos">Alugue Veículos</option>
				<option value="beleza">Beleza</option>
				<option value="compra_de_imoveis">Compra de Imóveis</option>
				<option value="compra_de_veiculos">Compra de Veículos</option>
				<option value="construcao">Construção</option>
				<option value="cursos_e_concursos">Cursos e Concursos</option>
				<option value="decoracao">Decoração</option>
				<option value="emprego">Emprego</option>
				<option value="imoveis_comerciais">Imóveis Comerciais</option>
				<option value="lazer">Lazer</option>
				<option value="moda">Moda</option>
				<option value="moveis">Moveis</option>
				<option value="negocios">Negócios</option>
				<option value="pecas_e_acessorios">Peças e Acessórios</option>
				<option value="saude">Saúde</option>
				<option value="servicos">Serviços</option>
				<option value="utilidade_domestica">Utilidade Domestica</option>
				<option value="venda_de_imoveis">Venda de Imóveis</option>
				<option value="venda_de_veiculos">Venda de Veículos</option>
				</select></td>
		</tr>
		 <td><font face="verdana" size="1"><b>Site:</b></font></td>
		</tr>
		  <tr>
			<td><input size="36" type="text" name="site" class="texto" /></td>
		  </tr>
		  <td><font face="verdana" size="1"><b>Telefone:</b></font></td>
		</tr>
		  <tr>
			<td><input size="36" type="text" name="telefone" class="texto" /></td>
		  </tr>
		  <td><font face="verdana" size="1"><b>E-mail:</b></font></td>
		</tr>		
		  <tr>
			<td><input size="36" type="text" name="email" class="texto" /></td>
		  </tr>
		  <td><font face="verdana" size="1"><b>Endereço:</b></font></td>
		</tr>
		  <tr>
			<td><input size="36" type="text" name="endereco" class="texto" /></td>
		  </tr>
		  <td><font face="verdana" size="1"><b>Cep:</b></font></td>
		</tr>
		  <tr>
			<td><input size="36" type="text" name="cep" class="texto" /></td>
		  </tr>
			<td><strong><font size="1" face="verdana">Estado:</font></strong></td>
		</tr>
		  <tr>
			<td><select name="estado" id="estado">
				<option value="">  </option>
	<option value="acre">Acre</option>
				<option value="alagoas">Alagoas</option>
				<option value="amapa">Amapá</option>
				<option value="amazonas">Amazonas</option>
				<option value="bahia">Bahia</option>
				<option value="ceara">Ceará</option>
				<option value="distrito_federal">Distrito Federal</option>
				<option value="espirito_santo">Espírito Santo</option>
				<option value="goias">Goiás</option>
				<option value="maranhao">Maranhão</option>
				<option value="mato_grosso">Mato Grosso</option>
				<option value="mato_grosso_do_sul">Mato Grosso do Sul</option>
				<option value="minas_gerais">Minas Gerais</option>
				<option value="parana">Paraná</option>
				<option value="paraiba">Paraíba</option>
				<option value="Para">Pará</option>
				<option value="pernambuco">Pernambuco</option>
				<option value="piaui">Piauí</option>
				<option value="rio_de_janeiro">Rio de Janeiro</option>
				<option value="rio_grande_do_norte">Rio Grande do Norte</option>
	<option value="Rio Grande do Sul">Rio Grande do Sul</option>
				<option value="rondonia">Rondônia</option>
				<option value="Roraima">Roraima</option>
				<option value="santa_catarina">Santa Catarina</option>
				<option value="sergipe">Sergipe</option>
				<option value="sao_paulo">São Paulo</option>
				<option value="tocantins">Tocantins</option>
				</select></td>
		  </tr>
		  <tr>
		  <td><font face="verdana" size="1"><b>Cidade:</b></font></td>
		</tr>
		<tr>
		  <td><input size="36" type="text" name="cidade" class="texto" /></td>
		</tr>
		  <tr>
		  <td><font face="verdana" size="1"><b>Bairro:</b></font></td>
		</tr>
		<tr>
		  <td><input size="36" type="text" name="bairro" class="texto" /></td>
		</tr>
		  
		  <tr>
		  <td><font face="verdana" size="1"><b>Complemento:</b></font></td>
		</tr>
		<tr>
		  <td><input size="36" type="text" name="complemento" class="texto" /></td>
		</tr>
		<tr>
		  <td><font face="verdana" size="1"><b>Tempo:</b></font></td> // AKI VAI O TEMPO EM DIAS PARA O POST CASSO ESSE TEMPO TEMINE O POST SAI DO SITE
		</tr>
		<tr>
		  <td><input size="36" type="text" name="tempo" class="texto" /></td>
		</tr>
		<tr>
		  <td><font face="verdana" size="1"><b>Título:</b></font></td>
		</tr>
		  <tr>
			<td><input size="36" type="text" name="titulo" class="texto" /></td>
		  </tr>
		<tr>
		  <td><font face="verdana" size="1"><b>Login:</b></font></td>
		</tr>
		<tr>
		  <td><input readonly="readonly" size="36" type="text" name="autor" class="texto" value="<?php echo "$Login";?>"></td>
		</tr>
		<tr>
		  <td><font face="verdana" size="1"><b>Texto:</b></font></td>
		</tr>
		<tr>
		  <td><textarea rows="5" cols="35" name="texto" class="texto"></textarea></td>
		</tr>
		 
	<tr>
		  <td><input type="submit" name="submit" value="Enviar" class="botao"><input type="reset" name="reset" value="Limpar" class="botao"></td>
		</tr>
		<?php
}
?>
</table>  
</form>
</body>
</html>

pagina onde aparece o post index.php

<?php
include "../config/config_sistema.php";
	$numreg = 5;
	if (!isset($pg)) {
		$pg = 0;
	}
	$inicial = $pg * $numreg;
$consulta = mysql_query("Select id, titulo, categoria, autor, texto From aprovar WHERE categoria='venda_de_veiculos' ORDER BY titulo") 
?>
<html>
<head>
<title>Untitled Document</title>
<style type="text/css">
</head>
<body>
.
.
.
	<?php 
include ('paginacao.php');
 echo "<br>";
 while ($linha = mysql_fetch_array($consulta)) {
	
	$id = substr($linha['id'],0,150);
	$titulo = substr($linha['titulo'],0,150);
	$categoria = substr($linha['categoria'],0,150);
	$texto = substr($linha['texto'],0,150); 
	$autor = substr($linha['autor'],0,150);
	


echo "<table width=150 height=200 border=1 cellspacing=1 cellpadding=1>";
echo "<tr><th scope=col height=30>$titulo</th></tr>";
echo "<tr><td>$texto</td></tr>";
echo "<tr><td height=30>$autor</td></tr>";
echo "</table>";
echo "<br>";
echo "<br>";
		 }?>
		 <?php include ('paginacao.php'); ?>
.
.
.		 
</body>
</html>

essa é a tabela pra onde os dados do formulario são enviados

CREATE TABLE `post` (
  `cod` int(10) unsigned NOT NULL auto_increment,
  `pdate` timestamp(14) NOT NULL,
  `categoria` varchar(15) NOT NULL,
  `site` varchar(30) NOT NULL,
  `telefone` varchar(8) NOT NULL,
  `e-mail` varchar(30) NOT NULL,
  `endereco` varchar(50) NOT NULL,
  `cep` varchar(10) NOT NULL,
  `estado` varchar(30) NOT NULL,
  `cidade` varchar(30) NOT NULL,
  `bairro` varchar(30) NOT NULL,
  `complemento` varchar(15) NOT NULL,
  `titulo` varchar(30) NOT NULL default '',
  `autor` varchar(15) NOT NULL default '',
  `texto` text NOT NULL,
  `tempo` int(9) NOT NULL,

 PRIMARY KEY  (id_a),
 KEY pdate (pdate)
)

bem até aki tudo bem oq eu não sei é colocar a variavel "tempo" em funcionamento ou seja eu não sei fazer esse escript para que quando o tempo acabe o post saia do site

Compartilhar este post


Link para o post
Compartilhar em outros sites

Basicamente, o que você tem que fazer é ter 2 campos no mysql...

 

um para do dia atual, e outro para o dia da remoção...

 

quando a pessoa digitar lá o tempo, sei lá, em dias, faça a conversão com o PHP e some a data atual com 3 dias (pesquise por soma de datas no google) e guarde no campo da data final...

 

quando for fazer a seleção, compare se o dia final eh igual ao dia atual... caso seja, remova o registro...

 

att,

 

Rick

 

Update:

 

achei estel link aqui: Somando Datas

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na hora de cadastra o baguizim la você insere a hora que você qr que o post saia de tempo... ex:

 

Caso você quira que o post fique 1 hora:

$tempo = time() + 3600;
// Insere
mysql_query ("INSERT INTO `tabela` VALUES ('valor','valor','valor',$tempo)");

ai na pagina que vai exibir o post você faz:

 

$query = mysql_query ("SELECT * FROM `tabela` WHERE id=10");
$fet = mysql_fetch_array($query);
if (time() > $fet['tempo']){
	 // Ai aqui você deleta o post
}
// Resto do codigo

Bom, acho que com isso da pra ter + - uma noção de como fazer mais bonitinho =D

http://br.php.net/manual/pt_BR/function.time.php

 

PS: você poderia armazenar o tempo limite como o cara ali de cima dise caso você queira um valor de tempo diferente para cada post que você fizer

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lucaswxp eu fiz como você mandou + para o teste rer mais rapido eu mudei a parte

$tempo = time() + 3600;
para

$tempo = time() + 30;
para durar 30 segundos + em um dos posts o tempo era de 30, esse mesmo post não apareceu e o post e era diferente de 30 apareceu

 

essa é a pagina de exibição do post

<?php
$local_serve = "mysql.webcindario.com";
$usuario_serve = "anuncioporumreal";
$senha_serve = "88858660";	 	 
$banco_de_dados = "anuncioporumreal";
$conn = mysql_connect($local_serve, $usuario_serve, $senha_serve) or die ("O servidor não responde!");
$db = mysql_select_db($banco_de_dados,$conn) 
	or die ("Não foi possivel conectar-se ao banco de dados!");
	$numreg = 5;
	if (!isset($pg)) {
		$pg = 0;
	}
	$inicial = $pg * $numreg;
$consulta = mysql_query("Select id, titulo, categoria, autor, texto From aprovar WHERE categoria='venda_de_veiculos' ORDER BY titulo") 
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<style type="text/css">
<!--
.style3 {font-size: 16px; font-family: Verdana, Arial, Helvetica, sans-serif; color: #000000; font-weight: bold; }
-->
</style>
</head>
<body>
<table width="0" border="0" cellspacing="1" cellpadding="1">
  <tr>
	<th scope="col"> </th>
	<th align="center" valign="middle" scope="col" ><p align="left" class="style3">Venda de Veículos</p>	</th>
	<th scope="col"> </th>
  </tr>
  <tr>
	<td> </td>
	<td>
	<?php 
include ('paginacao.php');
 echo "<br>";

 while ($linha = mysql_fetch_array($consulta)) {
	
	$id = substr($linha['id'],0,150);
	$titulo = substr($linha['titulo'],0,150);
	$categoria = substr($linha['categoria'],0,150);
	$texto = substr($linha['texto'],0,150); 
	$autor = substr($linha['autor'],0,150);
	
 $fet = mysql_fetch_array($consulta);
if (time() > $fet['tempo']){
	 
echo "<table width=150 height=200 border=1 cellspacing=1 cellpadding=1>";
echo "<tr><th scope=col height=30>$titulo2</th></tr>";
echo "<tr><td>$texto2</td></tr>";
echo "<tr><td height=30>$autor2</td></tr>";
echo "</table>";
echo "<br>";
echo "<br>";

}
echo "<table width=150 height=200 border=1 cellspacing=1 cellpadding=1>";
echo "<tr><th scope=col height=30>$titulo</th></tr>";
echo "<tr><td>$texto</td></tr>";
echo "<tr><td height=30>$autor</td></tr>";
echo "</table>";
echo "<br>";
echo "<br>";
		 }
 ?>
		 <?php include ('paginacao.php'); ?>
		 </td>
	<td> </td>
  </tr>
  <tr>
	<td> </td>
	<td> </td>
	<td> </td>
  </tr>
</table>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você esqueceu na $consulta chamar também o campo tempo para comparar com o atual:

$consulta = mysql_query("Select id, titulo, categoria, autor, texto From aprovar WHERE categoria='venda_de_veiculos' ORDER BY titulo")

ai quando o tempo atual (time()) for maior que o cadastrado no campo tempo no db ($tempo = time() + 30;) executa....

[...]  
$fet = mysql_fetch_array($consulta);
if (time() > $fet['tempo']){
//dados
}
[...]
Ve ai se é isto

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ñ eu ja tentei, eu coloquei * pra buscar todos e mesmo assim

continua em branco e o tempo do segundo post não diminui

 

eu crieu 2 exemplos ( 2posts)

um com o a variavel tempo = 30

e o outro com a variavel tempo = 45

 

o de trinta esta em banco e o outro aparece + nassa muito + tempo e ela não muda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você deve estar fazendo algo errado, eu ja cloquei aqui no meu server algo parecido, criei umas tabelas pra testar e tudo certo... da uma olhada:

criei a tabela:

 

create table tabela (
titulo varchar(80),
categoria varchar(80),
tempo int(11)
)

Ai joguei pro servidor:

<?php
$local_serve = "localhost";
$usuario_serve = "root";
$senha_serve = "";		 
$banco_de_dados = "test";
$conn = mysql_connect($local_serve, $usuario_serve, $senha_serve) or die ("O servidor não responde!");
$db = mysql_select_db($banco_de_dados,$conn);
$tempo = time() + 10;
mysql_query ("INSERT INTO `tabela` VALUES ('Titu','Cat',$tempo)") or exit ("nao add");
$consulta = mysql_query("Select `titulo`, `categoria`, `tempo` From `tabela`") or exit ("asd");
$num = mysql_num_rows($consulta);

for ($i=0;$i<$num;$i++) {
$fet = mysql_fetch_array($consulta);

if (time() > $fet['tempo']){
	echo $fet['titulo'] . "<br />";
			 }
else { 
	echo "Ainda nao deu tempo" ."<br />";
	 }
	}
?>

Ai quando o tempo (10 segundos) ainda nao foi atingindo aparece "Ainda nao deu tempo" caso ao contrario exibe o titulo.... funcionou perfeitamente... durou os 10 segunos e exibiu o titulo

 

PS: pode usar de boa timestamp só lembrese de tratar pra dar certim =d

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu acho q o erro do meu esta acontecendo pq te 2 tempos o de inicio e o tempo que é acrescentado

vou mandar a minha tabela

CREATE TABLE `aprovar` (
  `id` int(10) unsigned NOT NULL,
  `autor` varchar(15) NOT NULL default '',
  `titulo` varchar(25) NOT NULL default '',
  `categoria` varchar(15) NOT NULL,  
  `tempo` int(9) NOT NULL, // esse é o tempo acrescentado
  `tempoini` int(9) NOT NULL, // esse é o tempo de inicio
  `texto` text NOT NULL,
 PRIMARY KEY  (id)
)

cara muito obrigado pela ajuda agora eu jasei por onde começar vou continuar tentando até conseguir quando eu conseguir eu posto aki o script caso outras pessoas tenham o mesmo problema

eu vou ter que sair agor pq amanha eu trabalho bem cedo 6h damanha é mo m**** + tudo bem e mais uma vez muito obrigado pela ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara... nao estava dando certo pq o valor dos tempos estao int(9)... se você usar um strlen(time()) vai retornar 10... entao nao vai caber ai xD da uma esticadinha para 11 ou utilize outro formato de data para inserir ali que caiba em int(9)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.