Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php+sql]wyciaganie danych z pętki i select
Forum PHP.pl > Forum > Przedszkole
mateuszpi
Witam
mam taką pętle
  1. <?php
  2. /*
  3. $nowe występuje w postaci ws2, ws5,ws79 tylko ich liczba jest losowa
  4. petla wykonuje sie tyle razy ile jest w formularzu zaznaczone lat też różnie byw
    a z ilością
  5. */
  6.  
  7. foreach($rok as $key => $val) 
  8. { 
  9. $sql = "SELECT ".$nowe." FROM `".$rok[$key]."`";
  10. echo $sql;
  11. $wykonaj = mysql_query($sql);
  12. $row = mysql_fetch_array($wykonaj);
  13.  
  14.  
  15.  
  16. if ($row['ws'.$_POST['ws'].'']==" ")
  17. {
  18. $wskaz="b.d.";
  19. }
  20. else
  21. {
  22. $wskaz=$row['ws'.$_POST['ws'].''];
  23. $wskaz=str_replace(",", ".", $wskaz);
  24. if(strpos($wskaz, '.'))
  25. {
  26. $zaok=2;
  27. }
  28. else
  29. {
  30. $zaok=0;
  31. }
  32.  
  33. $wskaz=number_format($wskaz, $zaok, ',', ' ');
  34. }
  35.  
  36. $tab.="<td>".$rok[$key]."</td>";
  37. $tab2.="<td>".$wskaz."</td>";
  38. $dane.=$row[''.$_POST['ws'].''].", ";
  39. }
  40. ?>


w momencie gdy zmienna nowe miala tylko jeden argument czyli tylko ws5 lub ws2 to nie było problemu z odczytaniem danych (co prezentuje to coś powyżej)
jednak utknąłem jak oczytać dane z select gdy tych ws jest więcej. możecie mi coś poradzić questionmark.gif

ogólna sytuacja jest taka:
mam formularz w którym moge sobie zaznaczyć dowolną ilość lat i dowolną ilość tych ws (nie wchodze w szczegóły co to takiego biggrin.gif - mała tajemnica)
i teraz z bazy danych musze pobrać wszystkie zaznaczone ws z każdego wybranego roku.

potem wyświetlić je na stronie w formie tabelki:
lata, lata, lata ........
ws1 dane, dane, dane
ws5 dane, dane, dane
.
.
.

zakłada mze źle sie za to zabieram bo takie rozwiązanie działą tylko gy ws jest jeden tutaj trzeba pozmieniać coś z petlą, ale nie mam pojęcia co. proszę o pomoc (nie żebym się obraziłza gotowca biggrin.gif )

pozdrawiam
Mateusz
webasek
nie

  1. <?php
  2. $row = mysql_fetch_array($wykonaj);
  3. ?>


a

  1. <?php
  2. while ($row = mysql_fetch_array($wykonaj)) {to co ma być wykonane dla poszczególnych wierszy}
  3. ?>
mateuszpi
nadal nie rozumiem. co mam wpisać w tym while.

$row['co tutaj skoro nazwy z select są różne']
webasek
a skąd bierzesz zmienną $nowe i co to jest $_POST['ws'] ?
mateuszpi
$_POST['ws'] to dane przesłąne z formularza. tablica z liczbami. dopuki bylą to czyta liczba nie ylo problemu ale musialem to przerobic na tablice bo nie zawsze jest jedna wartość

a $nowe to zawartosć POST tylko przerobiona na formę ws(cyfra), ws(cyfra)
webasek
Mniej więcej to będzie wyglądać tak:

  1. <?php
  2. /*
  3. $nowe występuje w postaci ws2, ws5,ws79 tylko ich liczba jest losowa
  4. petla wykonuje sie tyle razy ile jest w formularzu zaznaczone lat też różnie byw
    a z ilością
  5. */
  6.  
  7. foreach($rok as $key => $val) 
  8. { 
  9. $sql = "SELECT ".$nowe." FROM `".$rok[$key]."`";
  10. echo $sql;
  11. $wykonaj = mysql_query($sql);
  12. $row = mysql_fetch_array($wykonaj);
  13.  
  14. // tablica gdzie elementami sa 'ws2', 'ws5','ws79'
  15. $zmienna = explode(",",$nowe);
  16.  
  17.  
  18.  
  19.  for ($i=0;$i<sizeof($zmienna);$i++)
  20.  {
  21. if ($row[$zmienna[$i]]==" ")
  22. {
  23. $wskaz="b.d.";
  24. }
  25. else
  26. {
  27. $wskaz=$row[$zmienna[$i]];
  28. $wskaz=str_replace(",", ".", $wskaz);
  29. if(strpos($wskaz, '.'))
  30. {
  31. $zaok=2;
  32. }
  33. else
  34. {
  35. $zaok=0;
  36. }
  37.  
  38. $wskaz=number_format($wskaz, $zaok, ',', ' ');
  39. }
  40.  
  41. $tab.="<td>".$rok[$key]."</td>";
  42. $tab2.="<td>".$wskaz."</td>";
  43. $dane.=$row[$zmienna[$i]].", ";
  44.  }
  45. }
  46. ?>


To powinno pomóc
mateuszpi
jednak coś nie tak bo z bazy danych pobiera dla różnych lat to się zgadza ale tylko pierwszego ws
gdy tych ws jest wiecej to w reszcie jest 0
webasek
a próbowałeś wrzucić bezpośrednio do sql wszystkie te zapytania które dostajesz z echo $sql? Czy wtedy dane zwracane są poprawnie?
mateuszpi
gdy wsadzam je pokolei to wyswietlaja się poprawnie. jednak gdy są wszystkie razem (oddzielone średnikiem) to wyświetlaja sie glupoty

czyżbym był skazany na wyświetlanie pojedynczych danych questionmark.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.