1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Duvida em SQL

Discussão em 'Web Development' iniciada por The Dealer, 8 de Maio de 2009. (Respostas: 9; Visualizações: 693)

  1. The Dealer

    The Dealer Power Member

    Preciso de fazer o update de um campo (chave) de uma tabela Dados(numero,(...), chave) do tipo varchar, através do upload de um ficheiro .txt.

    Para tal, estou a utilizar o seguinte query

    PHP:
    $sql "LOAD DATA INFILE '$target' REPLACE INTO TABLE Dados(Chave);
    O problema é que como é a opção de um determinado elemento (que tem um numero só dele), pretendo que apenas o seu respectivo campo seja alterado. Para tal precisava de adicionar algo como uma clausula,

    Código:
     WHERE Numero = '".$_SESSION['username']."'";
    Mas pelo LOAD DATA INFILE, penso que não seja possível conciliar essa sintaxe (sem o WHERE cria-me um registo novo tabela com os campos todos a DEFAULT e o chave com o conteudo do ficheiro, e com dá-me erro de sintaxe).

    Será que me poderiam ajudar?

    EDIT: Acrescentei SET Numero = '".$_SESSION['username']."'"; (em vez do WHERE), e acrescentou outro registo numero (o que passa na variavel de sessão)...
     
    Última edição: 8 de Maio de 2009
  2. geoblast

    geoblast Power Member

    Olá,

    Já verificas-te no MySQL se tem a solução para o teu problema?
     
  3. The Dealer

    The Dealer Power Member

    Já estou à imenso tempo a olhar para essa página, até agora sem sucesso, daí vir aqui procurar a vossa ajuda.
     
  4. Exemplo:

    $sql = mysql_query(" UPDATE tabela SET numero='$numero', target='$target' WHERE campo='$campo' ");

    penso k algo deste tipo servirá.
     
  5. The Dealer

    The Dealer Power Member

    e vou buscar os dados ao ficheiro como ?
     
  6. ups, pensava que querias substituir o ficheiro da base de dados, em relação a retirar informações do mesmo, já tenho um tópico criado não muito tempo antes do teu a perguntar o mesmo onde já deram umas dicas podes ir lá ver, lol.
     
  7. The Dealer

    The Dealer Power Member

    Ficheiros Word e Excel são ficheiros binários é completamente diferente. Requer uso de um parser.
     
  8. Desculpa a ignorancia de novato mas o que é um parser?
     
  9. The Dealer

    The Dealer Power Member

    Não sou a melhor pessoa para te responder a essa pergunta tecnicamente, mas vejamos: imagina um ficheiro .txt. Tu abres e visualizas perfeitamente o conteudo. Agora imagina um ficheiro binário.dat (não vale criar um .txt e alterar-lhe a extensão). Faças o que fizeres não consegues visualizar correctamente o conteudo, tudo o que conseguirás ver é "uma data de gatafunhos".

    Ora se ficheiros .doc e .xls são binário, tu tecnicamente não deverias conseguir abrir estes ficheiros (experimenta abrir um destes ficheiros com o notepad vai ver o que acontece). Daí entrar o parser, o parser integrado (no word ou excel), vai interpretar o binário dos ficheiros, e transformá-lo em conteudo "visualizavel".

    Agora tu podes fazer um parser em PHP (existe até um ou mais na net). Eu pessoalmente nunca consegui por a funcionar um parser de .xls correctamente, mas se tu o conseguires, vens aqui dizer :P
     
  10. Tasse, vou tentar, se eu conseguir eu posto aki como fiz ;)
     

Partilhar esta Página