Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][sql] Jak utworzyć puste pliki w danym przedziale...
Forum PHP.pl > Forum > Przedszkole
japek
Jeśli podczas zapytania SQL wybierzemy przedział czasowy (dla każdego dnia jest plik z danymi lecz niekiedy brakuje pliku w jakimś dniu) za pomocą Between, to potrzebuje aby dla daty, kiedy nie ma pliku, został utworzony pusty plik o jakiejs nazwie np. 'xxxxx_2006.11.28'. Może brakować więcej plików, zależnie od przedziału czasu. Jak sie do tego zabrać? mam już tablice zawierającą nazwy plików z wybranego okresu.
Skobi
hmm, a dlaczego ten plik musi istniec, nie mozesz wprowadzic prostego sprawdzania pliku np.:

  1. <?php
  2. if ( file_exists($strPlik) )
  3. {
  4.  $resPlik = ""; // tu przypiszesz zawartosc pliku
  5. }
  6. else
  7. {
  8.  $resPlik = ""; // tu przypiszesz wartosc taka jakbys uzyskal z pustego pliku
  9. }
  10. ?>
japek
Zrobiłem tak, że mając tablicę z datami wybranymi przez formularz:

  1. <?php
  2. $tab_data=array();
  3. for ($y=$_POST['year1']; $y<=$_POST['year2']; $y++) {
  4. for ($m=$_POST['month1']; $m<=$_POST['month2']; $m++) {
  5. for ($d=$_POST['day1']; $d<=$_POST['day2']; $d++) {
  6. $data_form=$y.'.'.$m.'.'.$d;
  7. $tab_data[]=$data_form;
  8. $lt=count($tab_data);
  9. }
  10. }
  11. }
  12. ?>


tworzę listę nazw plików istniejących na serwerze, odpowiadających datom wybranym w formularzu.
Mam jakiś błąd tutaj. Chcę tworzyć pusty plik, jeśli $num[2] nie odpowiada elementowi tablicy $tab_data, jeśli tak to

  1. <?php
  2. $query="SELECT file_name, file_type, data FROM dane WHERE data BETWEEN '".$_POST['year1'].".".$_POST['month1'].".".$_POST['day1']."' AND '".$_POST['year2'].".".$_POST['month2'].".".$_POST['day2']."' ORDER BY data";
  3. $result=@mysql_query($query);
  4.  
  5. $tab_plikow=array();
  6. while($num=@mysql_fetch_array($result)) {
  7. for ($dat=0; $dat<=$lt; $dat++) {
  8. if ($num[2]=$tab_data[$dat]) {
  9. $nazwapliku=("".$num[0]."_".$tab_data[$dat].".".$num[1]."");
  10. //$tab_plikow[]=$nazwapliku;
  11. }
  12. else {
  13. $nazwapliku = fopen("pusty_".$tab_data[$dat].".".$num[1]."", "w");
  14. //$tab_plikow=$nazwapliku;
  15. }
  16. }
  17. $tab_plikow=$nazwapliku;
  18. }
  19. ?>


Wie ktoś jak to zrobić? gdzie błąd?
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.