Jump to content
Fernaandoreis

Sistema para listar tabelas

Recommended Posts

Seguinte... Preciso fazer um sistema que o usuário logado faça inscrição em eventos, preciso armazenar estes dados e depois listar quais eventos ele decidiu se inscrever. A parte do login está pronta. Porém esta outra, estou sem ideias para fazer.

 

Share this post


Link to post
Share on other sites

não sei se entendi bem sua duvida, 1 modelagem básica seria
você ter uma tabela d usuarios (q pelo jeito você ja criou) e outra de eventos,
mas em se tratando de bancos de dados relacionais
se varios usuarios podem se inscrever em varios eventos
e nos eventos você pode ter varios usuarios então
deverá ter uma 3ª tabela para armazenar esses relacionamentos
usuários - eventos.

Share this post


Link to post
Share on other sites
12 minutos atrás, Fernando C disse:

mas em se tratando de bancos de dados relacionais
se varios usuarios podem se inscrever em varios eventos
e nos eventos você pode ter varios usuarios então
deverá ter uma 3ª tabela para armazenar esses relacionamentos
usuários - eventos.

 

Como o Fernando comentou, a necessidade de 1 terceira tabela é aconselhavel

 

[codEventoUsuario][codEvento][codUsuario] - aqui poderia ter varias colunas referente ao usuário/evento, por exemplo se a inscricação foi paga, confirmada e etc.

 

Share this post


Link to post
Share on other sites

- Eu tenho X eventos.

Exemplo:

Evento x1= se o usuário marcar a checkbox para se inscrever, quero enviar o nome do usuário para a tabela 'Evento x1'

Evento x2= se o usuário marcar a checkbox para se inscrever, quero enviar o nome do usuário para tabela 'Evento x2'.

E assim por diante.

OBS: Ele pode se inscrever em dois ou mais eventos.

OBS: Os eventos que estiverem marcados somem da lista.

 

Estou sem idéias para fazer isso.

Queria criar uma condição que verificasse se a checkbox='inscrever' estiver marcada, envia os dados para a(s) tabela(s).

Creio que assim esteja melhor para entender

 

Share this post


Link to post
Share on other sites
17 minutos atrás, Fernaandoreis disse:

- Eu tenho X eventos.

Exemplo:

Evento x1= se o usuário marcar a checkbox para se inscrever, quero enviar o nome do usuário para a tabela 'Evento x1'

Evento x2= se o usuário marcar a checkbox para se inscrever, quero enviar o nome do usuário para tabela 'Evento x2'.

E assim por diante.

OBS: Ele pode se inscrever em dois ou mais eventos.

OBS: Os eventos que estiverem marcados somem da lista.

 

Estou sem idéias para fazer isso.

Queria criar uma condição que verificasse se a checkbox='inscrever' estiver marcada, envia os dados para a(s) tabela(s).

Creio que assim esteja melhor para entender

 

Então se você tem 50 eventos, você teria 50 TABELAS?

E quando esses eventos deixam de existir?

 

Para enviar um valor, para o servidor após marcar a checkbox, pode usar ajax.

var dadosUsuario;

function tratar(idEvento) {
  	 dadosUsuario = "evento=".encodeURIComponent(idEvento);
     iniciarAjax("CadastrarEvento.php", "POST");
}

function iniciarAjax(url, method) {
 	var ajax;
  	if (window.XMLHttpRequest)
    {
     	ajax = new XMLHttpRequest(); 
    } 
  	else if (window.ActiveXObject) 
    {
     	ajax = new ActiveXObject("Msxml2.XMLHTTP");
      	if (!ajax) 
        {
           ajax = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
  
  	if (ajax) 
      {
     	ajax.onreadystatechange = function() 
        {
         	if (ajax.readyState == 4) 
            {
               if (ajax.status == 200) 
               {
                 alert(ajax.responseText);
               }
            }
        }
        ajax.open(method, url, true);
        ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
      	ajax.send(dadosUsuario);
    }
}

 

No input

<input type="checkbox" onclick="tratar(2);" name="evento">

 

No PHP

 

<?php
$gmtdate = gmdate("D, d M Y H:i:s");
header("Expires: {$gmtdate} GMT");
header("Last-Modified: {$gmtdate} GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
header("Content-Type: text/html;charset=UTF-8");

$evento = (isset($_POST["evento"]))$_POST["evento"] : "";

if ($evento != "") 
{
	// cadastra o evento pegando o id do usuario na session...
  	echo "Cadastrado";
}

 

 

Apenas digitei, não sei se está funcionando sem bugs, mas caso esteja o recomendado é dar uma lida sobre.

Share this post


Link to post
Share on other sites
1 hora atrás, jamesbond disse:

Então se você tem 50 eventos, você teria 50 TABELAS?

E quando esses eventos deixam de existir?

 

Para enviar um valor, para o servidor após marcar a checkbox, pode usar ajax.


var dadosUsuario;

function tratar(idEvento) {
  	 dadosUsuario = "evento=".encodeURIComponent(idEvento);
     iniciarAjax("CadastrarEvento.php", "POST");
}

function iniciarAjax(url, method) {
 	var ajax;
  	if (window.XMLHttpRequest)
    {
     	ajax = new XMLHttpRequest(); 
    } 
  	else if (window.ActiveXObject) 
    {
     	ajax = new ActiveXObject("Msxml2.XMLHTTP");
      	if (!ajax) 
        {
           ajax = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
  
  	if (ajax) 
      {
     	ajax.onreadystatechange = function() 
        {
         	if (ajax.readyState == 4) 
            {
               if (ajax.status == 200) 
               {
                 alert(ajax.responseText);
               }
            }
        }
        ajax.open(method, url, true);
        ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
      	ajax.send(dadosUsuario);
    }
}

 

No input


<input type="checkbox" onclick="tratar(2);" name="evento">

 

No PHP

 


<?php
$gmtdate = gmdate("D, d M Y H:i:s");
header("Expires: {$gmtdate} GMT");
header("Last-Modified: {$gmtdate} GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
header("Content-Type: text/html;charset=UTF-8");

$evento = (isset($_POST["evento"]))$_POST["evento"] : "";

if ($evento != "") 
{
	// cadastra o evento pegando o id do usuario na session...
  	echo "Cadastrado";
}

 

 

Apenas digitei, não sei se está funcionando sem bugs, mas caso esteja o recomendado é dar uma lida sobre.

 

São 10 eventos. Vou dar uma lida no código.

Share this post


Link to post
Share on other sites
4 minutos atrás, Fernaandoreis disse:

 

São 10 eventos. Vou dar uma lida no código.

Crie uma tabela eventos e relacione os mesmos ._.

Share this post


Link to post
Share on other sites

Consegui resolver o problema. Mas me surgiu outra dúvida.

 

mysql_query("INSERT INTO minicurso(nome, sobrenome) SELECT nome, sobrenome FROM USUARIO WHERE USUARIO = '$logado'");

 

como passar os valores do checkbox junto com esses dados que eu puxei de outra tabela

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 eduardaarosaa
      Eu estou fazendo um sistema com multipolos uploads de aquivos.
       
      Aqui ele está movendo o arquivo para pasta upload: 
       $upload = $request->image[$i]->storeAs('upload', $nameFile);
      Ao dar var_dump nesta variável ela retorna: 
       
       string(38) "upload/172118201908225d5ef93e4d803.png" string(38) "upload/172118201908225d5ef93e4f9b2.png" string(38) "upload/172118201908225d5ef93e50899.png" string(38) "upload/172118201908225d5ef93e51b72.png"
       
      São os 4 arquivos que deram upload, porém está em string e eu queria usar em array para separar em variáveis e adicionar no banco. 
       
      Use o explode assim: 
      $array = explode(",", $upload);
      Então ele retornou vários arrays com o mesmo indice: 
       
      array(1) { [0]=> string(38) "upload/172322201908225d5ef9ba3cf15.png" } array(1) { [0]=> string(38) "upload/172322201908225d5ef9ba3edab.png" } array(1) { [0]=> string(38) "upload/172322201908225d5ef9ba3fbcc.png" } array(1) { [0]=> string(38) "upload/172322201908225d5ef9ba4163a.png" }
       
      Como faço para poder separar esses arrays? Ou mudar os índices? Se alguém souber .. 
      Obrigada!!!
       
    • By gabrielslessa
      Olá amigos, estou com uma dúvida, não estou conseguindo gravar os dados contidos numa sessão no bd mysql com conexão PDO. Tenho uma sessão onde estão todos os produtos do carrinho de compras em php, como faço para gravar esses itens separadamente no bd? Obrigado desde já!
       
      código onde está gravando no bd (primeiro grava os dados do post e depois grava os dados da sessao:
       
      //gravando no bd $this->db->insert('as_pedidos', array( "user_id" => $userId, "ped_rua" => $ped_rua, "ped_numero" => $ped_numero, "ped_cep" => $ped_cep, "ped_bairro" => $ped_bairro, "ped_vtotal" => $ped_vtotal, "ped_frete" => $ped_frete, "ped_distance" => $ped_distance, "ped_forma_pg" => $forma_pagProtect, "ped_comentario" => obsProtect, "ped_vtroco" => $trocoProtect, "ped_acresc_cred" => $acresc_credProtect, "ped_op_cred" => $opProtect, "ped_hora" => date('Y-m-d H:i:s') )); $ped_id = $this->db->lastInsertId(); foreach($_SESSION["products"] as $dado => $value) : NÃO ESTOU CONSEGUINDO A PARTIR DAQUI.... //gravando no bd $this->db->insert('as_ped_itens', array( "id_prod" => $product['id'], "qtd" => $product['product_qty'], "nome_prod" => $product['nome'], "valor" => $product['preco'], "id_ped" => $ped_id )); endforeach;  
       
       
      Código onde grava os dados na sessão ($_SESSION["products"]):
       
      setlocale(LC_MONETARY,"pt_BR"); # add products in cart if(isset($_POST["id"])) { foreach($_POST as $key => $value) : $product[$key] = filter_var($value, FILTER_SANITIZE_STRING); endforeach; $id = preg_replace( '/[^0-9]/is', '', $product['id'] ); $product_qty = preg_replace( '/[^0-9]/is', '', $_POST["product_qty"] ); $statement = app('db')->prepare("SELECT as_produtos.nome, as_produtos.preco, as_produtos.acresc FROM as_produtos WHERE id = :id LIMIT 1"); $statement->bindParam(':id', $id, PDO::PARAM_INT); $statement->execute(); foreach($statement as $dados_produto) : $product["product_name"] = $dados_produto["nome"]; $product["product_price"] = $dados_produto["preco"]; $product["product_acresc"] = $dados_produto["acresc"]; if(isset($product["product_name"])){ if(isset($_SESSION["products"][$id])) { $_SESSION["products"][$id]["product_qty"] = $_SESSION["products"][$id]["product_qty"] + $_POST["product_qty"]; } else { $_SESSION["products"][$id] = $product; } } else { $_SESSION["products"][$id] = $product; } endforeach; //exibindo o total de itens $total_product = array_sum(array_column($_SESSION['products'], 'product_qty')); //exibindo o total de produtos //$total_product = count($_SESSION["products"]); die(json_encode(array('products'=>$total_product))); }  
       
    • By Salvatore
      Galera alguem poderia me explicar como faço isto ultilizando php? estou perdido
      tenho que usar varias imagens?
       
      De acordo que ele clica e seleciona a poltrona ela muda de cor 
      RED: OCUPADA
      AZUL: LIVRE

    • By drx
      Olá feras!
       
      Estou recebendo este retorno da conexão: SQLSTATE[HY000] [1049] Base 'dbbase' inconnue
       
      O que é que pode ser?
       
      Tudo certinho. Fala que a dbbase não existe, mas existe.
      Alguém tem uma solução ?
       
      Desde já agradeço.
×

Important Information

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