Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]tekstowa baza danych
Forum PHP.pl > Forum > Przedszkole
ghastblood
Witam, pracuje nad aplikacją która będzie działała na localhost wolał bym zostsować w niej bazy danych tekstowe żeby nie istalować serwera mysql etc. konkretnie chciał bym zrobić tak że mam przycisk połącz z bazą danych wybieram plik w komputera i wyświetla mi tabele z wynikami

  1. **USTAWIENIA**
  2. NAZWA_ZAWODÓW:|:MIEJSCE_ZAWODÓW:|:POCZĄTEK_ZAWODÓW:|:KONIEC_ZAWODÓW
  3. **KONKURENCJE**
  4. ID:|:NAZWA_KONKURENCJIE:|:TYP_KONKURENCJI
  5. **ZAWODNICY**
  6. ID:|:NAZWISKO:|:IMIE:|:LICENCJA:|:EMIAL
  7. **KONKURENCJE ZAWODNIKÓW**
  8. ID:|:ID_COMP:|:ID_CONT


mój pomysł jak to powinno być odczytywane regexp odszukuje mi poczatek ** i koniec ** tworząc tablice o [A-Z]

czyli dla **ZAWODNICY** powinienem uzuwać tablice ZAWODNICY w której były by informacje o wszystkich zawodnikach
nigdy nie pracowałem na plikach więc zastanawiam się czy mogę przez formularz dodać zawodnika(tzn dodawać ciągi do pliku można) ale chodzi mi o dodanie zawodnika bezpośrednio po ostatnio dodawanym zawodniku.

to tyle jeźeli chodzi o pytania teraz mógł by ktoś pomóc i z tym pregmatchem żeby odszukiwało mi ** A-Z ** bo męczę się z tym i nie idzie mi jakos



viking
I tak musisz postawić serwer PHP (a przynajmniej uruchomić wbudowany) więc co za problem połączyć z SQLite a nie jakieś zawodne pliki tekstowe używać?
http://www.wikihow.com/Enable-SQLite-for-PHP-5.X-in-Windows
PrinceOfPersia
a jeśli nawet, to użycie przenośnego formatu JSON czy XML jest już o niebo lepsze niż wymyślanie własnego (problem z konwersją później).
ghastblood
Dobra padło na sqlite fajnie się na nim pracuje tylko mam problem

zapytanie
  1. SELECT * FROM zawodnik
nie pobiera id zawodnika tylko imie nazwisko alias

id ustawiłem na klucz i dałem auto inc
kujol
Zobacz co Ci zwraca print_r()
ghastblood
kurde nie zauważyłem tego że zwraca mi tablice w taki sposób
  1. [1] => Array
  2. (
  3. [id] =>
  4. [0] => 443
  5. [nazwisko] => eqweqw
  6. [1] => eqweqw
  7. [imie] => eqw
  8. [2] => eqw
  9. [alias] => eqwe
  10. [3] => eqwe
  11. [4] =>
  12. [id_zawodnika] =>
  13. [5] =>
  14. [id_konkurencji] =>
  15. [6] =>
  16. [7] =>
  17. [nazwa] =>
  18. [8] =>
  19. [Typ] =>
  20. [9] =>
  21. )


moje zapytanie i zapis do tablicy

  1. $q = $db->query("SELECT * FROM zawodnik z LEFT JOIN zawodnik_konkurencje zk ON z.id = zk.id_zawodnika LEFT JOIN konkurencje k ON k.id = zk.id_konkurencji");
  2. while($r = $q->fetch()){
  3. $zawodnik[] = $r;
  4. }


jak mogę to porawić ?

  1. $r = $q->fetchall(PDO::FETCH_ASSOC);
wraca tablice bez id

  1. $r = $q->fetchAll(PDO::FETCH_NUM);
zwraca

  1. (
  2. [0] => Array
  3. (
  4. [0] => 442
  5. [1] => 6546456
  6. [2] => rwerwe
  7. [3] => rwertw
  8. [4] =>
  9. [5] =>
  10. [6] =>
  11. [7] =>
  12. [8] =>
  13. [9] =>
  14. )
  15.  
  16. [1] => Array
  17. (
  18. [0] => 443
  19. [1] => eqweqw
  20. [2] => eqw
  21. [3] => eqwe
  22. [4] =>
  23. [5] =>
  24. [6] =>
  25. [7] =>
  26. [8] =>
  27. [9] =>
  28. )
  29.  
  30. )
więc jest nawet dobrze tylko indexy zeby były po nazwie brane

Nikt nie jest w stanie mi pomóc ?
Turson
Zapytanie w PhpMyAdmin zwraca dobre rekordy?

Nie
  1. $r = $q->fetchall(PDO::FETCH_ASSOC);

a
  1. $r = $q->fetchAll(PDO::FETCH_ASSOC);
ghastblood
pracuje na sqlite wiec phpmyadmin odpada. mam zrobione
  1. $r = $q->fetchAll(PDO::FETCH_ASSOC);
i zwraca mi

  1. [0] => Array
  2. (
  3. [id] =>
  4. [nazwisko] => nazwisko
  5. [imie] => imie
  6. [alias] => wild bird
  7. [id_zawodnika] =>
  8. [id_konkurencji] =>
  9. [nazwa] =>
  10. [Typ] =>
  11. )


dalej nie pobiera mi id nie wiem odczego to zalezy jak dam
  1. $r = $q->fetchAll(PDO::FETCH_NUM);
to pobiera id a w innych trybach już nie.
viking
A jak utworzyłeś tabelę? Pokaż skrypt create.
ghastblood
  1. CREATE TABLE [zawodnik] (
  2. [id] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
  3. [nazwisko] VARCHAR(255) NULL,
  4. [imie] VARCHAR(255) NULL,
  5. [alias] VARCHAR(255) NULL
  6. )
Turson
Pracujesz na SQLite z PDO::FETCH_ASSOC. Coś mi tu nie gra albo o czymś nie wiem
ghastblood
Wyświetla mi w phpinfo ze mam zainstalowane. PDO::sqlite3
I w internecie są kursy z taką konstrukcja. Jak robie coś nie tak to proszę o podpowiedź.

PDO
PDO support enabled
PDO drivers mysql, sqlite


pdo_sqlite
PDO Driver for SQLite 3.x enabled
SQLite Library 3.7.7.1

Proszę o jakąś radę bo walcze z tym już pare dni, nie będę ukrywał że trochę mało czasu mi zostało.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.