Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] petla if problem
Lonas
post
Post #1





Grupa: Zarejestrowani
Postów: 576
Pomógł: 14
Dołączył: 9.11.2005

Ostrzeżenie: (20%)
X----


Dlaczego przy takim kodzie
  1. <?php
  2. if( $dzial != NULL && $gama !==NULL ) {
  3. $sqlwhere .= " `dzial` = '$dzial'";
  4. }
  5.  
  6. if( $dzial !== NULL && $gama !=NULL ) {
  7. $sqlwhere .= "`gama` = '$gama' ";
  8.  
  9. }
  10. if( $dzial != NULL && $gama !=NULL ) {
  11. $sqlwhere .= " `dzial` = '$dzial' and `gama` = '$gama' ";
  12. }
  13.  
  14.  
  15. if($sortuj != NULL) {
  16. $sqlwhere .= " order by '$sortuj' desc";
  17. }
  18.  
  19. if($sortuj !== NULL) {
  20. $sqlwhere .= " ";
  21. }
  22. ?>


zaznaczajac naraz i game i dzial otrzymuje taki wynik

where `dzial` = '2'`gama` = 'A' `dzial` = '2' and `gama` = 'A'

Ten post edytował L.Pociask 10.03.2006, 11:42:09
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kszychu
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

Ostrzeżenie: (0%)
-----


  1. <?php
  2.  
  3. $sql = 'SELECT * FROM jakastabela WHERE ';
  4.  
  5. if($dzial != NULL) {
  6. $sqlwhere .= "`dzial` = '{$dzial}' AND ";
  7. }
  8.  
  9. if($gama !=NULL ) {
  10. $sqlwhere .= "`gama` = '{$gama}' AND ";
  11. }
  12. $sqlwhere .= ' true';
  13.  
  14. if($sortuj != NULL) {
  15. $sqlwhere .= "order by '{$sortuj}' desc";
  16. }
  17.  
  18. echo $sql.$sqlwhere;
  19.  
  20. ?>


Słówko komentarza:
1. Poczytaj o != i !==; używasz ich jako operatorów równości i nierówności. ONE OBA są opertorami nierówności, z tym, że ten drugi sprawdza dodatkowo tym porównywanuch argumentów.
2. Liczyłem na więcej komentarzy, dlatego wstawiłem numerację, ale skończy sięna komentarzu nr 1.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.09.2025 - 23:05