Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS

Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 237
Localização: Florianópolis/SC
Contato:

INSERT, inserindo dados usando while-each

03-08-2009 18:27

Blz galera, seguinte, estou com uma duvida, tenho um sistema com vários formularios, todos enviam para mesma pagina.php, esta pagina faz as ações no banco de dados.

estou usando esta função para mostrar os dados enviados pelos form via POST

reset ($_POST); //aponta pro primeiro valor do array while (list ($chave, $valor) = each ($_POST)) { echo "<br>$chave => $valor"; //mostra os nomes dos campos e o valor enviado. }

com este código, eu posso enviar qualquer formulario que ele mostra os dados recebidos.
Entao, como inserir isto no banco de dados?? de forma rapida?

hoje eu uso um esquema assim:
$sql = "INSERT INTO produto VALUES (NULL,'$produto','$fornecedor','$preco_custo','$lucro','$preco_venda','$codusuario',NOW() ) ";

tem como inserir de forma otimizada? usando algo como o each ou while?

valeu!
0
MIDZ.com.br
http://www.midz.com.br
Soluções Web
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17246
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

INSERT, inserindo dados usando while-each

03-08-2009 18:42

Não tá faltando os names dos campos que receberam os valores no INSERT? E todos os forms mandam sempre os valores para mesma tabela?
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 237
Localização: Florianópolis/SC
Contato:

INSERT, inserindo dados usando while-each

03-08-2009 22:35

os nomes dos campos só é necessário se vc quiser definir quais campos recebem tal valor, no jeito que mostrei de exemplo, os valores estao na ordem dos campos na tabela, entao nao preciso dizer quais os campos.

mas no meu caso, como sao vários forms, vou precisar sim dizer quais são os campos, no form eu posso usar o mesmo nome do campo na tabela pra facilitar.

então eu precisava mesmo é um jeito de inserir estes dados, sem utilizar aquela duzia de $valor = $_POST['campo'];
0
MIDZ.com.br
http://www.midz.com.br
Soluções Web
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17246
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

INSERT, inserindo dados usando while-each

03-08-2009 22:40

Um modo que seria viável seria usar array, assim você pegava a ordem dos campos e aproveitaria os valores.

Por exemplo, antes de while você criaria

$valores = array();

Dentro do while você jogaria cada valor como sendo um índice do array.

$valores[] = $valor;

Ai fora do while você pegaria cada índice para usar no INSERT

$valores[0], $valores[1], $valores[2]...
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 237
Localização: Florianópolis/SC
Contato:

INSERT, inserindo dados usando while-each

03-08-2009 23:03

Cara, olha que show, vasculhando ai pelo forum, achei este script de um colega.

http://www.codigosnaweb.com/forum/Class ... _2595.html

que em um momento ele criou uma função de INSERT com arrays, ai com esta sua dica de como criar os arrays, ficou facil. veja como ficou

reset ($_POST); $chaves = array(); $valores = array(); while (list ($chave, $valor) = each ($_POST)) { echo "<br>$chave => $valor"; $chaves[] = $chave; $valores[] = $valor; } $comando = "INSERT INTO tabela (".implode(', ', $chaves).") VALUES ('" . implode('\', \'', $valores) . "')"; echo $comando;

o echo $comando é so pra ver como ficou o codigo, claro, depois usamos o
mysql_query ($comando)

valeu galera, muito bom!!
0
MIDZ.com.br
http://www.midz.com.br
Soluções Web
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 237
Localização: Florianópolis/SC
Contato:

INSERT, inserindo dados usando while-each

03-08-2009 23:08

ops, desculpa a duplicidade no post, mas vai aqui outra dica.

Na tabelas usamos campos automaticos, como um auto_increment, ou um campo date,datetime,timestamp. entao enviamos o valor "NULL" e o sistema insere os valores automaticamentes, entao podemos fazer isto

eu uso o ID no primeiro campo, um valor auto_increment, entao sei que ele é o array[0], o primeiro array.
$valores[0]="NULL";

depois é so trocar o numero dentro dos "[ x ]" pra editar o $valores,
0
MIDZ.com.br
http://www.midz.com.br
Soluções Web
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17246
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

INSERT, inserindo dados usando while-each

03-08-2009 23:11

Vlw, boa dica :arrow
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado