• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Problem z wyświetlaniem zamówienia w pliku *.txt (PHP)

Object Storage Arubacloud
0 głosów
362 wizyt
pytanie zadane 22 lipca 2015 w PHP przez DL TD Nałogowiec (36,710 p.)
zamknięte 22 lipca 2015 przez DL TD

Mam taki problem. Robię włąśnie kolejny przykład z książki. Chcę wyświetlić zawartość pliku *.txt w tabeli. Mam jednak mały problem :(

Siedzę nad tym problemem 2h i nadal nie znalazłem sensownego rozwiązania. Zamówienie zapisuje się bez problemu, ale odczyt zapisany w ten sposób już nie.:

<meta charset="utf-8">

<?php
  //Odczytanie całego pliku
  //Każde zamówienie staje się elementem tablicy
  $zamowienia = file("zamowienia.txt");
  //Obliczanie ilości elementów tablicy
  $ilosc_zamowien = count($zamowienia);
  if ($ilosc_zamowien == 0) {
    echo "<p><strong>Brak zamówień. Proszę spróbować później.</strong></p>";
  }
  echo '<table border="1">';
  echo '<tr><th bgcolor="#CCCCFF">Data zamówienia</td>
            <th bgcolor="#CCCCFF">Opony</td>
            <th bgcolor="#CCCCFF">Olej</td>
            <th bgcolor="#CCCCFF">Świece</td>
            <th bgcolor="#CCCCFF">Suma</td>
            <th bgcolor="#CCCCFF">Adres</td></tr>';

  for ($i=0; $i<$ilosc_zamowien; $i++) {
    //Rozbicie każdej linii
    $linia = explode("\t".$zamowienia[$i]);

    //Zapamiętanie wyłączenie ilości zamówionych produktów
    $linia[1] = intval($linia[1]);
    $linia[2] = intval($linia[2]);
    $linia[3] = intval($linia[3]);

    //Wyświetlenie każdego zamówienia
    echo "  <tr>
              <td>$linia[0]</td>
              <td align=\"right\">".$linia[1]."</td>
              <td align=\"right\">".$linia[2]."</td>
              <td align=\"right\">".$linia[3]."</td>
              <td align=\"right\">".$linia[4]."</td>
              <td>".$linia[5]."</td>
            </tr>";
  }

  echo '</table>';
?>

Resztę kodu (całą stronę) zamieszczam tutaj -> https://mega.co.nz/#!VpwCxCZb!SPBkuQTj0-HbJKdQGBDZ5zZv96Os-a7kLgUGuk1D5Ik

komentarz zamknięcia: Problem rozwiązany.

2 odpowiedzi

+2 głosów
odpowiedź 22 lipca 2015 przez Comandeer Guru (601,110 p.)
wybrane 22 lipca 2015 przez DL TD
 
Najlepsza
A od kiedy parametry w funkcji rozdziela się kropką, nie przecinkiem (linia 22)?
komentarz 22 lipca 2015 przez DL TD Nałogowiec (36,710 p.)
o jaaa, taki błąd (już sprawdzam rezultat po zmianie)
komentarz 22 lipca 2015 przez DL TD Nałogowiec (36,710 p.)

Działa miszczu, hehe :)

0 głosów
odpowiedź 22 lipca 2015 przez Magicone Nałogowiec (45,100 p.)
Rozbicie linii to nie \t ale \n. Btw. zapoznaj się z funkcją file_get_contents :)
count($zamowienia); -> count to metoda do otrzymywania długości tablicy, $zamowienia to string.
 

EDIT: przy okazji poczytaj w manualu o funkcjach explode/implode i o tym, jakie parametry przyjmują :D
komentarz 22 lipca 2015 przez Magicone Nałogowiec (45,100 p.)
zmienna zmiennej nie równa :D
komentarz 22 lipca 2015 przez Comandeer Guru (601,110 p.)
http://ideone.com/RBtKkx  → jakoś do mnie ten "kompilator" bardziej przemawia
komentarz 22 lipca 2015 przez Boshi VIP (100,240 p.)
@Comandeer,  siłąc się, to przez file_get też się da to wykonać, dwie pętle foreach, jedna leci  i dzieli na wiersze a druga te wiersze  dzieli na tabulatory. Na jedno wyjdzie. Choć  nie wydaje się logicznym dzielić stringa na wiersze kiedy może to zrobić gotowa funkcja file.
komentarz 22 lipca 2015 przez Comandeer Guru (601,110 p.)

@Boshi po co Ci dwie pętle? Starczy jedna, bo na wiersze podzielisz przez explode

komentarz 22 lipca 2015 przez Boshi VIP (100,240 p.)
W sumie  racja.  2x explode wystarczy.

Podobne pytania

0 głosów
2 odpowiedzi 928 wizyt
pytanie zadane 26 maja 2015 w PHP przez TomWaw.IT Użytkownik (920 p.)
0 głosów
3 odpowiedzi 252 wizyt
pytanie zadane 5 października 2015 w C i C++ przez Куба Янчевски Początkujący (390 p.)
0 głosów
1 odpowiedź 577 wizyt
pytanie zadane 14 września 2018 w Java przez Moras Obywatel (1,620 p.)

92,572 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...