Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z pętlą
Forum PHP.pl > Forum > PHP
Purpen
Witajcie, mam pewną pętlę:

  1. foreach($_POST['produkt'] AS $KEY => $VALUE){
  2. if(is_numeric($VALUE) && $VALUE > 0) {
  3. dbConn();
  4. $query = "SELECT count(cena) AS ilosc, cena, nazwa FROM produkty WHERE product_id = $KEY LIMIT 1";
  5. $result = mysql_query($query) or die("Błąd w <strong>query1</strong>");
  6. $row = mysql_fetch_array($result);
  7. if($row['ilosc'] > 0) {
  8. $total += $VALUE * $row['cena'];
  9.  
  10. $item = array('nazwa' => $row['nazwa'], 'sztuki' => $VALUE);
  11. }
  12. }
  13. }


Jak zrobić aby tablica $item
  1. $item = array('nazwa' => $row['nazwa'], 'sztuki' => $VALUE);
była w pełnej formie dostępna również poza pętlą? Bo na razie jak wpisuję poza pętlą
  1. echo "$item[nazwa], $item[sztuki]<br>";
- to wyświetla mi się wynik tylko z ostatniego obiegu pętli, a ja chcę ze wszystkich, jeden pod drugim...
tehaha
spróbuj tak:

  1. $item = array();
  2. foreach($_POST['produkt'] AS $KEY => $VALUE){
  3. if(is_numeric($VALUE) && $VALUE > 0) {
  4. dbConn();
  5. $query = "SELECT count(cena) AS ilosc, cena, nazwa FROM produkty WHERE product_id = $KEY LIMIT 1";
  6. $result = mysql_query($query) or die("Błąd w <strong>query1</strong>");
  7. $row = mysql_fetch_array($result);
  8. if($row['ilosc'] > 0) {
  9. $total += $VALUE * $row['cena'];
  10.  
  11. $item[] = array('nazwa' => $row['nazwa'], 'sztuki' => $VALUE);
  12. }
  13. }
  14. }
  15. print_r($item);


Purpen
Dzięki wielkie smile.gif.
tehaha
pisz na forum a nie na pw, bo tak to może się kiedyś komuś przydać ten temat, co do wyświetlania tych elementów w bardziej uporządkowanej formie to spróbuj tak:
  1. <?php
  2.  
  3. foreach($item as $value)
  4. {
  5. echo $value['nazwa']." - sztuki: ".$value['sztuki']."<br/>\n";
  6. }
  7.  
  8. ?>
Purpen
No ok, dziękuję bardzo. Ale teraz takie pytanie, jakbym chciał już ostatecznie tą całą treść z pętli, to kilka rekordów, przypisać do jednej zmiennej, którą następnie wyślę na emaila, to jak to zrobić?

Tzn. w zasadzie wiem, jak to zrobić, ale proszę o podsunięcie możliwie najłatwiejszej metody.
erix
To pokaż, jak robisz, a wtedy skonfrontujemy.
Purpen
Jeszcze nie zrobiłem. Myślałem, aby wewnątrz tej pętli dać funkcję mail(), która wywoływana byłaby tylko po ostatnim jej okrążeniu.
erix
Hmm, ale po co tak utrudniać życie?

Wiesz, jak się łączy stringi (ekhm, nie bieliznę biggrin.gif)?
Purpen
Ze mną jest tak, że mam spore braki w podstawach php ;d.
No, ale wiem jak się łączy.
Np:
  1. $s = $x.$y;
tehaha
  1. <?php
  2.  
  3. foreach($item as $value)
  4. {
  5. $total_items .= $value['nazwa']." - sztuki: ".$value['sztuki']."<br/>\n";
  6. }
  7. echo $total_items;
  8.  
  9. ?>
Purpen
Dzięki wielkie smile.gif. Wszystko działa.
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.