Jump to content
getece

Combobox com Mysql

Recommended Posts

ini_set('display_errors', true);
error_reporting(E_ALL);

Boa tarde pessoal. Estou criando uma página PHP que puxa o combobox do mysql, e o restante das opções são digitadas pelo usuário. 

Então tenho duas páginas: index.php (com as formatações da pagina) e o conecta.php (com as informações da conexão do banco de dados.

Porém quando eu incluo a parte de verificação de campos vazios e a parte de gravar os dados no banco, todo o meu formulário HTML some, não da para escolher nem as opções do combobox mais.

Segue o código:

<html>
    <head>
        <meta http-equiv="content_Type" content="text/html; charset="UTF-8">
        <title>WebServiços - Agendamento</title>
    </head>
    <body>
        
        <form name="envia" action="conecta.php">
        <h1>WebServiços - Agendamento</h1>
        <th>Serviços:</th> 
        <select name="servicos">
        <?php
        $idServico = $_POST ["idServico"];
        $nomeServico = $_POST["nomeServico"];
        include_once ("conecta.php");
        $sql = "Select * from servico";
        $res = mysql_query($sql) or die ("Erro ao pesquisar os dados." . mysql_error());
        
        while ($registro = mysql_fetch_assoc($res)) {
            $idServico = $registro["idServico"];
            $nomeServico = $registro["nomeServico"];
            $nomePrestador = $registro ["nomePrestador"];
            echo "<option value='$idServico'>$nomeServico - $nomePrestador</option>";
        }
        ?>
        </select><br><br>
    <label for="nome">Nome do Cliente:   </label><input type="text" name="nomeCliente" size="40"><BR><BR>
    <label for="email">E-mail do Cliente: </label><input type="text" name="email" size="40"><BR><BR>
    <label for="telefone">Telefone do Cliente: </label><input type="text" name="telefone" size="38"><BR><BR>
    Dia: <select name="dia" style="width:60px;" >
        <option> 1 </option>
        <option> 2 </option>
        <option> 3 </option>
        <option> 4 </option>
        <option> 5 </option>
    </select>
   <br><br>Mês: <select name="mes" style="width:60px;">
        <option> 1 </option>
        <option> 2 </option>
        <option> 3 </option>
        <option> 4 </option>
        <option> 5 </option>
    </select>
   <br><br>Ano: <select name="ano" style="width:60px;">
        <option> 2017 </option>
        <option> 2018 </option>
        <option> 2019 </option>
        <option> 2020 </option>
    </select>
    <br><br>Hora: <select name="hora" style="width:60px;">
        <option> 12 </option>
        <option> 13 </option>
        <option> 14 </option>
        <option> 15 </option>
    </select>
        <br><br><input type="submit" value="Enviar"> 
                <input type="reset" value="limpar">
        </form>
        
      </body>
</html>

 

Código de conexão:

 


<?php
function validarCampos(&$msg, $nomeCliente, $email, $telefone) {
        $resultado = true;
        if (empty($nomeCliente)) {
            $msg = $msg . "Nome invalido.<BR>";
            $resultado = false;
        }
        if (empty($email)) {
            $msg = $msg . "E-mail  invalido. <BR>";
            $resultado = false;
        }
        if (empty($telefone)) {
            $msg = $msg . "telefone invalido.<BR>";
            $resultado = false;
        }

        return $resultado;
    }
        $nomeCliente = $_POST["nomeCliente"];
        $email = $_POST["email"];
        $telefone = $_POST["telefone"];
        
        $msg = "";
        if (validarCampos($msg, $nomeCliente, $email, $telefone)) {
        
 mysql_connect("localhost", "root", "1234") or die ("Não foi possível conectar ao banco de dados." . mysql_error());
    mysql_select_db("etec_servicos") or die ("Não foi possível encontrar o banco de dados." . mysql_error());
    
     $sql = "INSERT INTO agenda ( nomeCliente, email, telefone)
                VALUES ( '$nomeCliente' , '$email' , '$telefone') ";
        mysql_query($sql) or die("ERRO ao inserir dados do PARTICIPANTE. " . mysql_error());
    
        } else {
            echo "Erro. $msg";
        }
    
    ?>

Share this post


Link to post
Share on other sites

Getece,

Boa tarde!

 

Veja se atende suas necessidades:

<html>
    <head>
        <meta http-equiv="content_Type" content="text/html; charset="UTF-8">
        <title>WebServiços - Agendamento</title>
    </head>
    <body>
        
        <form name="envia" action="conecta.php" method="POST">
        <h1>WebServiços - Agendamento</h1>
        <th>Serviços:</th> 
        <select name="servicos">
        <?php
        $idServico = $_POST ["idServico"];
        $nomeServico = $_POST["nomeServico"];
        include_once ("conecta.php");
        $sql = "Select * from servico";
        $res = mysql_query($sql);
        
        while ($registro = mysql_fetch_assoc($res)) {
            $idServico = $registro["idServico"];
            $nomeServico = $registro["nomeServico"];
            $nomePrestador = $registro ["nomePrestador"];
            echo "<option value='$idServico'>$nomeServico - $nomePrestador</option>";
        }
        ?>
        </select><br><br>
    <label for="nome">Nome do Cliente:   </label><input type="text" name="nomeCliente" size="40"><BR><BR>
    <label for="email">E-mail do Cliente: </label><input type="text" name="email" size="40"><BR><BR>
    <label for="telefone">Telefone do Cliente: </label><input type="text" name="telefone" size="38"><BR><BR>
    Dia: <select name="dia" style="width:60px;" >
        <option> 1 </option>
        <option> 2 </option>
        <option> 3 </option>
        <option> 4 </option>
        <option> 5 </option>
    </select>
   <br><br>Mês: <select name="mes" style="width:60px;">
        <option> 1 </option>
        <option> 2 </option>
        <option> 3 </option>
        <option> 4 </option>
        <option> 5 </option>
    </select>
   <br><br>Ano: <select name="ano" style="width:60px;">
        <option> 2017 </option>
        <option> 2018 </option>
        <option> 2019 </option>
        <option> 2020 </option>
    </select>
    <br><br>Hora: <select name="hora" style="width:60px;">
        <option> 12 </option>
        <option> 13 </option>
        <option> 14 </option>
        <option> 15 </option>
    </select>
        <br><br><input type="submit" value="Enviar"> 
                <input type="reset" value="limpar">
        </form>
        
		
		<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
		<script>
			$( 'form' ).submit(function(e){
				e.preventDefault();
				if( !$('input[name="nomeCliente"]').val() ){
					alert( 'Nome invalido' );
				}else if( !$('input[name="email"]').val() ){
					alert( 'E-mail  invalido' );
				}else if( !$('input[name="email"]').val() ){
					alert( 'telefone invalido' );
				}else{
					$(this).unbind('submit').submit();
				}
			});
		</script>
		
      </body>
</html>

 

Share this post


Link to post
Share on other sites

Boa tarde Vinapsy, a validação funciona porém o combobox só aparece as opções do banco se o conecta.php ficar da seguinte forma: 

<?php
 mysql_connect("localhost", "root", "1234") or die ("Não foi possível conectar ao banco de dados." . mysql_error());
    mysql_select_db("etec_servicos") or die ("Não foi possível encontrar o banco de dados." . mysql_error());
?>

 

E mesmo assim apresenta erro

Sem título.jpg

Share this post


Link to post
Share on other sites

Pra funcionar com mysqli o seu arquivo conecta.php terá que ficar desta forma:

<?php
function validarCampos($msg, $nomeCliente, $email, $telefone) {
        $resultado = true;
        if (empty($nomeCliente)) {
            $msg = $msg . "Nome invalido.<BR>";
            $resultado = false;
        }
        if (empty($email)) {
            $msg = $msg . "E-mail  invalido. <BR>";
            $resultado = false;
        }
        if (empty($telefone)) {
            $msg = $msg . "telefone invalido.<BR>";
            $resultado = false;
        }

        return $resultado;
    }
        $nomeCliente = $_POST["nomeCliente"];
        $email = $_POST["email"];
        $telefone = $_POST["telefone"];
        
        $msg = "";
        if (validarCampos($msg, $nomeCliente, $email, $telefone)) {
        
	$conexao = mysqli_connect("localhost", "root", "1234", "etec_servicos") or die ("Não foi possível conectar ao banco de dados." . mysqli_error($conexao));
    
     $sql = "INSERT INTO agenda ( nomeCliente, email, telefone)
                VALUES ( '$nomeCliente' , '$email' , '$telefone') ";
        mysqli_query($conexao, $sql) or die("ERRO ao inserir dados do PARTICIPANTE. " . mysqli_error($conexao));
    
        } else {
            echo "Erro. $msg";
        }
    
?>

 

E o seu index.php dessa forma:

<html>
    <head>
        <meta http-equiv="content_Type" content="text/html; charset=UTF-8">
        <title>WebServiços - Agendamento</title>
    </head>
    <body>
        
        <form name="envia" action="conecta.php" method="POST">
        <h1>WebServiços - Agendamento</h1>
        <th>Serviços:</th> 
        <select name="servicos">
        <?php
        $idServico = $_POST ["idServico"];
        $nomeServico = $_POST["nomeServico"];
        include_once ("conecta.php");
        $sql = "Select * from servico";
        $res = mysqli_query($conexao, $sql) or die (mysqli_error($conexao));
        
        while ($registro = mysql_fetch_assoc($res)) {
            $idServico = $registro["idServico"];
            $nomeServico = $registro["nomeServico"];
            $nomePrestador = $registro ["nomePrestador"];
            echo "<option value='$idServico'>$nomeServico - $nomePrestador</option>";
        }
        ?>
        </select><br><br>
    <label for="nome">Nome do Cliente:   </label><input type="text" name="nomeCliente" size="40"><BR><BR>
    <label for="email">E-mail do Cliente: </label><input type="text" name="email" size="40"><BR><BR>
    <label for="telefone">Telefone do Cliente: </label><input type="text" name="telefone" size="38"><BR><BR>
    Dia: <select name="dia" style="width:60px;" >
        <option> 1 </option>
        <option> 2 </option>
        <option> 3 </option>
        <option> 4 </option>
        <option> 5 </option>
    </select>
   <br><br>Mês: <select name="mes" style="width:60px;">
        <option> 1 </option>
        <option> 2 </option>
        <option> 3 </option>
        <option> 4 </option>
        <option> 5 </option>
    </select>
   <br><br>Ano: <select name="ano" style="width:60px;">
        <option> 2017 </option>
        <option> 2018 </option>
        <option> 2019 </option>
        <option> 2020 </option>
    </select>
    <br><br>Hora: <select name="hora" style="width:60px;">
        <option> 12 </option>
        <option> 13 </option>
        <option> 14 </option>
        <option> 15 </option>
    </select>
        <br><br><input type="submit" value="Enviar"> 
                <input type="reset" value="limpar">
        </form>
        
		
		<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
		<script>
			$( 'form' ).submit(function(e){
				e.preventDefault();
				if( !$('input[name="nomeCliente"]').val() ){
					alert( 'Nome invalido' );
				}else if( !$('input[name="email"]').val() ){
					alert( 'E-mail  invalido' );
				}else if( !$('input[name="email"]').val() ){
					alert( 'telefone invalido' );
				}else{
					$(this).unbind('submit').submit();
				}
			});
		</script>
		
      </body>
</html>

Share this post


Link to post
Share on other sites

Pessoal, não sei se deveria abrir um novo tópico ou continuar nesse, se for preciso eu crio outro mas inicialmente vou postar aqui:

O meu problema mudou, consegui fazer aparecer todos os campos do meu código, porém quando eu clico em enviar, ele nao esta gravando no banco de dados.

 


<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="content_Type" content="text/html; charset="UTF-8">
        <title>WebServiços - Agendamento</title>
    </head>
    <body>
        
        <form name="envia" action="conecta.php">
        <h1>WebServiços - Agendamento</h1>
        <th>Serviços:</th> 
        <select name="servicos">
        <?php
        $idServico = $_POST ["idServico"];
        $nomeServico = $_POST["nomeServico"];
        $nomeCliente = $_POST ["nomeCliente"];
        $email = $_POST ["email"];
        $telefone = $_POST ["telefone"];
        
        include_once ("conecta.php");
        $sql = "Select * from servico";
        $sql2 = "INSERT INTO agenda ( nomeCliente, email, telefone)
                VALUES ( '$nomeCliente' , '$email' , '$telefone') ";
    
        $res = mysqli_query($conexao, $sql) or die ("Erro ao pesquisar os dados." . mysql_error());
        
        while ($registro = mysqli_fetch_assoc($res)) {
            $idServico = $registro["idServico"];
            $nomeServico = $registro["nomeServico"];
            $nomePrestador = $registro ["nomePrestador"];
            echo "<option value='$idServico'>$nomeServico - $nomePrestador</option>";
        }
        ?>
        </select><br><br>
    <label for="nome">Nome do Cliente:   </label><input type="text" name="nomeCliente" size="40"><BR><BR>
    <label for="email">E-mail do Cliente: </label><input type="text" name="email" size="40"><BR><BR>
    <label for="telefone">Telefone do Cliente: </label><input type="text" name="telefone" size="38"><BR><BR>
    Dia: <select name="dia" style="width:60px;" >
        <option> 1 </option>
        <option> 2 </option>
        <option> 3 </option>
        <option> 4 </option>
        <option> 5 </option>
        <option> 6 </option>
        <option> 7 </option>
        <option> 8 </option>
        <option> 9 </option>
        <option> 10 </option>
        <option> 11 </option>
        <option> 12 </option>
        <option> 13 </option>
        <option> 14 </option>
        <option> 15 </option>
        <option> 16 </option>
        <option> 17 </option>
        <option> 18 </option>
        <option> 19 </option>
        <option> 20 </option>
        <option> 21 </option>
        <option> 22 </option>
        <option> 23 </option>
        <option> 24 </option>
        <option> 25 </option>
        <option> 26 </option>
        <option> 27 </option>
        <option> 28 </option>
        <option> 29 </option>
        <option> 30 </option>
        <option> 31 </option>
    </select>
   <br><br>Mês: <select name="mes" style="width:60px;">
        <option> 1 </option>
        <option> 2 </option>
        <option> 3 </option>
        <option> 4 </option>
        <option> 5 </option>
        <option> 6 </option>
        <option> 7 </option>
        <option> 8 </option>
        <option> 9 </option>
        <option> 10 </option>
        <option> 11 </option>
        <option> 12 </option>
    </select>
   <br><br>Ano: <select name="ano" style="width:60px;">
        <option> 2017 </option>
        <option> 2018 </option>
        <option> 2019 </option>
        <option> 2020 </option>
    </select>
    <br><br>Hora: <select name="hora" style="width:60px;">
    <option> 7 </option>
        <option> 8 </option>
        <option> 9 </option>
        <option> 10 </option>
        <option> 11 </option>
        <option> 12 </option>
        <option> 13 </option>
        <option> 14 </option>
        <option> 15 </option>
        <option> 16 </option>
        <option> 17 </option>
    </select>
        <br><br><input type="submit" value="Enviar"> 
                <input type="reset" value="limpar">
        </form>
        <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
        <script>
            $( 'form' ).submit(function(e){
                e.preventDefault();
                if( !$('input[name="nomeCliente"]').val() ){
                    alert( 'Nome invalido' );
                }else if( !$('input[name="email"]').val() ){
                    alert( 'E-mail  invalido' );
                }else if( !$('input[name="email"]').val() ){
                    alert( 'telefone invalido' );
                }else{
                    $(this).unbind('submit').submit();
                }
            });
        </script>
      </body>
</html>

 

conexao:


<?php
        
$conexao = mysqli_connect("localhost", "root","", "etec_servicos") or die ("Não foi possível conectar ao banco de dados." . mysqli_error());    
 
mysqli_query($conexao, "SET NAMES 'utf8'");
   mysqli_query($conexao, "SET character_set_connection=utf8");
   mysqli_query($conexao, "SET character_set_client=utf8");
   mysqli_query($conexao, "SET character_set_results=utf8");
    ?>
 

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 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.
    • By helkton
      ola galera, dúvida besta, mais ja estou quebrando a cabeça,
      seguinte estou preso  num select <option> vindo do banco de dados
      fiz alguns com o if(){}
      mais é pra saber tipoImovel - interesseImovel ou finalidadeImovel
      esses ai são poucos, ficou dboas fazer um if(){} pra cada. Agora pensa comigo...
      Tenho uma TABELA clientes, guardo as informações dos clientes
      Tenho outra tabela imoveis, com os dados do imóvel e tbm com o cliente que cadastrou o imovel,
      na pagina pra editar-imovel.php, monto o <option> pra consultar na tabela clientes todos os clientes cadastrados, como deixo "selected" no nome do cliente que cadastrou o imóvel??
    • By eduardaarosaa
      Ola!! Estou tentando fazer o upload de múltiplos arquivos usando o laravel. Mas  estou tendo o seguinte erro ao tentar cadastrar: 
      "Call to undefined method Symfony\Component\HttpFoundation\FileBag::extension()"  
      Meu controller:
        public function cadastro_info(Request $request)
          {
              $dataForm = $request->except('_token');
              $nameFile = null;
              $loop = count($request->files);
              for ($i=0; $i< $loop; $i++) {
             
                  $name = uniqid(date('HisYmd'));
                  $extension = $request->files->extension();
                  $nameFile = "{$name}.{$extension}";

                  $upload = $request->files->storeAs('upload', $nameFile);
                }
                  if (!$upload)
                      return redirect()
                          ->back()
                          ->with('error', 'Falha ao fazer upload')
                          ->withInput();
              }
      Minha rota:
       Route::post('/cadastro_empresa', 'Site\SiteController@cadastro_info')->name('cadastro_info');
       
      O que estou carregando no controller:
      use Illuminate\Http\Request;
      use DB;
      use App\Http\Controllers\Controller;
      use App\Models\Site\cadastro;
       
      Gerei o link para o storage já 
       
      Alguém sabe dizer o motivo do erro?
       
      Obrigada!!!
       
       
    • By stefany nogueira
      Não estou esta trazendo a tabela e aparece o seguinte erro:

              
      ( ! ) Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in C:\wamp64\www\busca\index.php on line 20
      Call Stack
      #TimeMemoryFunctionLocation
      10.0009402840{main}(  )...\index.php:0
      20.0032418656mysqli_fetch_assoc
      (  )...\index.php:20
                    
       
       
      <?php
          include "conexao.php"
      ?>
          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml1" lang="pt-br" xml:lang="pt-br">
          <head>
              <meta charset="utf-8">
              <title> Busca </title>
          </head>
          <body>
          <form action="results" method="post">
          <select name = convênios>
              <option>Selecione o convênio</option>
              <?php
                  $convenios = "SELECT * FROM convênios";
                  $qrconvenio = mysqli_query($conexao, $convenios);
                  while ($row_convenios = mysqli_fetch_assoc($qrconvenio)) ?>
                      <option value="<?php echo($row_convenios ['id_convenios'])?>"><?php echo($row_convenios ['convenio']) ?></option>
              ?>            
          </select>
      </body>
×

Important Information

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