Ir para conteúdo
Fórum Script Brasil
  • 0

Erro De Sintax


Guest - Pedro Paulo -

Pergunta

Guest - Pedro Paulo -

Oi pessoal !

Sou um tanto bisonho em PHP e estou tendo dificuldades para escrever um script que grave em um DB(MySQL) apenas os campos gerados. Fiz esse script :

<?php

$cnt=mysql_connect("host","login","senha");

for($i=1;$i<=$it;$i++){

$sql"."$i="insert into tabela (campo1,campo2,campo3) values ('$dado"."$i','$end"."$i','$cep"."$i')";

mysql_db_query("Banco",$sql"."$i);

}

mysql_close($cnt);

?>

Só que ta dando erro de sintax e eu não sei mais onde mudar . Já tentei aspas simples, duplas, triplas, parenteses mas não resolveu. Será que alguém teria uma idéia de onde pode estar o erro ou se é o script inteiro que tá errado ? Lembrando que a variavel "$it" é carregada via formulario de acordo com a quantidade de campos que foram gerados.

Agradeço desde já a atenção !

Pedro Paulo

http://www.nulo.kit.net

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0
Guest - Pedro Paulo -

Oi M@luco !

Assim funciona só que o usuario pode criar dinâmicamente os campos $dados1,$dados2,...$dadosn. E é por isso que eu tava usando o "for". Preciso bolar um jeito que façao script detectar quantos campos foram gerados. Com o script abaixo:

<?php

$conn=mysql_connect("host","login","senha");

$sql='$sql';

$cod='$cod';

for($i=1;$i<=$it;$i++){

$nsql="$sql$i";

$ncod="$cod"."$i";

$nsql="insert into tabela (campo1) values ('$dados"."$i')";

mysql_db_query("Banco",$nsql);

}

mysql_close($conn);

?>

Ele chega a gravar no banco só que invés de gravar os dados do registro ele tá gravando "$dados1,$dados2,...$dadosn" e na verdade ele tinha que gravar o conteudo.

Grato pela atenção !

Pedro Paulo

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - Pedro Paulo -

Os campos são criados dinâmicamente e ficam com nome de "dados1".

Funciona assim o usuario clica no item que ele quer comprar digita a quantidade e clica em "incluir" nesse momento é gerado dinâmicamente na tela do formulario os campos "dados1,end1,cep1" se ele escolher outro item e clicar novamente em "incluir" vai gerar novos campos só que agora com os nomes "dados2,end2,cep2" e assim sucessivamente sendo que ele tem um limite de até 100 campos. O problema que se eu definir no script a gravação dos 100 campos vai virar uma bomba o meu banco e é por isso que eu estou tentando fazer com que ele só grave os campos que foram criados e o maior problema de todos é que eu sou bisonho em PHP por isso estou apanhando. Não sei dizer se o "for" é a melhor maneira mas é a unica que eu conheço em PHP. Teria alguma maneira de fazer ele gravar apenas os campos que foram criados sem ter que ser com o "for".

Agradeço a atenção !

Pedro Paulo

Link para o comentário
Compartilhar em outros sites

  • 0

ahn...não testei aqui, pode ser q funcione e pode ser q não funcione

<?php
$cnt=mysql_connect("host","login","senha");
for($i=1;$i<=$it;$i++){
$sql = "insert into tabela (campo1,campo2,campo3) values ('$dado$i','$end$i','$cep$i')";
mysql_db_query("Banco",$sql);
}
mysql_close($cnt);
?>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...