Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

marcelpsaraiva

Retornar COMBOBOX selecionado da tabela estrangeira

Recommended Posts

Olá pessoal tudo bem ?

 

Pois bem, estou com uma dúvida aqui e gostaria da ajuda de vcs!

Seguinte: eu tenho duas tabelas conforme mostrada na figura

 

bancowe.jpg

 

Na tabela ARQUIVOS, a coluna Plataforma é chave estrangeira, referenciando a coluna ID da tabela PLATAFORMA ... Até ai blz ...

 

 

E em um arquivo php, há um formulário em que pode ser realizada a inserção ou a edição dos dados cadastrados..

 

Gostaria de saber como faço para popular uma combobox com os nomes da coluna NOME na tabela PLATAFORMA, e como faço também para resgatar a combobox selecionada quando for editar o formulário ?!?!?!

 

Segue código abaixo.

<?php    require_once 'config/conexao.class.php';    require_once 'config/crud.class.php';    $con = new conexao();    $con->connect();    @$getId = $_GET['id'];    if(@$getId){        $consulta = mysql_query("SELECT * FROM arquivos WHERE id = + $getId");        $campo = mysql_fetch_array($consulta);    }		$queryPlataforma = mysql_query("SELECT * FROM plataforma");	       if(isset ($_POST['cadastrar'])) {	$nomearquivo = $_POST['nomearquivo'];        $camarquivo = $_FILES['camarquivo'];	$plataforma = $_POST['plataforma'];			//diretório de pasta	$pasta_down = "/downloads/$nomearquivo/";		//se não existir a pasta, será criada uma	if(!file_exists($pasta_down)) {		mkdir($pasta_down);	}	//completa o caminho com o nome do arquivo	$caminhoCompleto = $pasta_down . $camarquivo["name"];			//faz o upload do arquivo	move_uploaded_file($camarquivo["tmp_name"], $caminhoCompleto);			$crud = new crud('arquivos');        $crud->inserir("nomearquivo,camarquivo,plataforma", "'$nomearquivo','$caminhoCompleto','$plataforma'");		        header("Location: Download.php");    }    if(isset ($_POST['editar'])) {        $nomearquivo = $_POST['nomearquivo'];	$camarquivo = $_POST['camarquivo'];	$plataforma = $_POST['plataforma'];		//diretório de pasta	$pasta_down = "downloads/$nomearquivo/";		//se não existir a pasta, será criada uma	if(!file_exists($pasta_down)) {		mkdir($pasta_down);	}			//completa o caminho com o nome do arquivo	$caminhoCompleto = $pasta_down . $camarquivo["name"];		//faz o upload do arquivo	move_uploaded_file($camarquivo["tmp_name"], $caminhoCompleto);		$crud = new crud('arquivos');        $crud->atualizar("nomearquivo='$nomearquivo',camarquivo='$caminhoCompleto',plataforma='$plataforma'","id='$getId'");	        header("Location: Download.php");    }?><!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US"><head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7, IE=9" /><meta name="viewport" content="width=1024" /><title>Downloads</title></head><body><div id="container">	<div id="main">               	<form action="" method="post" enctype="multipart/form-data">       	<fieldset>      		<?php			if(@!$campo['id']) {		?>                 <legend>Adicionar novo arquivo de download</legend>                 <?php } else { ?>       		<legend>Editar arquivo existente</legend>		<?php } ?>                             <div>                 <label>Nome:</label>                 <input type="text" name="nomearquivo" value="<?php echo @$campo['nomearquivo']; ?>" />         </div>         <div>                  <label>Arquivo:</label>                  <input type="file" name="camarquivo" value="<?php echo @$campo['camarquivo']; ?>" />	</div>        <div>         	<label>Plataforma:</label>                <select>                        <option>Selecione...</option>                        <?php// COMO FAÇO PARA POPULAR O COMBOBOX SEM SELEÇÃO NENHUMA NO CASO DE NOVO CADASTRO, E COMO FAÇO PARA POPULAR O COMBOBOX COM O DADO SELECIONADO NO CASO DE EDIÇÃO ????                                   while($dadosPlataforma = mysql_fetch_array($queryPlataforma)){				?>                                              <option value="<?php echo $dadosPlataforma['id'] ?>"><?php echo $dadosPlataforma['nome'] ?></option>			<?php } ?>                                                 </select>	</div>        </fieldset>                        <?php               if(@!$campo['id']) {                         ?>                        <input type="submit" name="cadastrar" value="Adicionar" />              <?php } else { ?>              		<input type="submit" name="editar" value="Editar" />              <?php } ?>	</form>              <br>        	</div></div></body></html><?php $con->disconnect(); ?>

 

Alguém poderia me ajudar neste problema ????

 

 

Sou iniciante em PHP ..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dentro do laço:

 

$sel = ($dadosPlataforma['id'] == $campo['Plataforma'])?'selected=""':'';
<option value="<?php echo $dadosPlataforma['id'] ?>" <?php echo $sel;?>><?php echo $dadosPlataforma['nome'] ?></option>

 

Só verifique se realmente o nome é Plataforma na hora da comparação, porque eu usei como referência o seu "desenho"... uma dica, evite citar que é "iniciante" isso não justifica a preguiça de pensar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dentro do laço:

 

$sel = ($dadosPlataforma['id'] == $campo['Plataforma'])?'selected=""':'';
<option value="<?php echo $dadosPlataforma['id'] ?>" <?php echo $sel;?>><?php echo $dadosPlataforma['nome'] ?></option>

 

Só verifique se realmente o nome é Plataforma na hora da comparação, porque eu usei como referência o seu "desenho"... uma dica, evite citar que é "iniciante" isso não justifica a preguiça de pensar.

 

ESerra, obrigado !! Resolveu a situação acima ...

Sou iniciante em PHP, mas claro, vc tem razão ... A lógica vale para qualquer programação! Obrigado pela dica!

 

Grande abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.