Guilherme014 Postado Fevereiro 23, 2005 Denunciar Share Postado Fevereiro 23, 2005 estou tentando fazer una função o que ela terá de fazer: OBS = O que esta de vermelho esta tranquilo e os de azul são as minha dúvidas1º - ela lerá todos os dados de uma tabela...2º - ela trará consigo todos os dados e gravará en un array3º - logo depois ela ira pegar dado a dado deste array e receberá os dados das variáveis do form.4º - depois pegarás os dados das variaveis e da array e gravar numa determinada tabela.5º - Excluir esta array6º - Exibir as mensagens adequadasse alguém puder me ajudar beleza... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 lemissel Postado Fevereiro 23, 2005 Denunciar Share Postado Fevereiro 23, 2005 posta ae o q tu já fez pra gente dar uma olhadinha... e testa pegando normalmente, tu estás buscando no bd, coloca um laço depois, e atribui as variáveis com um índice "dinâmico" (o incrementador do laço), então tu manda gravar na tabela tu quer, ae tu toca um unset no array e acho q funciona... faz o teste...http://br2.php.net/manual/pt_BR/function.unset.phpDá uma olhada em array_splice tb, achoq é bem interessandte pro teu cod...http://br2.php.net/manual/pt_BR/function.array-splice.php Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guilherme014 Postado Fevereiro 23, 2005 Autor Denunciar Share Postado Fevereiro 23, 2005 include("../login/funcoes.php");include("../login/conexao.php");conexao_mysql($host,$user,$pass,$db_padrao);function gravar_tabela(Não sei o que ponho aqui) {//Esta variavel tabela virá de outro form, vindo de um post, eu não sei se ponho aqui ou ponho ali en cina aonde esta vermelho $tabela = $_POST['tabela']; $buscar_tipotabela = mysql_query("SELECT tt_tabela FROM tipoxtabelas WHERE tt_tabela='$tabela'") or die (mysql_error()); $tipostabelas = mysql_num_rows($buscar_tipotabela); if ($tipostabelas < 0) { echo "Não foi possível completar a gravação desdes dados por falta de campos nesta tabela !!!"; exit(); } else { //este campo de azul em baixo, é o mesmo id para todas as tabelas. $contartabela = mysql_query("SELECT count(id) FROM $tabela") or die (mysql_error()); $contar = mysql_num_rows($contartabela); echo "$contar";// no caso so esta paracendo 1 e no caso a tabela tem 49 campos for ($a=0;$a<count($contar);$a++)//tambem estou com duvidas, mas o ensamento é que este contador volta com o numeros de tabelas, aqui no caso as 49 e a query insert vai fazer a inserlção dos 49 itens da tabela... { $tipo_tabela = mysql_query("INSERT INTO $tabela () VALUES ()") or die (mysql_error());/// daqui para frente ainda estou com duvidas, porque não sei o que fazer em questão de como jogar os valores das variveis aqui e se pode ser feito... exemplo campo 1 = cod = 50, campo2 = nome = lápis e assim vai... }}se não entender eu repito passo a passo. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 lemissel Postado Fevereiro 23, 2005 Denunciar Share Postado Fevereiro 23, 2005 Tua função vai receber algum parâmetro??? Digamos que tu a chame sem precisar envair nada pra ela interpretar, então tu n precisa colcoar nada onde tá em vermelho...Quanto ao $_POST, pode deixar como está mesmo, porque ele é global...n saquei coeh desse tu id aqui$contartabela = mysql_query("SELECT count(id) FROM $tabela") or die (mysql_error()); Essa linha aqui, tu colocaste só pra ex ou tu vai tentar inserir nada em nada mesmo??? $tipo_tabela = mysql_query("INSERT INTO $tabela () VALUES ()") or die (mysql_error()); /// daqui para frente ainda estou com duvidas, porque não sei o que fazer em questão de como jogar os valores das variveis aqui e se pode ser feito... exemplo campo 1 = cod = 50, campo2 = nome = lápis e assim vai... Já me explica como q funciona esse teu array ae...ve se to no mesmo pensamento?=nomedocampo=valorNome do campo é o "título" da tua coluna na tabela??? E o q é o campo 1...??? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guilherme014 Postado Fevereiro 23, 2005 Autor Denunciar Share Postado Fevereiro 23, 2005 campo 1 = cod = 50 - aqui fala que o campo 1 é contator desta tabela........Tua função vai receber algum parâmetro??? Digamos que tu a chame sem precisar envair nada pra ela interpretar, então tu n precisa colcoar nada onde tá em vermelho...Quanto ao $_POST, pode deixar como está mesmo, porque ele é global...sim ela vai recebert o parametro $tabela e $idn saquei coeh desse tu id aqui$contartabela = mysql_query("SELECT count(id) FROM $tabela") or die (mysql_error());como esta função receberá todas as funções de gravar tabela quando o usuário clicar em gravar, ela contaria quantos campos da tabela, isto é, a tabela de nota_fiscal tem 50 campos, para ser usado neste forfor ($a=0;$a<count($contar);$a++)//tambem estou com duvidas, mas o ensamento é que este contador volta com o numeros de tabelas, aqui no caso as 49 e a query insert vai fazer a inserlção dos 49 itens da tabela...{$tipo_tabela = mysql_query("INSERT INTO $tabela () VALUES ()") or die (mysql_error());/// daqui para frente ainda estou com duvidas, porque não sei o que fazer em questão de como jogar os valores das variveis aqui e se pode ser feito... exemplo campo 1 = cod = 50, campo2 = nome = lápis e assim vai...}no caso esta linha estaá vazia porque eu não o que colocar aonde está de azul....,$tipo_tabela = mysql_query("INSERT INTO $tabela (aqui) VALUES (aqui)") or die (mysql_error());se por acaso eu não estiver explicado direito ou se você não entendeu pode perguntar novamente que eu vou te explicar passo a passo..... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 lemissel Postado Fevereiro 23, 2005 Denunciar Share Postado Fevereiro 23, 2005 brother, dá uma lida nso comentários, e me diz como q tá aestrutura do teu bd e o q tu quer inserir na tabela... q campos??? saca???n copia o cód q n vai funcionar ainda heheh foram só uns retoques malucos <?php /* Se tu estás pegando as vars $tabela e $id de um formulário, n precisa nada de parâmetro porque o array _POST é global, funçiona em qualquer lugar do cód, se n, se por algum motivo tu precisar dizer qual é a var, chama assim function gravar_tabela($tabela, $id) { //tem q chamar assim, gravar_tabela("nomedatabela","iddamesma"); ou com vars... e apaga/comenta a linha $tabela = $_POST['tabela']; */ function gravar_tabela() { conexao_mysql($host,$user,$pass,$db_padrao); //conecta no bd $tabela = $_POST['tabela']; $id= $_POST['id']; $buscar_tipotabela = mysql_query("SELECT tt_tabela FROM tipoxtabelas WHERE tt_tabela='$tabela'") or die (mysql_error()); $tipostabelas = mysql_num_rows($buscar_tipotabela); if ($tipostabelas < 0) {//filtro echo "Não foi possível completar a gravação desdes dados por falta de campos nesta tabela !!!"; exit(); } else { $contartabela = mysql_query("SELECT count($id) FROM $tabela") or die (mysql_error()); $contar = mysql_num_rows($contartabela); echo "$contar";// no caso so esta paracendo 1 e no caso a tabela tem 49 campos for ($a=0;$a<count($contar);$a++)//count() é pra contar array (conta o nº de elementos, se n for array só tem um sempre), $contar n é um array { $tipo_tabela = mysql_query("INSERT INTO $tabela () VALUES ()") or die (mysql_error()); //cara, eu ainda n entendi esse teu exemplo campo 1 = cod = 50, campo2 = nome = lápis e assim vai... } } ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guilherme014 Postado Fevereiro 23, 2005 Autor Denunciar Share Postado Fevereiro 23, 2005 antes de mais nada valeu mesmo....brother, dá uma lida nso comentários, e me diz como q tá aestrutura do teu bd e o q tu quer inserir na tabela... q campos??? saca???n copia o cód q n vai funcionar ainda heheh foram só uns retoques malucos não precisa preocupar não eu ainda não vou copia-lo..dois exemplos de como estão minhas tabelas, não sei sé é isso que você quer....----------------------------------------------------------|1º - NOTA FISCAL | 2º - PRODUTO ||--------------------------------------------------------|| nf_cod | pr_cod ||--------------------------------------------------------|| nf_numero | pr_preco ||--------------------------------------------------------|| nf_cpfcnpj | pr_valor ||--------------------------------------------------------|| nf_nomefantasia | pr_nome ||--------------------------------------------------------|| .......... | ...... | ---------------------------------------------------------|e assim vai......elas saun un pouco grande, a de nota fiscal tem +- 50 campos e de produtos tem +- 20o que vou inserir na tabela, Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 lemissel Postado Fevereiro 23, 2005 Denunciar Share Postado Fevereiro 23, 2005 (editado) bha meu velho deu um tilt aqui no setor pensante, o tico pego umas vars do teco e eles se pegaram afuuu.. hehheCara as soluções q eu encontrei no momento (programando desde as 8:00 hehhe a caxola tá fundida):1. se forem poucas tabelas, salvar onome dos campos em um array(um para cada tabela...)2. base de dados... uma nova tabelinha id pra lá, id pra cá...por enquanto n tive nenhuma idéia magnífica, mas se tiver algo melhor do q isso eu posto aqui certo???ps.: n vo me esqueçer, porque agora fiquei encucado c a coisa hehehe viro desafio hiuahiuhahiuahiuhaiEDITANDOcara dá uma mão ae, os neorônios pararam de brigar... se alguém souber de uma funçao q retorne o nome dos campos a da tabela, ajuda pra caramba acho q deve ter alguma q retorne em um array por exemplo: $var['nome_do_campo']['valor']; dae tu passa um foreach nesse array e tá td resolvido... eu ainda n achei, mas to procurando qualquer coisa edito again... Editado Fevereiro 23, 2005 por lemissel Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guilherme014 Postado Fevereiro 23, 2005 Autor Denunciar Share Postado Fevereiro 23, 2005 não esquenta não que eu tambem fico assim de manha delhpi e a tarde PHP e a noite faculdadeolha só como coloqueiinclude("funcoes.php"); include("conexao.php"); conexao_mysql($host,$user,$pass,$db_padrao); $id = 'nf_cod'; $tabela = 'nota_fiscal'; $tipo_tabela = mysql_query("SELECT * FROM $tabela") or die (mysql_error()); $dados = mysql_fetch_assoc($tipo_tabela); for($i;$i<$dados;$i++) { $sql = mysql_query("INSERT INTO $tabela VALUES ($dados['campo'])") or die (mysql_error()); }só que deu este erro.....Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in c:\apache\htdocs\asn_industrial\class\gravar_dados.php on line 10 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 lemissel Postado Fevereiro 23, 2005 Denunciar Share Postado Fevereiro 23, 2005 quando acontece isso, geralmente uma var ou um ponto e vírgula n exite...eu n achei nenhum ; faltando, v as tuas vars.. e essa linha tá faltando cosia$sql = mysql_query("INSERT INTO $tabela (/*aqui tem q ter os nomes dos campsos*/) VALUES ($dados['campo'])") or die (mysql_error());eu tava bolando um esquema aqui parecido, mas tu já te ligo em qunatas consultas o scriptb vai fazer no bd??? vai enloquece o server...while($resp=mysql_fetch_array($query)){ //retorna dados do db foreach($resp as $indice => $valor){ mysql_query("INSERT INTO $tabela ('".$indice."') VALUES ('".$valor."')"); } }da uma pesquisada em mysql_fetch_array($query,'MYSQL_BOTH') http://br2.php.net/manual/pt_BR/ref.mysql.php tb q acho q pode ajudar...e eu ainda to encucado, se tu conseguir psota ae tb por favor heheh eu vo tentando aqui... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guilherme014 Postado Fevereiro 23, 2005 Autor Denunciar Share Postado Fevereiro 23, 2005 quando acontece isso, geralmente uma var ou um ponto e vírgula n exite...eu n achei nenhum ; faltando, v as tuas vars.. e essa linha tá faltando cosia$sql = mysql_query("INSERT INTO $tabela (/*aqui tem q ter os nomes dos campsos*/) VALUES ($dados['campo'])") or die (mysql_error());eu tava bolando um esquema aqui parecido, mas tu já te ligo em qunatas consultas o scriptb vai fazer no bd??? vai enloquece o server...while($resp=mysql_fetch_array($query)){ //retorna dados do db foreach($resp as $indice => $valor){ mysql_query("INSERT INTO $tabela ('".$indice."') VALUES ('".$valor."')"); } }da uma pesquisada em mysql_fetch_array($query,'MYSQL_BOTH') http://br2.php.net/manual/pt_BR/ref.mysql.php tb q acho q pode ajudar...e eu ainda to encucado, se tu conseguir psota ae tb por favor heheh eu vo tentando aqui... $sql = mysql_query("INSERT INTO $tabela (/*aqui tem q ter os nomes dos campsos*/) VALUES ($dados['campo])") or die (mysql_error());em questão da parte azul de cima, é que vao ser dom mesmo que as values Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guilherme014
estou tentando fazer una função o que ela terá de fazer:
OBS = O que esta de vermelho esta tranquilo e os de azul são as minha dúvidas
1º - ela lerá todos os dados de uma tabela...
2º - ela trará consigo todos os dados e gravará en un array
3º - logo depois ela ira pegar dado a dado deste array e receberá os dados das variáveis do form.
4º - depois pegarás os dados das variaveis e da array e gravar numa determinada tabela.
5º - Excluir esta array
6º - Exibir as mensagens adequadas
se alguém puder me ajudar beleza...
Link para o comentário
Compartilhar em outros sites
10 respostass a esta questão
Posts Recomendados
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.