** RESOLVIDO ** Gerar sequencia de numeros

Pessoal bom dia.
Estou com a necessidade, o usuário irá digitar o número de inicio, termino e quantidade a ser criada.
ex: campo numero inicio: 1100
campo numero termino: 1109
no banco de dados o campo numero recebe inicio e termino, assim que clicar em incluir no form.

No FORM criei os campos inicio e termino.

Fui no onValidateSuccess e coloquei:

if (sc_btn_insert){
$term= {termino};

for ($ini = {inicio};$ini <=$term;$ini++){
{numero}=$ini;
}
}

Mas o problema é que não esta criando os números no BD, poderia me ajudar?

vichi nossa , mais errado que isso impossível…

vamos fazer assim

coloca aqui o nome da tabela e coluna que vai receber os números vai ser sequencia certo , tipo a tabela na coluna vai receber varias linhas com a sequencia de números certo??

te dou um exemplo de cara

[code]if (sc_btn_insert){
$term= {termino};

for ($ini = {inicio};$ini <=$term;$ini++){
$sql = “INSERT INTO tbl_numeros (sequencia) VALUES ($ini)”;
sc_exec_sql($sql);
}
}[/code]

William boa tarde.

Muito obrigado pelo apoio, deu certinho, como você descreveu.

if (sc_btn_insert){
$term= {termino};

for ($ini = {inicio};$ini <=$term;$ini++){
$sql = “INSERT INTO tbl_numeros (numero) VALUES ($ini)”;
sc_exec_sql($sql);
}
}

Agora estou com uma dificuldade, para não cadastrar números que já existem, mas estou verificando as possibilidades e revendo os manuais e informações, caso tenha alguma informação para passar agradeço muito.

Outra coisa, esta sendo acrescentado os números 1100 a 1199 e também o numero 0, como faço para tirar o zero hein?

como assim zero não entendi. explique melhor

Bom neste caso pode sobre carregar um pouco o processo e fazer um SQL verificador antes

if (sc_btn_insert){
$term= {termino};

for ($ini = {inicio};$ini <=$term;$ini++){
    $sql_verificador = "SELECT COUNT(*) FROM tbl_numeros WHERE numero = $ini";
    sc_lookup(ds_ver,$sql_verificador );
    if({ds_ver[0][0]} == 0){
        $sql = "INSERT INTO tbl_numeros (numero) VALUES ($ini)";
         sc_exec_sql($sql);
    }
    
 }
}

uma questão simples de Logica

Willian, bom dia.
Muito obrigado, quanto ao zero, quando crio a sequencia 100 a 110 é criado mais um no final.
100,101,102,103,104,105,106,107,108,109,110,0.

vou alterar para while e ver o que acontece.

Olha esta imagem para exemplificar o que esta acontecendo

é criado um valor em branco

Mais alguém já passou por isso?

coloca o código que tu ta usando completo

Prezado Willian, muito obrigado pelo apoio.
Segue o código utilizado conforme imagem acima.

if (sc_btn_insert)
{
$ter={termino};

for ($ini={inicio}; $ini <= $ter; $ini++){

$sql = "INSERT INTO tb_ramais (ramais) VALUES ($ini)";
     sc_exec_sql($sql);
}

}

Faz assim agora para fazer uma depuração mais refinada


if (sc_btn_insert)
{ 
$ter={termino};   

echo "TERMINO = $ter".'\r\n';

$ini={inicio};

echo "INICIO= $ini".'\r\n';

for ($inicio=$ini; $inicio<= $ter; $inicio++){

      echo "INTERATOR = $inicio".'\r\n';

   $sql = "INSERT INTO tb_ramais (ramais) VALUES ($inicio)";
        sc_exec_sql($sql);
   }
}


Depois ponha aqui o resultado que sai na tela

Resultado foi este:

TERMINO = 1110\r\nINICIO= 1100\r\nINTERATOR = 1100\r\nINTERATOR = 1101\r\n

Atenção Fechar
Erro ao acessar o banco de dados
Duplicate entry ‘1100’ for key ‘PRIMARY’

View SQL

Ola willian viu alguma coisa

Celso bom dia,

Você apagou os registros da tabela pra poder executar o teste? O erro se dá porque o registro já existe…

Duplicate entry ‘1100’ for key ‘PRIMARY’

Kleber e Jailton boa tarde.

Apaguei sim, na verdade ele esta criando um campo em branco, vou alterar e posto aqui, muito obrigado pelo apoio.

Boa tarde.

ficou assim:
TERMINO = 1110
INICIO= 1100
INTERATOR = 1100
INTERATOR = 1101
INTERATOR = 1102
INTERATOR = 1103
INTERATOR = 1104
INTERATOR = 1105
INTERATOR = 1106
INTERATOR = 1107
INTERATOR = 1108
INTERATOR = 1109
INTERATOR = 1110

Mas no banco gravou assim:

O campo id 12 - esta em branco e não sei por que ele esta sendo criado

Tem coisa errada aí. Faça o seguinte teste: Apague os registros da tabela e teste com este código:

if (sc_btn_insert)
{
$ter={termino};   

echo "TERMINO = $ter".'\r\n';

$ini={inicio};

echo "INICIO= $ini".'\r\n';

for ($v_inicio=$ini; $v_inicio<= $ter; $v_inicio++){

      echo "INTERATOR = $v_inicio".'\r\n';

   $sql = "INSERT INTO tb_ramais (ramais) VALUES ($v_inicio)";
        sc_exec_sql($sql);
   }
}

por favor faça um select dessa tabela via SQL e mostre o resultado

select * from tb_ramais

Kleyber, boa noite o resultado foi o cadastro dos números 1100 a 1110 e o ultimo registo no banco esta em branco.

Willian, boa noite efetuei e sai isso os 11 registros + 1 no sql builder;
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110

1 - 12