Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/mysq] dziwny problem z if
Forum PHP.pl > Forum > Przedszkole
plurr
  1. <?php
  2. if ($_POST[imie] || $_POST['nazwisko'] || $_POST['pesel'] || $_POST['nr_dowodu'] || $_POST['stanowisko'] || $_POST['stan'] || $_POST['od'] || $_POST['do'] || $_POST['ulica'] || $_POST['nr_dom'] || $_POST['nr_miesz'] || $_POST['kod'] || $_POST['tel1'] || $_POST['tel2'] == "")
  3. echo "<div id="alert">Któreś z pól jest puste, wróć i uaktualnij dane.</div>";
  4. else 
  5. {
  6. $sql = "update pracownicy set imie='$_POST[imie]', nazwisko='$_POST[nazwisko]', pesel='$_POST[pesel]', nr_dowodu='$_POST[nr_dowodu]', stanowisko='$_POST[stanowisko]' where id_prac='$id'";
  7. $query = mysql_query($sql);
  8.  
  9. $sql2 = "update aktywnosc set stan='$_POST[stan]', od='$_POST[od]', do='$_POST[do]' where id_akt='$id'";
  10. $query2 = mysql_query($sql2);
  11.  
  12. $sql3 = "update miejsca set ulica='$_POST[ulica]', nr_dom='$_POST[nr_dom]', nr_miesz='$_POST[nr_miesz]', kod='$_POST[kod]', tel1='$_POST[tel1]', tel2='$_POST[tel2]' where id_miejsc='$id'";
  13. $query3 = mysql_query($sql3); 
  14. }
  15. ?>


mam taki dooosyyyc dlugi if, problem w tym ze on nie dziala tak jak powinien. IF sprawdza czy ktores z edytowanych pol nie pozostaje puste, jesli tak to wypisuje ze trzeba to poprawic. Problem w tym ze 'echo' wyskakuje nawet kiedy pola sa pelne, dlaczego nie trybi mi else - przeciez to zwykly if czemu nie dziala ? :/

Drugi problem to mam pewien kod, wykombinowalem takie cudo :F

  1. <?php
  2. $sql3 = "select id_kont,nazwa from kontrachenci"; 
  3. $query3 = mysql_query($sql3);
  4. $kont = mysql_fetch_array($query3);
  5.  
  6. $zlicz = mysql_num_rows($query3);
  7.  
  8.  
  9. echo "<B>Edytuj powiązania z kontrachentami: </b>";
  10. echo "<select name="id_kont">";
  11.  
  12. for ($i=1; $i<=$zlicz; $i++)
  13. { $zap = mysql_query("select id_kont, nazwa from kontrachenci where id_kont=$i");
  14. $nazwa_kont = mysql_fetch_array($zap);
  15.  
  16.  if ('$kont[nazwa]'=='$nazwa_kont[nazwa]')
  17. echo "<option selected="selected">$nazwa_kont[nazwa]</option>";
  18. else 
  19. echo "<option value=$nazwa_kont[id_kont]>$nazwa_kont[nazwa]</option>";
  20. echo $kont[id_kont];
  21. }
  22. echo "</select><br><br>";
  23. ?>



chodzi tu dokladnie o to, bo pewnie mozna sie nie polapac - ze wyciagam z bazy "nazwy" i przedstawiam je w liscie rozwijalnej, ale chce aby wybrana opcja przez uzytkownika wracala w postaci ID a nie nazwy - potrzebne mi to do aktualizacji. IF znow nie trybi :[[ nie wiem dlaczego, no i ten value w <option> wydaje sie tez nie dzialac sad.gif

Jeszcze korzystajac z okazji chcialbym sie zapytac czy nie da sie tych dwoch kodow jakos skrocic, zeby nie bylo tyle zbednego tekstu ?
Siner
#1
W pierwszym użyj funkcji empty: if (empty($_POST['imie']) || empty($_POST...

#2
  1. <?php
  2. if ($kont['nazwa'] == $nazwa_kont['nazwa'])
  3. {
  4. echo '<option selected="selected">'.$nazwa_kont['nazwa'].'</option>';
  5. }
  6. else 
  7. {
  8. echo '<option value="'.$nazwa_kont['id_kont'].'">'.$nazwa_kont['nazwa'].'</option>';
  9. }
  10. ?>


Teraz powinno działać
plurr
bardzo dziekuje smile.gif

prawie działa, procz tego: "<option selected="selected">" nie wiem co jest grane, ze nie chce sie domyslnie zaznaczyc to, co pracownik juz ma w bazie wpisane, moze zle skonstruowałem if ?

Jest mi to bardzo potrzebne, bo jesli uzytkownik poprawi tylko literke w nazwisku pracownika, nie zmieniajac innych pol, to wysle inne powiazanie z kontrachentem uhh...
janusz.master
zmiennych w ifie nie możesz brać w cudzysłów:
Zamiast tego
  1. <?php
  2. if ('$kont[nazwa]'=='$nazwa_kont[nazwa]')
  3. ?>


Napisz
  1. <?php
  2. if ($kont[nazwa]=='$nazwa_kont[nazwa]')
  3. ?>
plurr
niestety, nic to nie zmienilo w dzialaniu, nadal nie zmienia sie domyslnie. Probowalem juz roznych kombinacji ehh. Moze jeszcze ktos ma jakis pomysl, jak z tym sobie poradzic ?
qwaq
moze: questionmark.gifquestionmark.gif
  1. <?php
  2. if ($kont[nazwa]==$nazwa_kont[nazwa])
  3. ?>





ps. coś ma lenia bo niedokładnie czytam wasze posty
plurr
niestety to tez probowalem. Moze idzie to zrobic jakos inaczej niz w sposob jaki ja to robie ?


/edit/

sprawdzilem sam warunek na zwyklym ' echo "zaznaczone" / "niezaznaczone"' i dziala, wiec cos zle z tym "selected" hmm :/
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.