Ir para conteúdo

POWERED BY:

Arquivado

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

Alexandre Di Salvo

Sisteminha placar de jogos?

Recommended Posts

Olá a todos...

 

Será que alguem conhece um sistema ou código que implemente um placar de jogos. Por exmeplo entre dois times de futebol na rodada.

 

Se tiver algo pronto que ajude no desenvolvimento será muito bem vindo, caso contrpario terei que começar a fazer do zero. http://forum.imasters.com.br/public/style_emoticons/default/natal_sad.gif

 

Alguem conhece algo ou até mesmo algo parecido que se encaixe?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Belezuraaaa :]

 

A princípio o que sugere.

 

Irei usar MySQL. Basicamente irei ter uma pasta com todos os escudos dos times. Fazer um formulário para cadastro simples. Time da casa x Time Visitante, horário, dia e o campeonato válido. Farei aos poucos e quando disponibilizarei pra galera.

 

Primeira ajuda: Como carregar as imagens de uma determinada pasta, para um menu dropdown por exemplo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alexandre para exibir as imagens na página basta colocar o caminho completo dela em uma tag img.

Exemplo:

 

<img src="pasta/<?php echo $result['img']; ?>" />
Para obeter o array $result você deve utilizar uma iteração como while ou for.

 

Ficaria parecido com:

 

while($result = mysql_fetch_assoc($query)){

//Aqui você coloca o código do menu dropdown, com a tag img e o valor recebido do banco de dados...

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alexandre para exibir as imagens na página basta colocar o caminho completo dela em uma tag img.

Exemplo:

 

<img src="pasta/<?php echo $result['img']; ?>" />
Para obeter o array $result você deve utilizar uma iteração como while ou for.

 

Ficaria parecido com:

 

while($result = mysql_fetch_assoc($query)){

//Aqui você coloca o código do menu dropdown, com a tag img e o valor recebido do banco de dados...

}

Beleza meus caros. Mas ao invés de eu usar um cadastro de imagens no banco não seria melhor somente listar um diretório com as imagens dentro?

 

É apenas uma dúvida, se o banco for melhor, farei-o.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alexandre depende do sistema que você irá programar. Se o menu for estático, ou seja, sempre irá ter os mesmos itens e isso nunca mudar, é melhor fazer uma iteração buscando no diretório das imagens sem utilizar um cadastro no banco de dados. Agora se o menu precisar ter uma nova categoria e mudanças constantes é melhor você construir um form onde poderá cadastrar novas categorias/subcategorias e suas respectivas imagens.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alexandre depende do sistema que você irá programar. Se o menu for estático, ou seja, sempre irá ter os mesmos itens e isso nunca mudar, é melhor fazer uma iteração buscando no diretório das imagens sem utilizar um cadastro no banco de dados. Agora se o menu precisar ter uma nova categoria e mudanças constantes é melhor você construir um form onde poderá cadastrar novas categorias/subcategorias e suas respectivas imagens.

 

Basicamente como todo ano mudam as equipes, algumas novas, outras saem e etc, farei um cadastro sim dos dados no Banco de dados então http://forum.imasters.com.br/public/style_emoticons/default/natal_wink.gif

 

Comecei a fazer meu código. De início só estou fazendo o upload sem referencia no banco e está assim:

 

<?php

//Diretório onde as imagens irão ficar
$pastaRaiz = "img/times/";
// Tamanho máximo(em bytes), largura e altura(px)
$config["tamanho"] = 106883;
$config["largura"] = 350;
$config["altura"] = 180;


//Verifica se o arquivo existe
if(isset($_FILES["imagem"])){
		
		$arquivo = $_FILES["imagem"];
		
		//Será criado o diretório caso ela não exista
		if(!file_exists($pastaRaiz)){
				mkdir($pastaRaiz);
		}
		
		// Verifica se as extensões do arquivo são as desejadas
		if(eregi("^image\/(pjpeg|jpeg|png|gif)$", $arquivo["type"])){

					$tamanhos = getimagesize($arquivo["tmp_name"]);
					 
					 if($tamanhos[0] > $config["largura"] || $tamanhos[1] > $config["altura"]){
								echo '<script> alert("Imagem possui largura ou altura além do máximo permitido."); history.go(-1);</script>';		
					 }else{
					 			// Pega extensão do arquivo
								move_uploaded_file($arquivo["tmp_name"], $pastaRaiz);
					 }

					
		 } else{
		 		echo '<script> alert("Arquivo em formato inválido! A imagem deve ser jpg, jpeg, gif ou png. Envie outro arquivo"); history.go(-1);</script>';
		 }


}else{
		echo '<script> alert("Ocorreu um erro"); history.go(-1);</script>';
}

?>

Porém quando vou realizar o upload no diretório aparece o seguinte erro:

 

Warning: move_uploaded_file(img/times/) [function.move-uploaded-file]: failed to open stream: No such file or directory in C:\wamp\www\placar\cadastra.php on line 30

 

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\wamp\tmp\php5D.tmp' to 'img/times/' in C:\wamp\www\placar\cadastra.php on line 30

Algum dica de como resolver?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente isso:

move_uploaded_file($arquivo["tmp_name"], $pastaRaiz . $arquivo["name"]);

Perfeito :) Funcionou legal. Fiz o insert no banco de dados tbm e lá no phpmyadmin fica assim o resultado:

 

Imagem Postada

 

O tratamento do banco de dados está correto mesmo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu prefiro salvar o caminho do arquivo no banco... Isso ajuda na hora de transferir um site e as imagens podem ser alteradas por outras formas (FTP por exemplo).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alexandre é recomendável armazenar apenas o caminho da imagem no banco de dados, pois assim você estará melhorando o desempenho do seu sistema. Apesar de o MYSQL possuir suporte para arquivos multimídia como imagens, armazenar os dados com o tipo BLOB pode ser significativamente mais lento do que apenas salvar a imagem no sistema de arquivo - servidor web - e armazenar o caminho no banco de dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alexandre é recomendável armazenar apenas o caminho da imagem no banco de dados, pois assim você estará melhorando o desempenho do seu sistema. Apesar de o MYSQL possuir suporte para arquivos multimídia como imagens, armazenar os dados com o tipo BLOB pode ser significativamente mais lento do que apenas salvar a imagem no sistema de arquivo - servidor web - e armazenar o caminho no banco de dados.

 

O que eu mudaria para armazenar somente o caminho da imagem?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alexandre atente nessa linha:

move_uploaded_file($arquivo["tmp_name"], $pastaRaiz);

E a altere para:

 

move_uploaded_file($arquivo["tmp_name"], $pastaRaiz.$arquivo["name"]);

Fazendo isto o upload da imagem irá para a pasta declarada e com o nome da imagem. Agora você precisa mudar o tipo BLOB do banco de dados para VARCHAR ou CHAR.

Na instrução que você utiliza para inserir os dados no bando de dados, coloque apenas o caminho completo da imagem...

 

Exemplo:

 

//variável contendo o nome da imagem
$imagem = $pastaRaiz.$arquivo["name"];

//exemplo da consulta, você deve alterar para adequar a sua necessidade
$consulta = mysql_query("INSERT INTO tabela (id,imagem) VALUES ('$id','$imagem')");

Compartilhar este post


Link para o post
Compartilhar em outros sites

E a altere para:

 

move_uploaded_file($arquivo["tmp_name"], $pastaRaiz.$arquivo["name"]);

Entendi... fiz as mudanças e voltou a dar um erro que já dava antes:

 

Warning: mkdir() [function.mkdir]: No such file or directory in C:\wamp\www\placar\includes\cadastra.php on line 23

 

Warning: move_uploaded_file(img/times/teste.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in C:\wamp\www\placar\includes\cadastra.php on line 36

 

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\wamp\tmp\php49.tmp' to 'img/times/teste.jpg' in C:\wamp\www\placar\includes\cadastra.php on line 36

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alexandre tem como postar o código todo e com as consultas?

 

Tem sim meu caro, segue:

 

<?php

include 'conexao.php';

//Diretório onde as imagens irão ficar
$pastaRaiz = "img/times/";
// Tamanho máximo(em bytes), largura e altura(px)
$config["tamanho"] = 106883;
$config["largura"] = 350;
$config["altura"] = 180;

$nomeClube = $_POST ["nome"];

if (!empty($nomeClube)){
	
		//Verifica se o arquivo existe
		if(isset($_FILES["imagem"])){

				$arquivo = $_FILES["imagem"];

				//Será criado o diretório caso ela não exista
				if(!file_exists($pastaRaiz)){
						mkdir($pastaRaiz);
				}
				
				// Verifica se as extensões do arquivo são as desejadas
				if(eregi("^image\/(pjpeg|jpeg|png|gif){:content:}quot;, $arquivo["type"])){

							$tamanhos = getimagesize($arquivo["tmp_name"]);

						 if($tamanhos[0] > $config["largura"] || $tamanhos[1] > $config["altura"]){
										echo '<script> alert("Imagem possui largura ou altura além do máximo permitido."); history.go(-1);</script>';		
						 }else{
										$arquivoNome = $pastaRaiz . $arquivo["name"];
										
										move_uploaded_file($arquivo["tmp_name"], $pastaRaiz . $arquivo["name"]);
										
										$query = "INSERT INTO times(nome, imagem) VALUES ('$nomeClube', '$arquivoNome');";
										$inserir = mysql_query($query);
										
														if($inserir === TRUE){
																echo '<script> alert("Cadastro realizado com sucesso!"); history.go(-1);</script>';
														}else{
																echo '<script> alert("Ocorreu um erro. Tente novamente."); //history.go(-1);</script>';
																unset($nome, $arquivoNome);
														}
						 }
		
							
			 } else{
			 		echo '<script> alert("Arquivo em formato inválido! A imagem deve ser jpg, jpeg, gif ou png. Envie outro arquivo."); history.go(-1);</script>';
			 }
		
		
		}else{
				echo '<script> alert("Ocorreu um erro."); history.go(-1);</script>';
		}

}
?>

 

Enquanto isso já estou preparando o cadastro de jogos ;]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alexandre realizei algumas modificações no seu código e funcionou perfeitamente... Caso tiver alguma dúvida ou não gostar das mudanças comente!! :)

 

<?php

require('conexao.php');

//Diretório onde as imagens irão ficar
$pastaRaiz = "img/times/";
// Tamanho máximo(em bytes), largura e altura(px)
$config['tamanho'] = 106883;
$config['largura'] = 350;
$config['altura'] = 180;

$nomeClube = $_POST ['nome'];

if (!empty($nomeClube)){

	//Verifica se o arquivo existe
	if(isset($_FILES['imagem'])){

	$arquivo = $_FILES['imagem'];

	// Verifica se as extensões do arquivo são as desejadas
	if(preg_match("/^image\/(pjpeg|jpeg|png|gif)$/", $arquivo['type'])){
	
	$arquivoNome = $pastaRaiz.$arquivo['name'];
	
	//Verifica se a imagem com esse nome existe no diretório. Não é necessario verficar ou criar o diretório...
	if(file_exists($arquivoNome)){
		
		echo '<script> alert("Um arquivo com esse nome já existe na pasta, renomeie o arquivo e tente novamente!"); history.go(-1);</script>';
		exit;
		
    }	

	$tamanhos = getimagesize($arquivo['tmp_name']);

	if($tamanhos[0] > $config['largura'] || $tamanhos[1] > $config['altura']){
		
		echo '<script> alert("Imagem possui largura ou altura além do máximo permitido."); history.go(-1);</script>';        				        exit; 
		
	}else{

		move_uploaded_file($arquivo['tmp_name'], $arquivoNome);

		$inserir = mysql_query("INSERT INTO times (nome, imagem) VALUES ('$nomeClube', '$arquivoNome')");

	if($inserir){
		
		echo '<script> alert("Cadastro realizado com sucesso!"); history.go(-1);</script>';
		
	}else{
		
		echo '<script> alert("Ocorreu um erro. Tente novamente."); //history.go(-1);</script>';
		exit;
	}
	}

	} else{
	
		echo '<script> alert("Arquivo em formato inválido! A imagem deve ser jpg, jpeg, gif ou png. Envie outro arquivo."); history.go(-1);</script>';
		exit;
		
	}

}else{

	echo '<script> alert("Ocorreu um erro."); history.go(-1);</script>';
	exit;
}

}
?>

Obs: Cheque se sua conexão com o banco de dados está correta.

Exemplo de uma conexão válida:

 

$con = mysql_connect('localhost', 'root', '');

$db = mysql_select_db('clubes', $con);
Utilizei como teste esse código para o banco de dados:

 

CREATE TABLE `clubes`.`times` (
`nome` VARCHAR( 100 ) NOT NULL ,
`imagem` VARCHAR( 100 ) NOT NULL
) ENGINE = MYISAM ;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ahh, minha conexão é assim:

 

<?php
//Dados para a conexão com o banco de dados.
$hostBD = "localhost";
$usuarioBD = "root";
$senhaBD = "";
$nomeBancoDeDados = "teste";

	//String de conexão com banco de dados
	// mysql_conect("local", "usuário", "senha")
	$conexao = mysql_connect($hostBD, $usuarioBD, $senhaBD);

	//String para selecionar qual banco de dados usar
	//mysql_select_db("nome_banco_dados")
	$banco = mysql_select_db($nomeBancoDeDados);

 	//Exibe erro caso não consiga conectar ao banco
 	if(!$conexao){
 	echo "Nao é possível se conectar ao banco de dados.";
 	exit;
 	}

 	//Exibe erro caso o banco não exista ou não seja encontrado
 	if(!$banco){
 	echo "Banco não existe ou não foi encontrado.";
 	}

?>

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.