Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Funkcja if jeśli zmienna jest null
Forum PHP.pl > Forum > Przedszkole
leo33
Witam serdecznie. Mam taki kod:

  1. <? if (!$podstawaszukania || !$haslo)
  2. {
  3. print "Nie zostało wpisane żadne hasło do wyszukiwarki";
  4. }
  5. $podstawaszukania = addslashes($podstawaszukania);
  6. $haslo= addslashes($haslo);
  7.  
  8.  
  9.  
  10.  
  11. mysql_select_db("nazwa_bazy");
  12.  
  13. $query = "select * from orders where ".$podstawaszukania." like '%".$haslo."%' order by order_id desc";
  14. $result = mysql_query($query);
  15. $num_results = mysql_num_rows($result);
  16.  
  17. print "<p>Ilość znalezionych zamówień: ".$num_results."</p>";
  18. for ($i=0; $i <$num_results; $i++) {
  19. $row = mysql_fetch_array($result);
  20.  
  21.  
  22.  
  23. [font="Arial Black"][size="6"] print ("<font size=2> ");
  24. print stripslashes($row["order_id"]);
  25. print (";");
  26. print stripslashes($row["bill_firstname"]);
  27. print (";");
  28. print stripslashes($row["bill_lastname"]);
  29. print (";");
  30. print stripslashes($row["bill_street_1"]);
  31. print (";");
  32. print stripslashes($row["bill_street_2"]);
  33. print (";;");
  34. print stripslashes($row["bill_postcode"]);
  35. print (";");
  36. print stripslashes($row["bill_city"]);
  37. print (";");
  38. print stripslashes($row["phone_1"]);
  39. print (";");
  40. print stripslashes($row["bill_company"]);
  41. print ";</font></font><br>";[/size][/font]
  42.  
  43. }
  44. ?>


Który działa ok, wyświetla dane wedle zapytania. Mam problem ponieważ chciałbym go zmodyfikować tak żeby w razie wypełnienia dodatkowego adresu wyświetlał dane z drugiego adresu i pomijał wówczas pierwszy adres. Domyślnie gdy drugi adres nie jest wypełniony to jest null.
Próbowałem w ten sposób ale coś źle ze znacznikami robię chyba bo wyskakują mi błędy, proszę o pomoc:
  1.  
  2.  
  3. if ($row["deliv_street_1"]=null
  4. {
  5. print stripslashes($row["bill_street_1"]);
  6. print (";");
  7. }
  8. else
  9. {
  10. print stripslashes($row["deliv_street_1"]);
  11. print (";");
  12. }
  13.  
  14.  
  15.  
  16.  
  17. ?>
rocktech.pl
Witam.

Po lekturze tego krótkiego rozdziału manuala dojdziesz sam.

http://php.net/manual/en/language.operators.comparison.php
leo33
dzięki ale sam sobie jednak nie poradze, trudno
Tuminure
Podstawowe błędy składni.
  1. $row["deliv_street_1"]=null

Znak = to operator przypisania. Żeby porównać dwie wartości musisz użyć == (równe) lub === (identyczne).

Kolejnym błędem jest składnia ifa.
Twoja wygląda tak:
  1. if(warunek
  2. instrukcje

podczas gdy powinna wyglądać tak:
  1. if(warunek)
  2. instrukcje

Każdy nawias (nieważne czy okrągły, kwadratowy, klamrowy) musi zostać prędzej czy później zamknięty. U Ciebie jeden z nich nie jest domknięty.
leo33
Serdeczne dzięki wszystko jest już ok.

  1. if ($row["deliv_street_1"]==null)
  2. {
  3. print stripslashes($row["bill_street_1"]);
  4. print (";");
  5. }
  6. else
  7. {
  8. print stripslashes($row["deliv_street_1"]);
  9. print (";");
  10. }
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.