Jump to content


Photo

Insert While Post


  • Faça o login para participar
6 replies to this topic

#1 darken

darken

    12 Horas

  • Usuários
  • 135 posts
  • Sexo:Não informado

Posted 24/11/2007, 13:46

Eae pessoa.
Seguinte tenho uma pagina que faz um select no banco e exibi todos produtos cadastrado
e ele exibi assim como mostra a imagem abaixo

Attached File  insert.JPG   29.57KB   19 downloads

Como vcs podem ver ele exibou vários produtos ja com os valores que não poderar ser alterado
ai bom cada vendendor vai entra nessa pagina e colocar os prçeos de suas proposta e ela ira ficar cadastrabndo no banco quero saber como que faço para inserir isso de uma vez so ou seja o vendendor entyra ai e coloca preços em cada produto e envia os dados e vai para um registro já pois usei o insert mais so inseri o primeiro dado tentei inserir pelo while tambem num tem jeito alguem pode da uma força ai?
vlw

#2 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 24/11/2007, 21:35

Pra darmos uma força, tu vai ter que dar outra para traduzirmos a pergunta! :blink:

[]’s :unsure: Até mais

#3 cassiano designer

cassiano designer

    Normal

  • Usuários
  • 108 posts
  • Sexo:Masculino
  • Localidade:São Mateus - ES

Posted 24/11/2007, 22:12

Pra darmos uma força, tu vai ter que dar outra para traduzirmos a pergunta!

realmente, ta um pouco confusa a pergunta...
##### "O seu maior desafio é se aprimorar para ser... você mesmo!" #####
CASSIANODESIGNER.COM - Desenvolvimento Web

#4 ωιℓℓιαи

ωιℓℓιαи

    Turista

  • Usuários
  • 27 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro - RJ

Posted 25/11/2007, 21:45

seguinte, na página de ação, ou seja, na página que tem o código de inserção no banco de dados, você deve fazer assim:

$insere1 = "INSERT INTO nome_tabela (produto, marca, quantidade, preco, data_atual) VALUES ("produto1","marca1","quantidade1","preco1","23/11/2007");

$insere2 = "INSERT INTO nome_tabela (produto, marca, quantidade, preco, data_atual) VALUES ("produto2","marca2","quantidade2","preco2","23/11/2007");
quantos forem necessários, ou você pode usar um for:

for ($x = 0; $x <= 10; $x++) {
$insere = "INSERT INTO nome_tabela (produto, marca, quantidade, preco, data_atual) VALUES ("produto".$x."","marca".$x."","quantidade".$x."","preco".$x."","data");
}
dentro do insert esse [x] é o id do campo no form, e akele 10 lah em cima no for eh a quantidade de itens que serão enviados.
basicamente é isso.
se eu tiver falado alguma bobagem, me corrijam por favor.

~ Homens nascem ignorantes, não estúpidos. Se tornam estúpidos por educação.
Willian Ribeiro

#5 savior

savior

    Campanha [codebox], use ou morra :D

  • Usuários
  • 1229 posts
  • Sexo:Masculino
  • Localidade:Curitiba, PR - Brasil
  • Interesses:Na vida ;P

Posted 26/11/2007, 10:01

@ωιℓℓιαи

esse código vai sobrecarregar o servidor...

O meu é "mais melhor de bão":
Na hora que dá o submit do form
$SQL = "INSERT INTO `produtos` (nome, marca, qnt, preco, data) VALUES ";
for ($i = 0; $i < count($_POST['nome']); $i++) {
	  $SQL .= "(" .  $_POST['nome'][$i] . "," .  $_POST['marca'][$i] . "," .  $_POST['qnt'][$i] . "," .  $_POST['preco'][$i] . "," .  $_POST['data'][$i] . ")" . (($i > 0) ? : "," : "");
}

Desta maneira cria um multiple insert de uma query só (escrevi na pressa, pode estar faltando alguma pontuação da sintaxe :unsure:

@darken
Espero que seja isso que procuras ;)
Um exemplo para você estudar, afinal o objetivo daqui é aprendizado (ok2)

[]'s

Edição feita por: savior, 26/11/2007, 10:02.

[lastfm] [blog]

Campanha codebox: use-a ou morra!
bfmaster_duran[at]yahoo.com.br


#6 Dudu

Dudu

    Viva la vida

  • Usuários
  • 1437 posts
  • Sexo:Masculino
  • Localidade:Uberlândia - MG
  • Interesses:PHP

Posted 26/11/2007, 15:21

Savior, a lógica do seu tá certo, mas como estava com pressa, faltaram algumas aspas simples para strings na query :D.

Outro erro foi na hora da verificação do $i.
Veja:

(($i > 0) ? : "," : "");


O que o primeiro : tá fazendo ali?
Acontece sempre comigo quando to com pressa :D
Faz parte...


$SQL = "INSERT INTO `produtos` (nome, marca, qnt, preco, data) VALUES ";
for ($i = 0; $i < count($_POST['nome']); $i++) {
	  $SQL .= "('" . $_POST['nome'][$i] . "', '" . $_POST['marca'][$i] . "', " . $_POST['qnt'][$i] . ", '" . $_POST['preco'][$i] . "')" . (($i > 0) ? "," : null);
}

Acho que assim daria certo.
Qualquer dúvida ou erro, poste.

PS: Estou com pressa também, rsrsrs. :D

Até mais ^_^

Edição feita por: _Dudu_1533, 26/11/2007, 15:21.

Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Moderador


Twitter: HostCheap


#7 darken

darken

    12 Horas

  • Usuários
  • 135 posts
  • Sexo:Não informado

Posted 08/12/2007, 23:23

Vlew a todoas mais achei uma solução mais rapido e melhor dentro do while que useui para exibir e usei o insert tambem hehe vlw ai




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq