Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Petla w if'ie
Forum PHP.pl > Forum > Przedszkole
buliyo
  1. <?php
  2. $uwagi=$_POST['uwagi'];
  3. if ($uwagi="")
  4. {
  5. $result = mysql_query("SELECT * FROM badania WHERE id = '$id' LIMIT 1") or die(mysql_error());
  6. $dane = mysql_fetch_array($result);
  7. $uwagi = $dane[uwagi];
  8. }
  9. else
  10. {
  11. foreach ($uwagi as $i)
  12. {$rodzaj.= $i.'<br />';
  13. };
  14. };
  15. ?>

Mam formularz ktory przesyla wartosci..
Chcialbym zrobic cos takiego ze jesli formularz przesle pusta zmiena uwagi to uwagi sa pobierane z pola uwagi w badaniach.. a jesli nie sa puste to wykonuje sie petla ktora dodaje znaczniki <br />
Jednak php wywala mi
Warning: Invalid argument supplied for foreach() in /var/elrad/edit_file.php on line 56
Jesli skasuje wszystko i zostawie
  1. <?php
  2. foreach ($uwagi as $i)
  3. {$rodzaj.= $i.'<br />';
  4. };
  5. ?>

To smiga.. ale w wypadku edycji rekordu i nie wybrania wartosci na liscie select obecna wartosc sie czysci.. chcialbym tego uniknac..
Berg
Zakładam, że w $_POST['uwagi'] jest zapisany string z pola textarea. Jeśli tak to nie możesz podać stringu w foreach, używa się go jedynie dla tablic.
Po drugie masz błąd w pierwszym if'ie, warunek jest zawsze spełniony:
  1. <?php
  2.  
  3. if ($uwagi="") { // Masz tak
  4. }
  5.  
  6. if ($uwagi == "") { // A powinno być tak
  7. }
  8.  
  9. ?>
buliyo
uwagi pobiera z select z mozliwoscia wielokrotnego wyboru..
jesli zastosuje sie do twojej uwagi to w przypadku nie zaznaczenia niczego nie zwraca bledu
ale nie pobiera tez spowrotem wartosci, ktora posiadal w bazie..
Berg
Sprawdź czy poprawnie masz skonstruowane zapytanie do bazy danych, sprawdź też jaki wynik otrzymujesz po zastosowaniu mysql_fetch_array (np. za pomocą var_dump).
buliyo
zebym wiedzial jeszcze jak sad.gif
nexis
Na moje oko powinno to wyglądać tak:

  1. <?php
  2.  
  3. if (!isset($_POST['uwagi']) || empty($_POST['uwagi'])) {
  4.  if (!isset($_POST['id'])) exit('Brak parametru "id"!');
  5.  $query = "SELECT `uwagi` FROM `badania` WHERE `id` = '" . $_POST['id'] . "'";
  6.  $query = mysql_query($query) or exit(mysql_error());
  7.  $result = mysql_fetch_array($query);
  8.  $uwagi = $result['uwagi'];
  9. } else {
  10.  $uwagi = nl2br($_POST['uwagi']);
  11. }
  12.  
  13. ?>
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.