Insert during a defined amount (PHP)

Asked

Viewed 60 times

1

Hello,

Guys, I want an action to be carried out over a certain amount of times defined by a form. For example:

The user chooses 5, then the code Isere 5 records in the database. Since each record should be incremental, for example, if you chose 5, then will record in the field in each of the records sequentially, 1,2,3,4,5.

I imagined starting like this:

$valor_escolhido = "5";

foreach($valor_escolhido as $vlr_esc){
    $insert="INSERT INTO TABELA (campo1,campo2,campo3) VALUES ('$campo1','$campo2', '$valor_escolhido') ";
}

How would that look...?

2 answers

1


If you will insert records at once, sequentially, you can do so:

$valor = array(); // aqui criamos o array com os valore escolhidos
for($x = 1; $x <= $valor_escolhido; $x++){
    $valor[] = $x ; // aqui inserimos os valores
}

$insert="INSERT INTO TABELA (campo1,campo2,campo3) VALUES "; // inicia a string fora do `foreach` 
// abaixo, no foreach você irá concatenar os valores
foreach($valor as $vlr_esc){
   $insert.= "('$campo1','$campo2', '$vlr_esc'),"; // repare que tem uma virgula no final
}
$insert = substr($insert, 0, -1); // aqui você apaga a ultima vírgula

It’s easier this way:

$insert="INSERT INTO TABELA (campo1,campo2,campo3) VALUES "; // inicia a string fora do `foreach` 

// abaixo, no for você irá concatenar os valores
$valor_escolhido = 5;
for($x = 1; $x <= $valor_escolhido; $x++){
    $insert.= "('$campo1','$campo2', '$x'),"; // repare que tem uma virgula no final
}
$insert = substr($insert, 0, -1); // aqui você apaga a ultima vírgula

1

I got it like this:

$nome="Eu";
$quantidade_escolhida="6";
$a="1";

while($a <= $quantidade_escolhida){

    $insert = "INSERT INTO tabela(id,nome) VALUES ('$a','$nome')";
    $rs_insert = mysql_query($insert);  

    $a++;
}//endwhile;
  • So it is also gives Neo. The problem is that this way the server can generate an error to many connections. Because the server may get overloaded if there are more amounts of connection than the server is configured. Caution. =)

  • That’s why I advise you to put the Insert string out of while and go concatenating.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.