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 rafaelmoreira78
      Boa tarde!
      Estou querendo fazer um select a partir da seleção de um combobox. Nesse combobox o usuário escolhe o tipo de busca que ele quer. Se é por nome, por id, por data etc. E depois, exibe os dados nos campos. Porém, não estou conseguindo e não sei como resolver isso.
      public void consultar(){ String sql ="select * from tbcertificados where ?=?"; try{ pst=conexao.prepareStatement(sql); pst.setString(1,cbConsulta.getSelectedItem().toString()); pst.setString(2,txtBusca.getText()); rs=pst.executeQuery(); if (rs.next()){ lblID.setText(rs.getString(1)); txtNome.setText(rs.getString(2)); comboCursos.setSelectedItem(rs.getString(3)); txtData.setText(rs.getString(4)); txtCH.setText(rs.getString(5)); txtEmpresa.setText(rs.getString(6)); txtObs.setText(rs.getString(7)); }  
    • By danilo759
      Tenho uma tabelinha de programas para uma rádio... está da seguinte forma.

      titulo
      data (YYYY-MM-DD)
      hora (00:00:00)

      Minha consulta, mas não retorna o programa da hora corrente. O que eu fiz de errado?
      SELECT * FROM programas WHERE data = CURDATE() AND hora = CURTIME() LIMIT 1
    • By Ro_JnR
      Estou tentando a semanas resolver um problema, consumir uma API e verificar se o campo no banco está vazio, se estiver faz insert se não faz update.
      Até aí tudo bem, agora não consigo passar do meu select para o banco, ele da erro.
       
      Segue o código:
       
      <?php

          require_once("db.class.php");
          
          $url = "https://servicodados.ibge.gov.br/api/v1/localidades/distritos";
              $ch = curl_init($url);
              curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
              curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
              $resultado = json_decode(curl_exec($ch));
              foreach ($resultado as $cidades) {
                  $nome = $cidades->nome;
                  $stmt = $conn->prepare("SELECT name FROM cidades WHERE name=?");
                  $stmt->bind_Param(':name', $nome);
                  $stmt->execute();
                  $stmt->bind_result($resultSelect);
                  $stmt->fetch();
                  if(!$stmt->execute()){
                      print_r($stmt->errorInfo());
                  }
              } 

      ?>
       
      Código do banco:
       
      $conn = new PDO("mysql:host=localhost;dbname=exercicio", "root", "");
      //"sqlsrv:Database=dbphp7;server=localhost\SQLEXPRESS;ConnectionPooling=0", "sa", "root");
      $stmt = $conn->prepare("SELECT * FROM cidades ORDER BY nome");
      $stmt->execute();
      //fetchALL basicamente faço while do mysqli
      $results = $stmt->fetchALL(PDO::FETCH_ASSOC);
       
      Print do erro:

       
      Tenho um outro exercicio que fiz bem parecido, consumi a API de estados e inseri no banco de dados, esse funcionou normalmente.
      Alguém poderia me dar uma luz, não sei mais o que fazer.
      Era para ser simples rsrsrrs.
×

Important Information

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