Ir para conteúdo

POWERED BY:

Arquivado

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

webdevelopermgri

Mensagem

Recommended Posts

Olá, boa tarde,

Gostaria de uma ajuda para fazer uma tomada de decisão com mensagem no php, se é que se pode fazer sem uso de javascript.

Ao cadastrar uma matéria, verificar se já existe uma com status de especial = 1 e se existir perguntar ao usuário se deseja substituir Anterior pela Nova, SE SIM fazer a troca, SENÃO fazer o cadastro da nova matéria com status de especial = 0

Hoje tenho isso, está incompleto, pois não consegui fazer:

 

<?php
/*
----------------------------------------------------------------------
Arquivo .............: PHP - Processo de Matérias                                                           
Criado em  ..........: Outubro/2011                                  
----------------------------------------------------------------------
*/

require_once('../Connections/conexao.php');		

$id_idioma = $_POST['id_idioma'];
$titulo = $_POST['titulo'];
$arquivo = $_POST['arquivo'];
$nome = $_POST['nome'];
$descricao = $_POST['descricao'];
$status = $_POST['status'];

// recuperando arquivo do fromulário	
$file1      = $_FILES['titulo'];
$filename1  = $file1['name'];		

$file      = $_FILES['arquivo'];
$filename  = $file['name'];	

mysql_select_db($database_conexao, $conexao);
$query_categorias = "SELECT * FROM materiasespeciais WHERE especial = 1";
$categorias = mysql_query($query_categorias, $conexao) or die(mysql_error());
$row_categorias = mysql_fetch_assoc($categorias);
$totalRows_categorias = mysql_num_rows($categorias);

// recuperando o ID
$id_materia = $row_categorias['id_materia'];	

if ($totalRows_categorias > 0) { 
echo "Já existe uma matéria com status de especial, deseja substitui-la?";
// SE SIM, TROCA A EXISTENTE PARA 0
mysql_select_db($database_conexao, $conexao);
$sqlEdicao = "UPDATE materiasespeciais SET especial = 0 WHERE id_animais = $id_materia ";
$fim = mysql_query($sqlEdicao,$conexao) or die ( "Erro alterando dados no Banco de Dados" );	

// CADASTRO A NOVA COMO 1
mysql_select_db($database_conexao, $conexao);
   $query = "INSERT INTO materiasespeciais (id_idioma, titulo, caminho, nome, descricao, especial, status) VALUES ( '$id_idioma', '', '', '$nome', '$descricao', 1, '$status')";	
	mysql_query($query);

} else 	{
// 
mysql_select_db($database_conexao, $conexao);
   $query = "INSERT INTO materiasespeciais (id_idioma, titulo, caminho, nome, descricao, especial, status) VALUES ( '$id_idioma', '', '', '$nome', '$descricao', 0, '$status')";	
	mysql_query($query);	

//Retorna o Id do arquivo para compor nome
$id = mysql_insert_id();

// movendo para o diretório

$path1     = $file1['tmp_name'];
$new_path1 = "../imagens/materias/".$file1['name'];
move_uploaded_file($path1, $new_path1);	

$path     = $file['tmp_name'];
$new_path = "../imagens/materias/".$file['name'];
move_uploaded_file($path, $new_path);

// Vamos usar a biblioteca WideImage para o redimensionamento das imagens
require("lib/WideImage/WideImage.php");

// Carrega a imagem enviada
$original = WideImage::load($new_path);
// Redimensiona a imagem original para 1024x768 caso ela seja maior que isto e salva
$original->resize(586, 586, 'inside', 'down')->saveToFile($new_path, null, 90);

// recortando a string do caminho para gravação no banmco
$new_path1 = substr($new_path1, 20);
$new_path = substr($new_path, 20);

$updateSQL = "UPDATE materiasespeciais SET titulo = '$new_path1', caminho = '$new_path' WHERE id_materia = $id";
mysql_query($updateSQL) or die("Não foi possível alterar o link em nossa base de dados.");		

echo mysql_insert_id(); // Retorna o id da foto				

}			
?>

 

Alguém pode me ajudar a resolver esse problema?

Valeu, fiquem na paz e bom sábado a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O jeito mais simples é:

Cadastre a notícia normalmente, com "status de especial" 0, depois verifique se já existe alguma com esse "status de especial".

Se existir, redirecione para uma página com a pergunta "Gostaria de substituir a 'notícia especial'?".

Nisso, coloque 2 links.

O link 'Sim' leva para uma página 'noticia.php?acao=atualizar&id={id_inserido}&especial=1'.

O link 'Não' apenas retorna.

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.