Jump to content
paulojk

Qual é essa funçao e como faço?

Recommended Posts

Criando uma tabela eventos. Exemplo, 

<? //´PÁGINA CONEXÃO.PHP
$host = 'seuhost';
$user = 'usuariodabasededados';
$pass = '';
$db = 'nomedabasededados';

$conn = mysqli_connect($host, $user, $pass);
$db_conn = mysqli_select_db($conn, $db);

?>

<? // PÁGINA COLUP.PHP

include_once('conexao.php');

$id = $_POST['id'];
$coletar = $_POST['coletar'];


$sql = "UPDATE evento SET coletar = '$coletar' WHERE id = '$id'";
$query = mysqli_query($conn, $sql);
header("refresh: 1; index.php"); // retorna para a pagina inicial.
?>

<?php // PÁGINA INDEX.PHP


include_once('conexao.php');

$id = $_SESSION['id']; //aqui fica o id do usuario, é por ele que fazemos o relacionamento com a tabEla evento

$result_ev = "SELECT DISTINCT * 
FROM `usuarios` AS us
INNER JOIN `evento` AS ev
ON us.`id` = ev.`id`
WHERE us.`id` = $id";
  $resultado_ev = mysqli_query($conn, $result_ev);
$row = mysqli_fetch_array($resultado_ev);
if(mysqli_num_rows($resultado_ev)){

$horario = $row['coletar'];
$horas = strtotime(''.$horario.'') + 60*60; //aqui acrescento 1h a hora que você clicou

if($horas > $horario){ 
?>


<form method="post" action="colup.php">
	<input type="hidden" value="<?php date('H:i')?>" name="coletar">
	<button type="submit">AGUARDE ATÉ <?php echo $horas = strtotime(''.$horario.'') + 60*60;?></button>
</form>


<?php }

}else{ ?>

<form method="post" action="colup.php">
	
	<input type="hidden" value="<?php $_SESSION['id']; ?>" name="id">
	<button type="submit">COLETAR PONTOS</button>
</form>

<?php } ?>


<?php //SEGUE A TABELA EVENTO a coluna id não pode ser autoIncremment por pegar o valor do ID do usuário isso serve para relacionar as tabelas.



CREATE TABLE IF NOT EXISTS `evento` (
  `id` VARCHAR(11) NULL DEFAULT NULL,
  `coletar` VARCHAR(11) NULL DEFAULT NULL)
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1;




?>

Segue um exemplo para ajuda. fiz aqui na unha(não testei), mas espero que sirva de norte para você. qualquer duvida tamos aqui... 

Share this post


Link to post
Share on other sites
42 minutos atrás, Luciano Marques disse:

Criando uma tabela eventos. Exemplo, 


<? //´PÁGINA CONEXÃO.PHP
$host = 'seuhost';
$user = 'usuariodabasededados';
$pass = '';
$db = 'nomedabasededados';

$conn = mysqli_connect($host, $user, $pass);
$db_conn = mysqli_select_db($conn, $db);

?>

<? // PÁGINA COLUP.PHP

include_once('conexao.php');

$id = $_POST['id'];
$coletar = $_POST['coletar'];


$sql = "UPDATE evento SET coletar = '$coletar' WHERE id = '$id'";
$query = mysqli_query($conn, $sql);
header("refresh: 1; index.php"); // retorna para a pagina inicial.
?>

<?php // PÁGINA INDEX.PHP


include_once('conexao.php');

$id = $_SESSION['id']; //aqui fica o id do usuario, é por ele que fazemos o relacionamento com a tabEla evento

$result_ev = "SELECT DISTINCT * 
FROM `usuarios` AS us
INNER JOIN `evento` AS ev
ON us.`id` = ev.`id`
WHERE us.`id` = $id";
  $resultado_ev = mysqli_query($conn, $result_ev);
$row = mysqli_fetch_array($resultado_ev);
if(mysqli_num_rows($resultado_ev)){

$horario = $row['coletar'];
$horas = strtotime(''.$horario.'') + 60*60; //aqui acrescento 1h a hora que você clicou

if($horas > $horario){ 
?>


<form method="post" action="colup.php">
	<input type="hidden" value="<?php date('H:i')?>" name="coletar">
	<button type="submit">AGUARDE ATÉ <?php echo $horas = strtotime(''.$horario.'') + 60*60;?></button>
</form>


<?php }

}else{ ?>

<form method="post" action="colup.php">
	
	<input type="hidden" value="<?php $_SESSION['id']; ?>" name="id">
	<button type="submit">COLETAR PONTOS</button>
</form>

<?php } ?>


<?php //SEGUE A TABELA EVENTO a coluna id não pode ser autoIncremment por pegar o valor do ID do usuário isso serve para relacionar as tabelas.



CREATE TABLE IF NOT EXISTS `evento` (
  `id` VARCHAR(11) NULL DEFAULT NULL,
  `coletar` VARCHAR(11) NULL DEFAULT NULL)
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1;




?>

Segue um exemplo para ajuda. fiz aqui na unha(não testei), mas espero que sirva de norte para você. qualquer duvida tamos aqui... 

Obrigado era o que eu buscava

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By rogerblower
      Pessoal estou usando PHPMailer para enviar email com dados do formulário e ao mesmo tempo gravar no mysql.
      O email esta sendo enviado mas não esta gravando no banco, não sei onde estou errando segue meu código.
       
      <?php include 'header.php'; ?> <div class="container"> <div class="row"> <div class="col-md-12"> <div class="row"> <?php date_default_timezone_set('Etc/UTC'); if(isset($_POST['btnsave'])) { $id_cliente = $_POST['id_cliente']; $produto = $_POST['produto']; $medida = $_POST['medida']; $msg = $_POST['msg']; $qtd = $_POST['qtd']; $aprovado = $_POST['aprovado']; $status = $_POST['status']; $data_orca = date('Y-m-d'); $imgFile = $_FILES['user_image']['name']; $tmp_dir = $_FILES['user_image']['tmp_name']; $imgSize = $_FILES['user_image']['size']; if(empty($imgFile)){ $errMSG = "Please Select Image File."; } else { $upload_dir = 'imagens/orcamento/'; // upload directory $imgExt = strtolower(pathinfo($imgFile,PATHINFO_EXTENSION)); // get image extension // valid image extensions $valid_extensions = array('jpeg', 'jpg', 'png', 'gif'); // valid extensions // rename uploading image $userpic = rand(1000,1000000).".".$imgExt; // allow valid image file formats if(in_array($imgExt, $valid_extensions)){ // Check file size '5MB' if($imgSize < 5000000) { move_uploaded_file($tmp_dir,$upload_dir.$userpic); } else{ $errMSG = "Desculpe seu arquivo é muito grande."; } } else{ $errMSG = "Desculpe, somente arquivos JPG, JPEG, PNG e GIF são aceitos."; } } require_once('includes/init.php'); if(!isset($errMSG)){ $addv=$pdo->prepare("INSERT INTO orcamento (id_cliente, produto, medida, qtd, msg, aprovado, status, data_orca, img) VALUE(?,?,?,?,?,?,?,?,?)"); $addv->bindValue("1",$id_cliente); $addv->bindValue("2",$produto); $addv->bindValue("3",$medida); $addv->bindValue("4",$qtd); $addv->bindValue("5",$msg); $addv->bindValue("6",$aprovado); $addv->bindValue("7",$status); $addv->bindValue("8",$data_orca); $addv->bindValue("9",$userpic); if($addv->execute()) { $successMSG = "Orçamento enviado com sucesso..."; } else { $errMSG = "Erro ao enviado Orçamento..."; } } $path_file = $upload_dir.$userpic; /////////////////////////////////////////////////////////////////////////////////////////////// require 'phpmailer/PHPMailerAutoload.php'; //Create a new PHPMailer instance $mail = new PHPMailer; //Tell PHPMailer to use SMTP $mail->isSMTP(); $mail->CharSet = 'UTF-8'; //Enable SMTP debugging // 0 = off (for production use) // 1 = client messages // 2 = client and server messages $mail->SMTPDebug = 0; //Ask for HTML-friendly debug output $mail->Debugoutput = 'html'; //Set the hostname of the mail server $mail->Host = "smtp.uhserver.com"; //Set the SMTP port number - likely to be 25, 465 or 587 $mail->Port = 587; //Whether to use SMTP authentication $mail->SMTPAuth = true; //Username to use for SMTP authentication $mail->Username = "contato@xxxxx.com.br"; //Password to use for SMTP authentication $mail->Password = "xxxxxx"; //Set who the message is to be sent from $mail->setFrom('contato@xxxxx.com.br', 'xxxxx'); //Set an alternative reply-to address $mail->addReplyTo('no-reply@xxxxx.com.br', 'xxxxx'); //Set who the message is to be sent to $mail->addAddress('contato@xxxxx.com.br', 'xxxxx'); //Mantenha-o simples - não use HTML $mail->isHTML(true); $id = $_SESSION['id_do_produto']; $add_pro = $pdo->prepare("SELECT * FROM produtos WHERE id = '$id' ORDER BY nome_produto ASC"); $add_pro->execute(); while($row=$add_pro->fetch(PDO::FETCH_ASSOC)){ extract($row); $assunto = ''.$row['nome_produto'].''; } //Set the subject line $mail->Subject = 'Solicitação de orcamento de: '.$assunto.''; $mail->Body = ' <html bgcolor="#E6E6E6"> <table able width="60%" align="center" style="background-color:#ffffff; border:1px solid #cccccc;"> <tr style="background-color:#ffffff; border: 1px solid #cccccc;"> <td><a href="http://xxxxx.com.br" target="_blank"><img src="http://xxxxx.com.br/imagens/logo.png" width="300" height="80" /></a></td> </tr> <tr> <td colspan="3"><hr / style="color:#cccccc;"></td> </tr> <tr style="background-color:#ffffff; border: 1px solid #cccccc;"> <td style="color:blue;"><strong> '.$assunto.'</strong></td> </tr> <tr> <td colspan="3"><hr / style="color:#cccccc;"></td> </tr> <tr> <td colspan="2">'.$msg.'</td> </tr> <tr> <td colspan="3"><hr / style="color:#cccccc;"></td> </tr> <tr> <td colspan="3" style="font-size:9px;">Roda pé do formulário</td> </tr> </table> </html> '; //$mail->AddAttachment($path_file); //Read an HTML message body from an external file, convert referenced images to embedded, //convert HTML into a basic plain-text alternative body //$mail->msgHTML(file_get_contents('contents.html'), dirname(__FILE__)); //Replace the plain text body with one created manually //$mail->AltBody = 'This is a plain-text message body'; //Attach an image file //$mail->addAttachment('examples/images/phpmailer_mini.png'); //send the message, check for errors if (!$mail->send()) { //echo "Mailer Error: " . $mail->ErrorInfo; } else { echo "Mensagem Enviada!"; header('Location: index.php'); } } ?> <br/><br/> <table class="table table-bordered table-responsive"> <form method="post" enctype="multipart/form-data" class="form-horizontal"> <tr> <td><label class="control-label">Produto:</label></td> <?php $id = $_SESSION['id_do_produto']; $add_pro = $pdo->prepare("SELECT * FROM produtos WHERE id = '$id' ORDER BY nome_produto ASC"); $add_pro->execute(); while($row=$add_pro->fetch(PDO::FETCH_ASSOC)){ extract($row); echo'<td><input class="form-control" type="text" name="produto" value="'.$row['nome_produto'].'"/></td>'; } ?> </tr> <tr> <td><label class="control-label">Cliente:</label></td> <td><input class="form-control" type="text" name="" value="<?php echo $_SESSION['c_nome'] ?>"/> <input class="form-control" type="hidden" name="id_cliente" value="<?php echo $_SESSION['c_id'] ?>"/></td> </tr> <tr> <td><label class="control-label">Medida: <i style="font-size: 11px">Altura X Largura</i></label></td> <td><input class="form-control" type="text" name="medida" placeholder="0,00 x 0,00" /></td> </tr> <tr> <td><label class="control-label">Quantidde:</label></td> <td><input class="form-control" type="text" name="qtd" /></td> </tr> <tr> <td><label class="control-label">Mensagem.</label></td> <td><textarea class="form-control" type="text" name="msg" rows="3" placeholder="Mensagem"></textarea></td> </tr> <input class="form-control" type="hidden" name="aprovado" value="Não" /> <input class="form-control" type="hidden" name="status" value="Aberto" /> <tr> <td><label class="control-label">Envie seu Layout.</label></td> <td><input class="input-group" type="file" name="user_image" accept="image/*" /></td> </tr> <tr> <td colspan="2" style="text-align:center; padding: 30px;"><button type="submit" name="btnsave" class="btn btn-primary"> <span class="glyphicon glyphicon-save"></span> &nbsp; Enviar Orçamento &nbsp; </button> </td> </tr> </form> </table> </div><!-- /.row --> </div><!-- /.col-md-12 --> </div><!-- /.row --> </div><!-- /.container --> <?php include 'footer.php'; ?>  
    • By Hlameiras
      Olá!
       
      Estou tentando desenvolver um formulário dinâmico em PHP, em que o utilizador ao clicar num determinado botão possa acrescentar campos de INPUTs ou SELECTs no mesmo.
      Encontrei este exemplo que funciona mas tem limitações:
      https://www.formget.com/how-to-dynamically-add-form-fields-and-increment-name-attribute-of-the-field/
       
      O problema é que os campos adicionais são gerados pelo lado do cliente (Javascript) e não pelo lado do servidor, logo no caso de gerar SELECTS que vão buscar informação a uma Base de Dados, as opções de escolha não são apresentadas. Qual será a melhor solução para resolver este problema?
       
      Agradecido!
       
       
       
    • By Hállex da Silva Costa
      Alguém poderia me dizer qual a forma mais correta de se utilizar uma classe seguindo as regras e padrões da Orientação a Objeto. Digamos que eu tenha uma classe Abstrata que fará a conexão com o banco de dados, eu crio uma outra classe que herda dessa classe abstrata, o correto seria utilizar os atributos da classe usando Exemplo 1 ou Exemplo 2?
      OBS: se eu usar o Exemplo 1 (que utiliza o parent) ou Exemplo 2 (que utilza o $this) o resultado dos dois é o mesmo como no print abaixo mostra.
      P.S.: Estou pergutando para não acabar fazendo gambiarra.
       
      Codígo Exemplo 1:
      <?php require_once 'db.abstract_class.php'; final class DB extends AbstractDB { public function __construct(String $dbtype, String $host, Int $port, String $dbname, String $charset, String $user, String $pass){ return parent::__construct($dbtype, $host, $port, $dbname, $charset, $user, $pass); } final function Connect(){ $dbtype = parent::getDBType(); $host = parent::getHost(); $port = parent::getPort(); $dbname = parent::getDBName(); $charset = parent::getCharset(); $dbh = new PDO($dbtype . ":host={$host};port={$port}dbname={$dbname};charset{$charset}", parent::getUser(), parent::getPass()); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, TRUE); $dbh->setAttribute(PDO::ATTR_PERSISTENT, TRUE); parent::setConnection($dbh); return parent::getConnection(); } final function Disconnect(){} final function selectDB(){} final function insertDB(){} final function updateDB(){} final function deleteDB(){} } ?> Codígo Exemplo 2:
      <?php require_once 'db.abstract_class.php'; final class DB extends AbstractDB { public function __construct(String $dbtype, String $host, Int $port, String $dbname, String $charset, String $user, String $pass){ $this->setDBType($dbtype); $this->setHost($host); $this->setPort($port); $this->setDBName($dbname); $this->setCharset($charset); $this->setUser($user); $this->setPass($pass); } final function Connect(){ $dbtype = $this->getDBType(); $host = $this->getHost(); $port = $this->getPort(); $dbname = $this->getDBName(); $charset = $this->getCharset(); $dbh = new PDO($dbtype . ":host={$host};port={$port}dbname={$dbname};charset{$charset}", $this->getUser(), $this->getPass()); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, TRUE); $dbh->setAttribute(PDO::ATTR_PERSISTENT, TRUE); $this->setConnection($dbh); return $this->getConnection(); } final function Disconnect(){} final function selectDB(){} final function insertDB(){} final function updateDB(){} final function deleteDB(){} } ?> Resultado:

    • By smashplus
      Olá amigos, sendo breve, apenas gostaria de saber se alguem sabe por onde começo para fazer por exemplo o seguinte:
       
      Existe o usuário 1 e o usuário 2,  quando o usuário 1 insere uma linha no bd, ele manda uma mensagem para o usuário 2, avisando tipo, foi inserido uma linha no bd para o usuário, tipo aqueles popup sabe.
       
      Se alguem puder dar uma luz, tenho noções basicas de php e ajax...
       
      Agradeço se alguem puder dar a direção.
    • By EvertonFD
      Boa tarde senhores, estou começando na programação mais precisamente com o php, e para fins de estudo estou criando um site de gerenciamento de campeonatos e me deparei com uma questão,
      Tenho um resultado no banco time a 10 x 05 time b, então fiz o seguinte trouxe esses valores para a tela  e na sequencia criaei um if para determinar qual o maior ficou assim:

       
      <?php echo $row_resultados ['g_a'];?> X <?php echo $row_resultados ['g_b'];?> // resultados trazido do bd no caso o placar 10 X05 <?php $row_resultados ['g_a']; $row_resultados ['g_b']; $a= $row_resultados ['g_a']; $b= $row_resultados ['g_b']; if($a > $b): $placar= "VIT"; elseif($a < $b): // Note the combination of the words. $placar= "DER"; else: $placar= "EMP"; endif; echo $placar ?>// exibe o resultado ?> Ai ele me retorna o seguinte ou ele me da a vitoria para os dois time ou ele retorna derrota para os dois, como ja expliquei estou começando então se tiver uma outra maneira de fazer aceito sugestões
       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.