uses the uniqueid
function of PHP, something like:
$dados2 = connection::select('SELECT * FROM tab1');
$contagem=0;
foreach ($dados2 as $reg) {
$campo1 = $reg['campo1'];
$campo2 = $reg['campo2'];
$contagem++;
}
$sequencia_aleatoria=rand(0,$contagem);
connection::exec("insert into tab2(campo1,campo2,sequencia_aleatoria) values('$campo1','$campo2','$sequencia_aleatoria')");
The function uniqid()
generates a hash based on the milliseconds so there is no possibility of repetition
I think your code would look like this:
$dados2 = connection::select('SELECT * FROM tab1');
$numero=count(dados2);
foreach ($dados2 as $reg) {
$campo1 = $reg['campo1'];
$campo2 = $reg['campo2'];
$sequencia_aleatoria=rand(0,$numero);
connection::exec("insert into tab2(campo1,campo2,sequencia_aleatoria) values('$campo1','$campo2','$sequencia_aleatoria')");
unset($sequencia_aleatoria);
}
Turn this on!
<?php
$contagem=420; // aqui iioria o count($resultado);
for($i=0;$i<=$contagem;$i++){
echo rand(0,$contagem)."<br>";
}
?>
the logic is the same and it is rolling.
Test online here
link
instead of doing a foreach make a for
$dados2 = connection::select('SELECT * FROM tab1');
$numero=count(dados2);
for($i=0;$i<$numero;i++) {
$reg=$dados2[$i];
$campo1 = $reg['campo1'];
$campo2 = $reg['campo2'];
$sequencia_aleatoria=rand(0,$numero);
connection::exec("insert into tab2(campo1,campo2,sequencia_aleatoria) values('$campo1','$campo2','$sequencia_aleatoria')");
unset($sequencia_aleatoria);
}