juliaa 0 Denunciar post Postado Dezembro 9, 2015 Boa Tarde, não sei se já existe um tópico desses por aqui, mas eu não encontrei a resposta nas pesquisas do google. Meu problema é o seguinte. Pego um dado do banco e adiciono no select do html " <select name="nomeusuario"> <option value="vazio"> </option> <?php $sql = "select nome from usuario;"; $result = mysqli_query($conexao, $sql); while($linha = mysqli_fetch_assoc($result)): ?> <option value=" <?php echo $linha['nome']; ?> "> <?php echo $linha['nome']; ?> </option> <?php endwhile; ?> </select>" ele recupera esse dado corretamente no php: "$nome = $_POST['nomeusuario'];" porém no momento em que vou recuperar outo dado pelo mysql utilizando esse dado da variável do php ele não me retorna nada, nem um erro, nem a resposta. Quando adiciono o valor que está no banco ele retorna o valor, mas não funciona com a variável. //pegar matricula$query_matricula = mysqli_query($conexao,"SELECT matricula FROM usuario where nome = '$nome'") or die("ERROR" .mysqli_error());$row = mysqli_fetch_assoc($query_matricula);$numero_matricula = $row['matricula'];echo $row['matricula']; Compartilhar este post Link para o post Compartilhar em outros sites
diegohamaz1 0 Denunciar post Postado Dezembro 9, 2015 Posta o código completo para melhor entendimento. Compartilhar este post Link para o post Compartilhar em outros sites
juliaa 0 Denunciar post Postado Dezembro 9, 2015 Boa Tarde, não sei se já existe um tópico desses por aqui, mas eu não encontrei a resposta nas pesquisas do google. Meu problema é o seguinte. porém no momento em que vou recuperar outo dado pelo mysql utilizando esse dado da variável do php ele não me retorna nada, nem um erro, nem a resposta. Quando adiciono o valor que está no banco ele retorna o valor, mas não funciona com a variável Postando código do php completo: <?phpob_start();error_reporting(E_ALL|E_STRICT);ini_set('display_errors', 1);include("executa.php");include("conecta.php");$datacoleta = $_POST['datacoleta'];$nome = $_POST['nomeusuario'];$id_estabelecimento = $_POST['nomeestabelecimento'];$id_projeto = $_POST['nomeprojeto'];//transforma a data da coleta$dtransf = explode("/", $datacoleta);$data = "$dtransf[2]-$dtransf[1]-$dtransf[0]";//echo $data;echo $nome; //pegar matricula $query_matricula = mysqli_query($conexao,"SELECT matricula FROM usuario where nome = '$nome'") or die("ERROR" .mysqli_error()); $row = mysqli_fetch_assoc($query_matricula); $numero_matricula = $row['matricula']; echo $row['matricula'];?> Código do html: <html> <form name="formColeta" method="post" action="cadastrar_dia_coleta.php"> <select name="nomeusuario"> <option value=""> </option> <?php $sql = "select nome from usuario;"; $result = mysqli_query($conexao, $sql); while($linha = mysqli_fetch_assoc($result)): ?> <option value=" <?php echo $linha['nome']; ?> "> <?php echo $linha['nome']; ?> </option> <?php endwhile; ?> </select> </form> </html Compartilhar este post Link para o post Compartilhar em outros sites
Fernando C 128 Denunciar post Postado Dezembro 9, 2015 oi.. tente dar um submit no select; 1 bem simples: <select name="nomeusuario" onchange="submit(nomeusuario.value)"> Compartilhar este post Link para o post Compartilhar em outros sites
juliaa 0 Denunciar post Postado Dezembro 9, 2015 Fernando, tentei adicionar o sobmit, porém continua com o mesmo erro. a váriavel está pegando o valor do select corretamente, mas na hora de comparar com o banco de dados ela não reconhece como se fosse igual. dessa foma funciona //pegar matricula $query_matricula = mysqli_query($conexao,"SELECT matricula FROM usuario where nome = 'Maria'") or die("ERROR" .mysqli_error()); $row = mysqli_fetch_assoc($query_matricula); $numero_matricula = $row['matricula']; echo $row['matricula']; dessa forma não funciona //pegar matricula $query_matricula = mysqli_query($conexao,"SELECT matricula FROM usuario where nome = '$nome'") or die("ERROR" .mysqli_error()); $row = mysqli_fetch_assoc($query_matricula); $numero_matricula = $row['matricula']; echo $row['matricula']; Compartilhar este post Link para o post Compartilhar em outros sites
Fernando C 128 Denunciar post Postado Dezembro 10, 2015 oi.. tem razão.. testei aqui e deu esse "bug" também..(não uso mysqli, prefiro PDO pq é independente do SGBD).bom, se ainda n resolveu, 1 solução q encontrei foi recuperar os ids E os nomes da tabela na 1ª sql e passar o "id" como parâmetro na 2ª sql..a 1ª sql fica assim: $sql = "select id, nome from usuario;"; select: <option value=" <?php echo $linha['id']; ?> "> <?php echo $linha['nome']; ?> </option> 2ª sql: $query_matricula = mysqli_query($conexao,"SELECT matricula FROM usuario where id = '$nome'") or exit(mysqli_error($conexao)); sugiro que aproveite e troque a mensagem de erro; essa q postei é melhor,retirada daqui:http://forum.imasters.com.br/topic/542539-atencao-orientacoes-e-regras-do-forum-de-php/ Compartilhar este post Link para o post Compartilhar em outros sites
juliaa 0 Denunciar post Postado Dezembro 10, 2015 Tentei utilizar uma função para tratar espaços em branco nos valores vindos do banco de dados e funcionou, adicionai o : $nome_projeto = trim($_POST['nomeprojeto']); obrigada pela atenção Compartilhar este post Link para o post Compartilhar em outros sites
Lord_Rato 4 Denunciar post Postado Dezembro 10, 2015 Fernando, tentei adicionar o sobmit, porém continua com o mesmo erro. a váriavel está pegando o valor do select corretamente, mas na hora de comparar com o banco de dados ela não reconhece como se fosse igual. dessa foma funciona //pegar matricula $query_matricula = mysqli_query($conexao,"SELECT matricula FROM usuario where nome = 'Maria'") or die("ERROR" .mysqli_error()); $row = mysqli_fetch_assoc($query_matricula); $numero_matricula = $row['matricula']; echo $row['matricula']; dessa forma não funciona //pegar matricula $query_matricula = mysqli_query($conexao,"SELECT matricula FROM usuario where nome = '$nome'") or die("ERROR" .mysqli_error()); $row = mysqli_fetch_assoc($query_matricula); $numero_matricula = $row['matricula']; echo $row['matricula']; Faz assim, coloca a string da query pra uma variável concatenando com a variável utilizada na consulta ex: $query = "SELECT matricula FROM usuario where nome = ' " . $nome . " ' ; " ; Depois vc executa a query com o mysqli_query: $query_matricula = mysqli_query($conexao,$query); Acreito que vai funcionar. Compartilhar este post Link para o post Compartilhar em outros sites