Jump to content
Sign in to follow this  
andrepcg

verificar POST de um form e inserir em BD

Recommended Posts

andrepcg

Tenho um codigo php que separa as linhas de uma caixa de texto e interpreta cada linha.

eu queria que cada linha fosse verificada quanto à sua validade e depois inserida em BD.

basicamente seria assim: SE a linha estiver OK, então insere na BD, SE estiver mal, NÃO insere e passa à proxima linha.

queria que me ajudassem a criar uma funçao para a verificação de cada linha.

obrigado


Manda piadas secas por telefone - Piadas.secas.club

Share this post


Link to post
Share on other sites
andrepcg

ok, essa parte do Estar OK é feita por mim mas vai verificar a linha e se já existir na base de dados, passa à linha seguinte.

mas já agora, peço ajuda tambem nessa parte de checkar a base de dados para confirmar se nao existe nenhum.

o Estar mal tem a ver com a verificação de uma hash e se nao corresponder aos parametros, não é inserida e passamos à seguinte.

SE a linha não existir na base de dados e se for verificada (segundo os meus parametros), então insere e passamos à linha seguinte. SE a linha está verificada e existir na BD, então NÃO insere na BD e passa à linha seguinte

já nao trabalho com php há muito tempo e estou um bocado enferrujado. se nao for pedir muito, gostava que me ensinassem tambem a contar as linhas que foram inseridas na BD de modo que "De um total de 50 linhas (faz explode à lista atraves de \n e conta), 4 foram inseridas"


Manda piadas secas por telefone - Piadas.secas.club

Share this post


Link to post
Share on other sites
Caya

Pouco ou nada percebi do que precisas, mas cá vai a minha tentativa:

foreach ($linhas as $linha) {
   $result = // vai buscar a db um registo igual a essa tal linha
   if (!$result) {
      if ($linha == 'estar ok') {
         //insere linha na db
      }
   }
}

Share this post


Link to post
Share on other sites
andrepcg

percebendo ou não, conseguiste ajudar-me :D

mais 2 coisas por agora.

1) o meu form está a enviar info linha a linha mas se deixarmos linhas em branco, ele interpreta essas linhas. como é que posso fazer para remover todas as linhas em branco do POST?

2) gostava que me ensinassem tambem a contar as linhas que foram inseridas na BD de modo que "De um total de 50 linhas (faz explode à lista atraves de "\n" e conta-as), 4 foram inseridas"


Manda piadas secas por telefone - Piadas.secas.club

Share this post


Link to post
Share on other sites
Caya

Mas o que são essas linhas? São várias caixas de texto dentro dum formulário? É uma textarea com várias linhas?

Share this post


Link to post
Share on other sites
Caya
// relativamente ao teu ponto 1, provavelmente há formas mais simples de o fazer, mas esta foi a primeira que me veio à cabeça
$temp = explode('\n', $_POST['textarea']);
$linhas = array();
foreach ($temp as $linha) {
   if (!empty($linha)) {
      $linhas[] = $linha;
   }
}
$total = 0;
foreach ($linhas as $linha) {
   $result = // vai buscar a db um registo igual a essa tal linha
   if (!$result) {
      if ($linha == 'estar ok') {
         $total++; // o $total vai ficar com o numero total de linhas inseridas
         //insere linha na db
      }
   }
}

Share this post


Link to post
Share on other sites
andrepcg

nao consegui por usar a tua maneira de remover espaços.

estava a usar esta

function removeEmptyLines($string){
return preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $string);
}

depois usava a funçao no $_POST e supostamente removia as linhas em branco. mas nao está a funcionar muito bem, pois nao as remove todas. tento colocar linhas brancas no inicio, no fim, pelo meio e nunca as consegue remover todas. se conseguires optimizar esta função...


Manda piadas secas por telefone - Piadas.secas.club

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.