Ir para conteúdo

POWERED BY:

Arquivado

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

eu_Nana

[Resolvido] Inserindo ID

Recommended Posts

Olá Pessoal,

 

Estou tendo um problema na hora de inserir Ids no BD, tenho o seguinte:

 

1º- Tenho um form que exibe em um select os nomes dos alunos selecionados para realizar alguns cursos, e mais quatro selects onde a pessoa seleciona a oficina q ela pretende realizar de acordo com a prioridade q ela quer...até ae td certo.....preciso buscar o idoficinas na tabela oficinas e inserir na tabela participantes_has_oficinas....porém da forma q fiz ou ele pega todos os ids....pois na tabela oficinas....tenho 6 oficinas q são exibidas em todos os 4 selects.....só na hora da inserção só 4 ids devem ser inserirdos....já q tenho só 4 selects.....vejam os códigos abaixo....

 

form.php

<form action="insere_oficinas.php" method="post">

<table width="100%" border="0">
  <tr>
    <td colspan="5"> </td>
    </tr>
  <tr>
    <td colspan="5" align="center">
    Selecione seu nome:
    <select name="nome" id="nome">
        <option value="Selecione">Selecione</option>

		<? 
		
		$ok = $_POST['ok'];
/*** Consulta do idparticipantes e nome dos participantes existentes e mostrar na caixa select ***/
		$sql_nomes= "SELECT idparticipantes, nome from participantes where ok='1' order by nome asc";
		$resultado = mysql_query($sql_nomes) or die (mysql_error());
		 echo $resultado;
		while($linha=mysql_fetch_array($resultado))
		  {
				echo $linha["nome"];
				echo("<option>" .$linha["nome"]."</option>");
			}
			
/***********************************************************************/				
?>
    </select>    </td>
    </tr>
  <tr>
    <td colspan="2"> </td>
    <td colspan="3"> </td>
  </tr>
  <tr>
    <td colspan="5">
    	 </td>
    </tr>
  
  <tr>
    <td colspan="5"> </td>
    </tr>
  <tr>
    <td width="8%">1º -</td>
    <td width="48%"><select name="titulo" id="titulo">
    	<option value="Selecione">Selecione</option>
      <? 
		
		
/*** Consulta do idparticipantes e nome dos participantes existentes e mostrar na caixa select ***/
		$sql_oficinas= "SELECT idoficinas, titulo from oficinas order by titulo asc";
		$res = mysql_query($sql_oficinas) or die (mysql_error());
		 echo $res;
		 echo $sql_oficinas;
		while($row=mysql_fetch_array($res))
		  {
				echo $row["titulo"];
				echo("<option>" .$row["titulo"]."</option>");
			}
			
/***********************************************************************/				
?>
    </select></td>
    <td width="22%">
<select name="professor1" id="professor1">
      <option value="Selecione">Selecione</option>
      <? 
		/******************************************************************* 
			Consulta do idparticipantes e nome dos participantes existentes
		********************************************************************/
		$sql_oficinas1= "SELECT idoficinas, professor from oficinas order by professor asc";
		$res1 = mysql_query($sql_oficinas1) or die (mysql_error());
		echo $res;
		while($row1=mysql_fetch_array($res1))
		  {
				echo $row1["professor"];
				echo("<option>" .$row1["professor"]."</option>");
			}
			
/***********************************************************************/				
?>
</select>
</td>
    <td colspan="2"> </td>
  </tr>
  <tr>
    <td>2º - </td>
    <td>
<select name="titulo" id="titulo">
       <option value="Selecione">Selecione</option>
      <? 
/*** Consulta do idparticipantes e nome dos participantes existentes e mostrar na caixa select ***/
		$sql_oficinas= "SELECT idoficinas, titulo from oficinas order by titulo asc";
		$res = mysql_query($sql_oficinas) or die (mysql_error());
		 echo $res;
		while($row=mysql_fetch_array($res))
		  {
				echo $row["titulo"];
				echo("<option>" .$row["titulo"]."</option>");
			}
			
/***********************************************************************/				
?>
</select>    </td>
    <td>
      <select name="professor2" id="professor2">
        <option value="Selecione">Selecione</option>
      <? 
		/******************************************************************* 
			Consulta do idparticipantes e nome dos participantes existentes
		********************************************************************/
		$sql_oficinas3= "SELECT idoficinas, professor from oficinas order by professor asc";
		$res3 = mysql_query($sql_oficinas3) or die (mysql_error());
		echo $res3;
		while($row3=mysql_fetch_array($res3))
		  {
				echo $row3["professor"];
				echo("<option>" .$row3["professor"]."</option>");
			}
			
/***********************************************************************/				
?>
      </select>    </td>
    <td colspan="2"> </td>
  </tr>
  <tr>
    <td>3º - </td>
    <td>
<select name="titulo" id="titulo">
    <option value="Selecione">Selecione</option>
      <? 
/*** Consulta do idparticipantes e nome dos participantes existentes e mostrar na caixa select ***/
		$sql_oficinas= "SELECT idoficinas, titulo from oficinas order by titulo asc";
		$res = mysql_query($sql_oficinas) or die (mysql_error());
		 echo $res;
		while($row=mysql_fetch_array($res))
		  {
				echo $row["titulo"];
				echo("<option>" .$row["titulo"]."</option>");
			}
			
/***********************************************************************/				
?>
</select>
</td>
    <td>
      <select name="professores3" id="professores3">
        <option value="Selecione">Selecione</option>
      <? 
		/******************************************************************* 
			Consulta do idparticipantes e nome dos participantes existentes
		********************************************************************/
		$sql_oficinas= "SELECT idoficinas, professor from oficinas order by professor asc";
		$res = mysql_query($sql_oficinas) or die (mysql_error());
		echo $res;
		while($row=mysql_fetch_array($res))
		  {
				echo $row["professor"];
				echo("<option>" .$row["professor"]."</option>");
			}
			
/***********************************************************************/				
?>
      </select>    </td>
    <td colspan="2"> </td>
  </tr>
  <tr>
    <td>4º - </td>
    <td>
    	<SELECT NAME="titulo" id="titulo">
           <option value="Selecione">Selecione</option>
      <? 
/*** Consulta do idparticipantes e nome dos participantes existentes e mostrar na caixa select ***/
		$sql_oficinas= "SELECT idoficinas, titulo from oficinas order by titulo asc";
		$res = mysql_query($sql_oficinas) or die (mysql_error());
		 echo $res;
		while($row=mysql_fetch_array($res))
		  {
				echo $row["titulo"];
				echo("<option>" .$row["titulo"]."</option>");
			}
			
/***********************************************************************/				
?>
</select>
</td>
    <td>
    <select name="professores4" id="professores4">
        <option value="Selecione">Selecione</option>
      <? 
		/******************************************************************* 
			Consulta do idparticipantes e nome dos participantes existentes
		********************************************************************/
		$sql_oficinas7= "SELECT idoficinas, professor from oficinas order by professor asc";
		$res7 = mysql_query($sql_oficinas7) or die (mysql_error());
		echo $res7;
		while($row7=mysql_fetch_array($res7))
		  {
				echo $row7["professor"];
				echo("<option>" .$row7["professor"]."</option>");
			}
			
/***********************************************************************/				
?>
      </select>     </td>
    <td width="12%"> </td>
    <td width="10%"> </td>
  </tr>
  <tr>
    <td colspan="2"> </td>
    <td> </td>
    <td colspan="2"><input type="submit" name="button" id="button" value="Enviar" /></td>
  </tr>
</table>

</form>

insere.php

<?php
   include "include/conexao.php";

	$nome    = $_POST['nome'];
	$titulo1   = $_POST['titulo'];
	echo $titulo1;
	$titulo2   = $_POST['titulo2'];
	$oficina3 = $_POST['oficina3'];
	$oficina4 = $_POST['oficina4'];
	
	$professor1 = $_POST['professor'];
	$professor2 = $_POST['professor2'];
	$professores3 = $_POST['professores3'];
	$professores4 = $_POST['professores4'];
	
	/*$horario1 = $_POST['horario'];
	$horario2 = $_POST['horario2'];
	$horario3 = $_POST['horario3'];
	$horario4 = $_POST['horario4'];*/
	
	/*--------------------------------------------------
	  Seleciona o idparticipantes de participantes 
	---------------------------------------------------*/
	$consulta_idparticipantes = "SELECT idparticipantes from participantes where nome=" . "\"" . $nome . "\"";
	$result1 = mysql_query($consulta_idparticipantes) or die (mysql_error());
	echo $nome;

	while($sql_part=mysql_fetch_array($result1))
	{
		$idparticipantes = $sql_part['idparticipantes'];
	}
	
	/*--------------------------------------------------
	      Seleciona o idoficinas da tabela oficinas 
	---------------------------------------------------*/
	$consulta_idoficinas = "SELECT idoficinas from oficinas";
	$res_idoficinas = mysql_query($consulta_idoficinas) or die (mysql_error());
	
	while($sql_idoficina = mysql_fetch_array($res_idoficinas))
	{
		$ids[] = $sql_idoficina['idoficinas'];
		echo $ids;
	}	    	    
    
	foreach($ids as $a){
		
		$sql5 = "INSERT INTO participantes_has_oficinas VALUES('$idparticipantes','$a','1')";								   		
		$rs5  = mysql_query($sql5,$con) or die (mysql_error());
	}  
    $msg = "Cliente CADASTRADO com sucesso";
	
	echo "<meta HTTP-EQUIV='Refresh' CONTENT='0;URL=mensagens.php?msg=$msg'>";	
    mysql_close($con);
?>

Eu preciso buscar na tabela oficinas os ids só das oficinas q selecionei nos 4 selects do form....ele insere todos os ids .....ou pega apenas o ultimo id da oficina q selecionei....oq fiz de errado....?

Compartilhar este post


Link para o post
Compartilhar em outros sites

 $consulta_idoficinas = "SELECT idoficinas from oficinas";
        $res_idoficinas = mysql_query($consulta_idoficinas) or die (mysql_error());
        
        while($sql_idoficina = mysql_fetch_array($res_idoficinas))
        {
                $ids[] = $sql_idoficina['idoficinas'];
                echo $ids;
        }                   
    
        foreach($ids as $a){
                
                $sql5 = "INSERT INTO participantes_has_oficinas VALUES('$idparticipantes','$a','1')";                                                                           
                $rs5  = mysql_query($sql5,$con) or die (mysql_error());
        }  

Nesse select você ta pegando todos os ids:

$consulta_idoficinas = "SELECT idoficinas from oficinas";

 

você tem que por como condição 'WHERE', somente os ids das oficinas que você escolheu no form.

 

 

Mas você nao precisaria disso, porque se a oficina tiver um código unico, nao precisa de você fazer o select e pegar os mesmos ids entende.

Porque você vai estar fazendo assim:

 

select id where id = 3
Qual id ele vai pegar ? o 3.

 

=)

 

A nao ser que você esteja fazendo isso para nao ter que fazer 4 inserts e sim usar o foreach.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então a minha dúvida é como por essa condição.....tenho 4 selects....teria q fazer 4 insert desse jeito neh.......por isso usei o foreach.....esta errado? Pode me dar uma luz....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quais são os 4 selects no qual você precisa deles para inserir ?

 

Só uma Observação, você tem 3 selects com o mesmo nome no formulário.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quais são os 4 selects no qual você precisa deles para inserir ?

 

Só uma Observação, você tem 3 selects com o mesmo nome no formulário.

 

 

esses 4 q esta abaixo...segue só os selects.....o código completo esta acima....

 

<select name="titulo" id="titulo">
        <option value="Selecione">Selecione</option>
      <? 
                
                
/*** Consulta do idparticipantes e nome dos participantes existentes e mostrar na caixa select ***/
                $sql_oficinas= "SELECT idoficinas, titulo from oficinas order by titulo asc";
                $res = mysql_query($sql_oficinas) or die (mysql_error());
                 echo $res;
                 echo $sql_oficinas;
                while($row=mysql_fetch_array($res))
                  {
                                echo $row["titulo"];
                                echo("<option>" .$row["titulo"]."</option>");
                        }
                        
/***********************************************************************/                               
?>
    </select>

<select name="titulo" id="titulo">
       <option value="Selecione">Selecione</option>
      <? 
/*** Consulta do idparticipantes e nome dos participantes existentes e mostrar na caixa select ***/
                $sql_oficinas= "SELECT idoficinas, titulo from oficinas order by titulo asc";
                $res = mysql_query($sql_oficinas) or die (mysql_error());
                 echo $res;
                while($row=mysql_fetch_array($res))
                  {
                                echo $row["titulo"];
                                echo("<option>" .$row["titulo"]."</option>");
                        }
                        
/***********************************************************************/                               
?>

<select name="titulo" id="titulo">
    <option value="Selecione">Selecione</option>
      <? 
/*** Consulta do idparticipantes e nome dos participantes existentes e mostrar na caixa select ***/
                $sql_oficinas= "SELECT idoficinas, titulo from oficinas order by titulo asc";
                $res = mysql_query($sql_oficinas) or die (mysql_error());
                 echo $res;
                while($row=mysql_fetch_array($res))
                  {
                                echo $row["titulo"];
                                echo("<option>" .$row["titulo"]."</option>");
                        }
                        
/***********************************************************************/                               
?>
</select>


<SELECT NAME="titulo" id="titulo">
           <option value="Selecione">Selecione</option>
      <? 
/*** Consulta do idparticipantes e nome dos participantes existentes e mostrar na caixa select ***/
                $sql_oficinas= "SELECT idoficinas, titulo from oficinas order by titulo asc";
                $res = mysql_query($sql_oficinas) or die (mysql_error());
                 echo $res;
                while($row=mysql_fetch_array($res))
                  {
                                echo $row["titulo"];
                                echo("<option>" .$row["titulo"]."</option>");
                        }
                        
/***********************************************************************/                               
?>
</select>
<input type="submit" name="button" id="button" value="Enviar" />
</form>

Então....eu já alterei os nomes de cada select...só q qnd vou inserir ele só insere o ultimo id da oficina selecionada...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nos selects acima você colocou os nomes deles como titulo para todos.

tem que ser diferentes.

Depois no PHP você pega

 

$id1 = $_POST['select1'];
$id2 = $_POST['select2'];
$id3 = $_POST['select3'];
$id4 = $_POST['select4'];

$sql1 = "INSERT INTO participantes_has_oficinas VALUES('$idparticipantes','$id1','1')";
$sql2 = "INSERT INTO participantes_has_oficinas VALUES('$idparticipantes','$id2','1')";
$sql3 = "INSERT INTO participantes_has_oficinas VALUES('$idparticipantes','$id3','1')";
$sql4 = "INSERT INTO participantes_has_oficinas VALUES('$idparticipantes','$id4','1')";

// executa eles

Compartilhar este post


Link para o post
Compartilhar em outros sites

vou fazer aqui....e volto a postar.....

 

Nao

 

 

Deu certo.....da forma q você sugeriu......deixa perguntar mais uma coisa.... uma outra coisa q não to conseguindo fazer.... lá no insert se você perceber tem o idparticipante, o idoficina e um valor='1' esse valor é a prioridade com q a pessoa quer fazer o curso.....lá no select do form.....o 1º select seria prioridade 1, o 2º select prioridade 2.....assim por diante.....como faço para pegar esse valor de prioridade lá do select e inserir tb na msm tabela no BD....?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu acharia melhor você criar outro select ou outra coisa que a pessoa escolhesse a prioridade que ela quer.

<select name='prioridade'>
   <option value='1'> Prioridade 1 </option>
   <option value='2'> Prioridade 2 </option>
   <option value='3'> Prioridade 3 </option>
</select>

Dae no PHP você pegava: $_POST['prioridade'];

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.