Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wyszukiwarka zawartości pliku CSV
Forum PHP.pl > Forum > Przedszkole
swider8814
Witam, moja znajomość PHP jest bardzo niewielka. Próbuję stworzyć skrypt, który przeszukuje plik CSV wyeksportowany z programu magazynowego aby można było sprawdzić ilość danego towaru na magazynie.

Przykładowe dane w pliku CSV wyglądają tak:
  1. model1,opis1,1
  2. model2,opis2,2
  3. model3,opis3,3
  4. model4,opis4,4


Jak zrobić aby każda z kolumn była osobno wyświetlana? Aktualnie $line pokazuje mi całą linijkę (wiersz).

Jeszcze mam jeden problem. Nie wiem jak zrobić aby wyszukiwana fraza nie była zależna od wielkości znaku.

  1. <html>
  2. <form method="get" id="search-form">
  3. <input type="text" name="search" placeholder="Sprawdź dostępność">
  4. <input type="submit" value="Szukaj" />
  5. </form></html>
  6.  
  7. <?php
  8. if ( !empty ( $_GET['search'] ) ) {
  9. $search = $_GET['search'];
  10. $lines = file('plik.csv');
  11.  
  12. $found = false;
  13.  
  14. foreach($lines as $line)
  15. {
  16. if(strpos($line, $search) !== false)
  17. {
  18.  
  19. $found = true;
  20. echo "<div class='datagrid'><table><thead><tr><th>MODEL</th><th width='225px;'>OPIS</th><th width='100px;'>ILOŚĆ</th><th width='155px;'>ZAPYTANIE</th></tr></thead><tbody><tr>";
  21. echo "<td>" . $line; echo "</td>";
  22. echo "<td>" . $line; echo "</td>";
  23. echo "<td>" . $line; echo "</td>";
  24. echo "<td><a href='mailto:jakisadresmailowy?body=[zapytanie] $line' id='button'>Wyślij zapytanie</a></td>";
  25. echo "</tr>";
  26. echo "</tbody></table></div>";
  27. }
  28. }
  29.  
  30. if(!$found) {
  31. echo 'Nie znaleziono tego modelu w bazie danych';
  32. }
  33. }
  34. ?>
Sephirus
zobacz przykłady wykorzystania funkcji fgetsv

link
swider8814
Właśnie przeglądałem tą stronę i niestety nie umiem sobie z tym poradzić. Jak pisałem moja znajomość PHP nie jest najlepsza... Można prosić o jakąś większą podpowiedź? wink.gif
Helid
Jak zrobić aby każda z kolumn była osobno wyświetlana? Aktualnie $line pokazuje mi całą linijkę (wiersz).

Jeszcze mam jeden problem. Nie wiem jak zrobić aby wyszukiwana fraza nie była zależna od wielkości znaku.

  1. <html>
  2. <form method="get" id="search-form">
  3. <input type="text" name="search" placeholder="Sprawdź dostępność">
  4. <input type="submit" value="Szukaj" />
  5. </form></html>
  6.  
  7. <?php
  8. if ( !empty ( $_GET['search'] ) ) {
  9. $search = mb_strtolower($_GET['search']);
  10. $lines = file('plik.csv');
  11.  
  12. $found = false;
  13.  
  14. foreach($lines as $line)
  15. {
  16. $line = mb_strtolower($line);
  17.  
  18. if(strpos($line, $search) !== false)
  19. {
  20. $line = explode(';', $line);
  21.  
  22. $found = true;
  23. echo "<div class='datagrid'><table><thead><tr><th>MODEL</th><th width='225px;'>OPIS</th><th width='100px;'>ILOŚĆ</th><th width='155px;'>ZAPYTANIE</th></tr></thead><tbody><tr>";
  24. echo "<td>" . $line[0]; echo "</td>";
  25. echo "<td>" . $line[1]; echo "</td>";
  26. echo "<td>" . $line[2]; echo "</td>";
  27. echo "<td><a href='mailto:jakisadresmailowy?body=[zapytanie] $line' id='button'>Wyślij zapytanie</a></td>";
  28. echo "</tr>";
  29. echo "</tbody></table></div>";
  30. }
  31. }
  32.  
  33. if(!$found) {
  34. echo 'Nie znaleziono tego modelu w bazie danych';
  35. }
  36. }
  37. ?>


Mniej więcej tak
swider8814
Dziękuję bardzo smile.gif
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.