Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Dane w pliku tekstowym a formularz
Forum PHP.pl > Forum > Przedszkole
RedDevil
Witam.
W pliku tekstowym będą dane zawodników, przykładowo:
Kod
10; Wayne; Rooney; 1(id);

Moje pytanie brzmi, jak zrobić formularz [select] w którym do wyboru miałbym wszystkich zawodników ale jako następne opcje wyświetlało się tylko nazwisko. Po wybraniu odpowiedniego kandydata inne dane [imie, numer, id] miałyby być zapamiętane i w odpowiednich miejscach wyświetlone.
np.
Wybieram Rooney a dane wyświetlają się w takich miejscach:
  1. <h1>'numer'</h1><a>'imie' 'nazwisko'</a>
  2. <img src="ścieżka/'id'.png"/>
pedro84
Pobierz dane z pliku do tablicy, a potem już tylko pętlą po niej przejedź i zbuduj select.
RedDevil
Mam taki kod
  1. $filename = "css/db.txt";
  2. $handle = fopen($filename, "r");
  3. $zawodnik = array();
  4. if ($handle) {
  5. while (!feof($handle)) {
  6. $buffer = fgets($handle, 4096);
  7. $zawodnik[]=explode(";", $buffer);
  8. }
  9. fclose($handle);
  10. }
  11. print_r($zawodnik);


plik db.txt
Kod
1;David;De Gea
2;Rafael;da Silva
3;Patrice;Evra
4;Phil;Jones
5;Rio;Ferdinand
6;Jonny;Evans
8;Juan;Mata
10;Wayne;Rooney
11;Ryan;Giggs
12;Chris;Smalling
13;Anders;Lindegaard
14;Javier;Hernandez
15;Nemanja;Vidic
16;Michael;Carrick
17;Luis;Nani
18;Ashley;Young
19;Danny;Welbeck
20;Robin;van Persie
23;Tom;Cleverley
24;Darren;Fletcher
25;Antonio;Valencia
26;Shinji;Kagawa
28;Alexander;Buttner
31;Marouane;Fellaini
44;Adnan;Januzaj


zwraca mi coś takiego [jeden przykład]:
Kod
[0] => Array
        (
            [0] => 1
            [1] => David
            [2] => De Gea

        )


Co zrobić żeby w "[0] => Array" zamiast zera pojawił się numer zawodnika [pierwsza kolumna w pliku tekstowym] a w
[0] => 1
[1] => David
[2] => De Gea

zamiast liczb pojawił się: 0=numer, 1=imię, 2=nazwisko ?
Turson
  1. $dane=explode(";", $buffer);
  2. $zawodnik[]['numer'] = $dane[0];
  3. $zawodnik[]['imie'] = $dane[1];
  4. $zawodnik[]['nazwisko '] = $dane[2];
RedDevil
Zwraca mi
Kod
Array
(
    [0] => Array
        (
            [numer] => 1
        )

    [1] => Array
        (
            [imie] => David
        )

    [2] => Array
        (
            [nazwisko] => De Gea

        )

    [3] => Array
        (
            [numer] => 2
        )

    [4] => Array
        (
            [imie] => Rafael
        )

    [5] => Array
        (
            [nazwisko] => da Silva

        )


sad.gif
Turson
Jak chcesz, żeby to wyglądało?
viking
  1. $db = file('db.txt', FILE_IGNORE_NEW_LINES);
  2. $zawodnicy = array();
  3. foreach ($db as $x) {
  4. $tmp = array_pad(explode (';', $x), 3, '');
  5. list($id, $imie, $nazwisko) = $tmp;
  6. $zawodnicy[$id] = $tmp;
  7. }
  8.  
  9. var_dump($zawodnicy);


I teraz kombinuj z

  1. $zawodnicy[$id] = array('id' => $id, 'imie' => $imie, 'nazwisko' => $nazwisko);


Jeśli dobrze rozumiem co chcesz.
kreatiff
  1. $file = new SplFileObject('db.txt');
  2. while (!$file->eof()) {
  3. list($numer, $imie, $nazwisko) = $file->fgetcsv(";");
  4. // tutaj tworzysz sobie tablicę wg uznania czy podstawiasz zmienne do dowolnego kodu, np. dla tablicy z postu 3:
  5. $tab[$numer] = array(
  6. 'numer' => $numer,
  7. 'imię' => $imie,
  8. 'nazwisko' => $nazwisko
  9. );
  10. }
Przykład wyniku:
Kod
array(25) {
  [1]=>
  array(3) {
    ["numer"]=>
    string(1) "1"
    ["imię"]=>
    string(5) "David"
    ["nazwisko"]=>
    string(6) "De Gea"
  }
  [2]=>
  array(3) {
    ["numer"]=>
    string(1) "2"
    ["imię"]=>
    string(6) "Rafael"
    ["nazwisko"]=>
    string(8) "da Silva"
  }
  [3]=>
  array(3) {
    ["numer"]=>
    string(1) "3"
    ["imię"]=>
    string(7) "Patrice"
    ["nazwisko"]=>
    string(4) "Evra"
  }
...
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.