Célio A. 4 Denunciar post Postado Novembro 27, 2011 O script é faz parte de um sistema para torneios de karate, neste script o usuário cria um novo torneio por meio de um formulário. Na primeira versão era inserido os dados do torneio em uma tabela e criado a nova tabela com o nome do torneio. Como o nome do torneio poderá ser muito grande modifiquei o script para que seja feita uma queire pelo nome do torneio criado e seja criado uma array para que eu possa criar a tabela com o ID do torneio, tive este trabalho porque o ID é criado do BD e não no script. Funcionou perfeitamente presumindo que existe apenas um registro com o nome do torneio, mas e se existir nomes idênticos? Esta é a questão! Preciso de ajuda para que a consulta retorne apenas 1 resultado para que o ID capturado seja correto. Minha idéia n° 1 Gostaria de saber se é possível criar um código que capture a data e hora que o formulário foi enviado e inserir esta informação na tabela Minha idéia n° 2 é adicionar mais campos no formulário e na tabela eventos como: Data do torneio, cidade etc. Neste caso estou tendo dificuldades em adicionar as variáveis da consulta: Qual a sintaxe para adicionar a busca pelo data do torneio ($data) e cidade ($cidade) Assim deu certo $result = mysql_query("SELECT * FROM eventos WHERE nome='$novo_evento'"); Agora não consigo adicionar as outras strings com sucesso. Abaixo o script completo e funcional; <?php //codigo para reportar erros ini_set( 'display_errors', true ); error_reporting( E_ALL ); //declarando a variavel que ira capturar o valor do formulario //pela superglobal $_POST $novo_evento= $_POST["evento"]; //inclui o arquivo de conexão if(file_exists("../conector/conectar.php")) { require "../conector/conectar.php"; } else { echo "Arquivo conectar.php nao foi encontrado"; exit; } //seleciona o banco de dados mysql_select_db("$banco", $conexao); //gravar dados do evento na tabela eventos //NULL é o campo ID que sera gerado direto no BD $inserir= "INSERT INTO eventos VALUES (NULL , '$novo_evento')"; mysql_query($inserir, $conexao) or die(mysql_error()); /* Esta parte do script ira fazer uma queire na tabela eventos e procurar pelo noveo evento criado. sera criado um array com o resultado. o objetivo é criar o banco de dados com o ID do evento */ $result = mysql_query("SELECT * FROM eventos WHERE nome='$novo_evento'"); //Se nao achar nada, lança essa mensagem if (empty($result)) { echo "Nenhum registro encontrado."; } $dados = array(); while($row = mysql_fetch_array($result)) { $dados[] = $row ['id']; } //criando a tabela com o nome do evento $sql = "CREATE TABLE `$dados[0]`( `id` int(10) unsigned NOT NULL auto_increment, `nome` varchar(30) NOT NULL, `dn` date NOT NULL, `genero_id` varchar(2) NOT NULL, `faixa_id` char(5) NOT NULL, `entidade_id` int(5) NOT NULL, INDEX genero_id (genero_id), INDEX faixa_id (faixa_id), INDEX entidade_id (entidade_id), FOREIGN KEY (genero_id) REFERENCES genero(id), FOREIGN KEY (faixa_id) REFERENCES faixa(id), FOREIGN KEY (entidade_id) REFERENCES entidade(id), PRIMARY KEY (`id`) ) ENGINE=INNODB"; //executando a criação da tabela mysql_query($sql,$conexao) or die(mysql_error()); //fecha o banco de dados @mysql_close(); ?> Compartilhar este post Link para o post Compartilhar em outros sites
criatividade zero 17 Denunciar post Postado Novembro 27, 2011 Gostaria de saber se é possível criar um código que capture a data e hora que o formulário foi enviado e inserir esta informação na tabela função microtime se existir nomes idênticos você vai ter que fazer uma consulta com o nome antes de cadastrar o torneio se a consulta retornar alguma coisa, é pq ja contém um torneio com o titulo, caso contrário, vai cadastrar o novo torneio Neste caso estou tendo dificuldades em adicionar as variáveis da consulta:Qual a sintaxe para adicionar a busca pelo data do torneio ($data) e cidade ($cidade) teste assim mysql_query( 'SELECT * FROM eventos WHERE nome=' . $novo_evento . ' and cidade=' . $cidade . ' and data=' . $data ); OSS Compartilhar este post Link para o post Compartilhar em outros sites
Célio A. 4 Denunciar post Postado Novembro 27, 2011 ops, valeu... vou testar OSS! Compartilhar este post Link para o post Compartilhar em outros sites
Célio A. 4 Denunciar post Postado Novembro 27, 2011 deu certo fazendo desta forma: $result = mysql_query( 'SELECT * FROM eventos WHERE nome="'.$novo_evento.'" and cidade="'.$cidade.'" and uf="'.$uf.'" and data="'.$data.'"' ); Compartilhar este post Link para o post Compartilhar em outros sites