Ir para conteúdo

POWERED BY:

Arquivado

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

LucasouzaRJ

inserir varias vezes

Recommended Posts

Pessoal, alguem pode me ajudar no código de como fazer a seguinte situação:

 

Tenho um formulario, que em um determinado campo o usuário digita um numero de pessoas que vai estar em um determinado local, e abaixo tem um campo text onde seriam entrados os nomes destas pessoas e um botão para incluir até que seja igual ao numero digitado anteriormente. Porém não sei fazer isto funcionar, já li alguns tópicos de insert mas não consegui adaptar e fazer funcionar no formulario.

 

agradeço a quem puder ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual a dúvida? A parte de gerar o formulário de forma automática ou como pegar os valores depois?

 

Caso seja a primeira, usa javascript. Tem um exemplo aqui (é de upload mas a lógica é a mesma).

 

Acho que para a segunda também responde ali.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

O código é esse, mas não funfa! se puderem me ajudar, agradeço.

 

 

<td>

<label class='form_field'>Tripulação:</label>  

<input type='text' name='nm_trip' size='80' maxlength='80' value=''>

  

<?

if ($trip < $pax) {

echo"<input type='submit' value='Incluir'>";

$sql = "INSERT INTO tripulacao (id_requisicao ,nm_tripulacao) VALUES ('$num_req', '$nm_trip')";

$query = mysql_query($sql);

$trip = $trip + 1;

}

?>

</td>

Compartilhar este post


Link para o post
Compartilhar em outros sites

já, inclusive estou tentando de outra maneira, mas para variar não esta funcionando.

 

criei a function:

 

function incluitrip() {

$nm_trip = $_POST['nm_trip'];

$num_req = $_POST['num_req'];

# ===— Monto o comando SQL que faz a inserção no banco de dados

$sql = "INSERT INTO tripulacao (id_requisicao, nm_tripulacao) VALUES ('$num_req', '$nm_trip')";

# ===— Executando o SQL

$sql = mysql_query($sql);

if($sql){

echo 'incluido';

} else {

echo 'Ops.. ocorreu algum erro: ('.mysql_errno().') - '.mysql_error();

}

}

 

e no html:

 

<td>

<label class='form_field'>Tripulação:</label>  

<input type='text' name='nm_trip' size='80' maxlength='80' value=''/>

  

<?

if ($trip < $pax) {

echo"<input type='submit' value='Incluir' onclick='incluitrip()'/>";

$trip ++;

}

?>

</td>

inclusive o $trip tb não está funcionando, ele fica sempre com zero.

desculpem se estiver errado, mas estou desvendando o php agora e na base do le e tenta. Confesso que ainda está muito dificil para mim, mas eu chego lá, principalmente porque sei que posso contar com a experiencia dos usuários do forum.

 

grato a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você colocou no seu codigo:

if ($trip < $pax) {

mais qual é o valor de $trip e $pax? Eles nao estao definidos. $num_req = $_POST['num_req']; nao esta sendo enviado pelo formulario e tambem você tentou chamar uma funcao php pelo js.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rafael,

 

$pax e $num_req são farte do form (eu não coloquei ele todo) e estão funcionando e com valores que eu já chequei atraves do echo (valores 3 e 2).

O $trio é para ser a variavel que vai controlar a inclusão até que seja igual ao $pax e desculpe pela burrice no js. Antes o código do insert estava detro do if no html, mas também não funcionava. Voce pode me ajudar com o código?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só pra limpar um pouquinho você poderia fazer esta alteração...

 

incluitrip($_POST['nm_trip'], $_POST['num_req']);

function incluitrip($nm_trip,$num_req) {

$sql = "INSERT INTO tripulacao (id_requisicao, nm_tripulacao) VALUES ('$num_req', '$nm_trip')";

$sql = mysql_query($sql);
if($sql){
echo 'incluido';
} else {
echo 'Ops.. ocorreu algum erro: ('.mysql_errno().') - '.mysql_error();
}
}

Agora sobre o código todo... o que você está tentando fazer seria isso...

 

Quantidade de pessoas: [campo de texto] = 5

 

Nome da pessoa 1: [campo de texto]

(se a pessoa digitou 5 no campo quantidade o campo de nome deveria multiplicar-se até a quantidade mencionada)

Nome da pessoa 2: [campo de texto]

Nome da pessoa 3: [campo de texto]

Nome da pessoa 4: [campo de texto]

Nome da pessoa 5: [campo de texto]

 

É isso????

Compartilhar este post


Link para o post
Compartilhar em outros sites

PlebeuSamurai, vou fazer a alteração sugerida,

em relação a sua pergunta,

 

Não, no formulario ha apenas uma linha para colocar o nome da pessoa, o que eu queria fazer é que se for digitado 5 no campo de quantidade, eu habilitasse o botão de incluir (isso já funciona quando o campo é maior que zero) e o usuário pudesse digitar o nome e incluir um a um até o máximo digitado no campo quantidade. No formulário seria um campo só com o botão incluir ao lado e assim eu faria o insert na tabela.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você ja esta guardando o valor de $trip em algum lugar? Vams guardar ele em sessao, coloque session_start(); no comeco do script.

 

function incluitrip() {
$nm_trip = $_POST['nm_trip'];
$num_req = $_POST['num_req'];
# ===- Monto o comando SQL que faz a inserção no banco de dados
$sql = "INSERT INTO tripulacao (id_requisicao, nm_tripulacao) VALUES ('$num_req', '$nm_trip')";
# ===- Executando o SQL
$sql = mysql_query($sql);
if($sql){
echo 'incluido';
} else {
echo 'Ops.. ocorreu algum erro: ('.mysql_errno().') -'.mysql_error();
}
}

<td>
<label class='form_field'>Tripulação:</label>  
<input type='text' name='nm_trip' size='80' maxlength='80' value=''/>
  
<?
if (!$_SESSION['trip']) $_SESSION['trip'] = 0;
if ($_SESSION['trip'] < $pax) {
echo "<input type=\"hidden\" name=\"enviar\" value=\"true\" />";
echo "<input type='submit' value='Incluir' />";
}
if($_POST['enviar']){
incluitrip();
$_SESSION['trip'] += 1;
}
?>
</td>
olhe se é isto que ta querendo

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.