Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]tworzenie zapytania na podstawie ciągu
ghastblood
post
Post #1





Grupa: Zarejestrowani
Postów: 360
Pomógł: 12
Dołączył: 17.09.2009
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Witam mam taki problem mam taki kod


  1. $baza = file($dir.'/'.$plik_nazwa);
  2. foreach($baza as $linia)
  3. {
  4. $t = explode(".", chop($linia));
  5. echo '<pre>';
  6. print_r($t);
  7. }



  1. KOWALSKI.Jan.97
  2. SZYMCZAK.Krzysztof.96


na podstawie ciągu z pliku txt generuje mi tablice



  1. Array
  2. (
  3. [0] => KOWALSKI
  4. [1] => Jan
  5. [2] => 97
  6. )
  7. Array
  8. (
  9. [0] => SZYMCZAK
  10. [1] => Krzysztof
  11. [2] => 96
  12. )


i jak wyniki takiej tablicy dodać do mysql
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #2





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


  1. INSERT INTO tablica (nazwy_pol) VALUES (wartosci_pol)
Go to the top of the page
+Quote Post
Arcioch
post
Post #3





Grupa: Zarejestrowani
Postów: 324
Pomógł: 110
Dołączył: 18.09.2012

Ostrzeżenie: (0%)
-----


Musisz wstawić inserta tam gdzie masz teraz printa (IMG:style_emoticons/default/wink.gif) Czyli robisz tak:
  1. $baza = file($dir.'/'.$plik_nazwa);
  2. foreach($baza as $linia)
  3. {
  4. $t = explode(".", chop($linia));
  5.  
  6. INSERT INTO tablica (nazwy_pol) VALUES ($t[0], $t[1], $t[2])
  7. }
Go to the top of the page
+Quote Post
ghastblood
post
Post #4





Grupa: Zarejestrowani
Postów: 360
Pomógł: 12
Dołączył: 17.09.2009
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


dzięki mam teraz taki kod

  1. <?php
  2. require_once "core.php";
  3.  
  4. echo '<?xml version="1.0" encoding="iso-8859-2"?>';
  5. ?>
  6. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-
  7. transitional.dtd">
  8. <html>
  9. <head>
  10. <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
  11. <title>Upload</title>
  12. </head>
  13. <body>
  14. <?php
  15. if(isset($_SESSION['zalogowany'])) {
  16. }else{
  17. header('location: login.php');
  18. }
  19.  
  20. // Zapytania MySQL
  21. $dodaj = dbquery("INSERT INTO users_file (user_file_name, user_file_add_date) VALUES ('".$_FILES['plik']['name']."', '".date("Y-m-d")."')");
  22. $zawody = dbquery("SELECT id_zawodow, nazwa_zawodow FROM zawody");
  23.  
  24. // Zminne
  25. $dir = "upload/".$_SESSION['login'];
  26.  
  27. // Kod Strony
  28.  
  29. if(file_exists($dir)){
  30. } else{
  31. mkdir($dir, 0777);
  32. }
  33.  
  34. $plik_tmp = $_FILES['plik']['tmp_name'];
  35. $plik_nazwa = $_FILES['plik']['name'];
  36. $plik_rozmiar = $_FILES['plik']['size'];
  37. if(file_exists($dir."/".$plik_nazwa)){
  38. echo 'plik o podanej nazwie istnieje';
  39. } else{
  40. if(is_uploaded_file($plik_tmp)) {
  41. move_uploaded_file($plik_tmp, "$dir/$plik_nazwa");
  42.  
  43. $dodaj;
  44.  
  45. echo "Plik: <strong>$plik_nazwa</strong> o rozmiarze
  46. <strong>$plik_rozmiar bajtów</strong> został przesłany na serwer!";
  47. }
  48. }
  49. echo '<form enctype="multipart/form-data" action="dodawanie.php" method="POST">';
  50. echo '<select name="zawody">';
  51. while($r = dbarray($zawody)){
  52. echo '<option value="'.$r[id_zawodow].'">'.$r['nazwa_zawodow'].'</option>';
  53. }
  54. echo '</select>';
  55. echo '<br />';
  56. echo '<select name="konkurencja">';
  57. echo '<option value="Vetterli">Vetterli</option>';
  58. echo '</select>';
  59. echo '<br />';
  60. echo '<input type="hidden" name="MAX_FILE_SIZE" value="50000" />';
  61. echo '<input name="plik" type="file" />';
  62. echo '<br />';
  63. echo '<input type="submit" value="Wyślij plik" />';
  64. echo '</form>';
  65.  
  66. $baza = file($dir.'/'.$plik_nazwa);
  67. foreach($baza as $linia)
  68. {
  69. $t = explode(".", chop($linia));
  70. $sql = ("INSERT INTO wyniki (id_zaw, konkurencja, nazwisko, imie, wynik, przestrzeliny, milimetry) VALUES (".$_POST['zawody'].",
  71. '".$_POST['konkurencja']."', '".$t[0]."', '".$t[1]."', '".$t[2]."', '".$t[3]."', '".$t[4]."')") or die(mysql_error());
  72. $result = mysql_query($sql) or die(mysql_error());
  73. }
  74.  
  75. unlink($dir.'/'.$plik_nazwa);
  76.  
  77. ?>


ale niestety nie dodaje mi do bazy danych nazwisk z polskimi znakami.

np jak jest Bańkowski to dodaje mi tylko Ba
a jak jest nazwisko na Ż to nic mi nie dodaje.
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #5





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


  1. // Zapytania MySQL
  2. dbquery("SET NAMES utf8");
  3. dbquery("SET CHARACTER SET utf8");
  4. $dodaj = dbquery("INSERT INTO users_file (user_file_name, user_file_add_date) VALUES ('".$_FILES['plik']['name']."', '".date("Y-m-d")."')");
  5. $zawody = dbquery("SELECT id_zawodow, nazwa_zawodow FROM zawody");


Poza tym czy baza danych ma ustawione kodowanie na UTF-8?
Go to the top of the page
+Quote Post
ghastblood
post
Post #6





Grupa: Zarejestrowani
Postów: 360
Pomógł: 12
Dołączył: 17.09.2009
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


tak kodowanie w mysql jest na utf-8

niestety dodanie
  1. dbquery("SET NAMES utf8");
  2. dbquery("SET CHARACTER SET utf8");

nic nie zmienia
Go to the top of the page
+Quote Post
Arcioch
post
Post #7





Grupa: Zarejestrowani
Postów: 324
Pomógł: 110
Dołączył: 18.09.2012

Ostrzeżenie: (0%)
-----


Sprawdź w jakim kodowaniu jest plik który otwierasz przez php (IMG:style_emoticons/default/smile.gif) pewnie jest to plik txt w ANSI co może powodować krzaczki (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
ghastblood
post
Post #8





Grupa: Zarejestrowani
Postów: 360
Pomógł: 12
Dołączył: 17.09.2009
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


tak jest to plik txt jak to naprawić?
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #9





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Otwierasz notatnikiem: Plik -> zapisz jako... -> ustawiasz kodowanie utf-8 i zapisujesz.
Go to the top of the page
+Quote Post
Arcioch
post
Post #10





Grupa: Zarejestrowani
Postów: 324
Pomógł: 110
Dołączył: 18.09.2012

Ostrzeżenie: (0%)
-----


B4rt3kk to rozwiązanie mija się z celem (IMG:style_emoticons/default/wink.gif) Ktoś wrzuca plik txt na serwer a admin musi wejść i zmienić jego kodowanie (IMG:style_emoticons/default/wink.gif) Jak dla mnie to funkcja iconv (IMG:style_emoticons/default/wink.gif)

Ten post edytował Arcioch 3.10.2012, 13:21:17
Go to the top of the page
+Quote Post
ghastblood
post
Post #11





Grupa: Zarejestrowani
Postów: 360
Pomógł: 12
Dołączył: 17.09.2009
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


hmmm teraz mam ?URAKOWSKI kodowanie txt utf-8 kodowanie mysql utf-8
Go to the top of the page
+Quote Post
Arcioch
post
Post #12





Grupa: Zarejestrowani
Postów: 324
Pomógł: 110
Dołączył: 18.09.2012

Ostrzeżenie: (0%)
-----


Dalej krzaczy? Wrzuć gdzieś plik który wrzucasz potem do bazy. Pokaż jakie znaki na jakie zamienia. Kodowanie w pliku to utf8 bez bom?
Go to the top of the page
+Quote Post
ghastblood
post
Post #13





Grupa: Zarejestrowani
Postów: 360
Pomógł: 12
Dołączył: 17.09.2009
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


udało mi sie przez to te 2 linie mi krzaczyło

  1. dbquery("SET NAMES utf8");
  2. dbquery("SET CHARACTER SET utf8");


teraz chula jak ta lala
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 21:36