Dúvida com while e post

PHP

13/12/2019

Pessoal eu to com um probleminha. To fazendo um app de evento em php. Tenho uma pagina com uma lista de todos os eventos listados dentro de um foreach(já testei com while). No momento estou fazendo teste pra ver se funciona, mas tem um pequeno impasse. As informações do evento deveriam ser gravadas num post pra ser direcionado pro arquivo que vai fazer o insert no banco. Mas quando eu clico no botão o post sempre me retorna o mesmo valor e não o do evento certo.

<center><div class="titulo">Proximos Eventos</div></center>

<?php

  $busca = "Select * from events ORDER BY data";
  $exec = mysqli_query($conexao, $busca);

  foreach($exec as $e){


    $id = $e[''''id''''];
    $data = $e[''''data''''];
    $local = $e[''''nome_local''''];
    $endereco = $e[''''endereco''''];
    $horario = $e[''''horario''''];

    echo"<div class=''''card text-center''''>
          <div class=''''card-body''''>
            <table width=''''100%'''' height=''''80%''''>
            <tr>
              <td width=''''20%''''><div class=''''data''''><center> ".$data_separada[2]." <div class=''''data_space''''> ".$mes." </div></div></td>

              <td> <div class=''''evento''''>".$local."<br> ".$endereco." <br> ".$hora_sem_segundos[0].":".$hora_sem_segundos[1]."</div>

            </tr>
            </table>
          </div>
          <div class=''''card-footer''''>
          <form method=''''POST'''' action=''''confirmarpresenca.php''''>
              <input type=''''hidden'''' value=''''".$e[''''nome_local'''']."'''' name=''''event'''' class=''''form-control'''' id=''''exampleInputEmail1'''' style=''''display:none;''''>

              <input type=''''submit'''' value=''''Confirmar Presença'''' class=''''btn btn-success''''>
              <input type=''''button'''' value=''''Ver mais'''' class=''''btn btn-info''''>
          <form>

            </div>
          </div>";
  }

Matheus Soares

Matheus Soares

Curtidas 0

Respostas

Jorge Pinto

Jorge Pinto

13/12/2019

Olá Matheus !! Tranquilo ?

Eu não testei aqui mas vale a pena tentar algo que talvez possa lhe dar o resultado que vc quer...
Faça o seguinte no seu código:

Troque isso...

...
  $exec = mysqli_query($conexao, $busca);
 
  foreach($exec as $e){
...


por isso...

...
   if ($exec = mysqli_query($conexao, $busca)) {

       /* fetch associative array */
       while ($e = mysqli_fetch_assoc($exec)) {
...


E não esqueça de lá depois do final do seu while colocar o fechamento do if que foi inserido no código antes do while...

E também após o fechamento do if referido acima não esqueça de liberar o objeto de retorno ($exec no seu caso)

assim...

...
    /* free result set */
    mysqli_free_result($exec);
...


Faça por favor as alterações e teste, caso não funcione posta denovo aqui que a gente tenta resolver juntos...

Mais informações sobre esse assunto vc pode obter em

https://www.php.net/manual/pt_BR/mysqli-result.fetch-assoc.php


Abraço e bons códigos !!
GOSTEI 0
POSTAR