Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Ilość instrukcji warunkowych a wydajność
Barton
post
Post #1





Grupa: Zarejestrowani
Postów: 70
Pomógł: 2
Dołączył: 26.10.2008

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


Witam,

Pisząc swój skrypt natknąłem się na 'moralny' dylemat. (IMG:style_emoticons/default/smile.gif) Mianowicie starając się jak najbardziej skrócić kod, stworzyłem kod który w wyniku skracania ma.. dwie instrukcje warunkowe więcej niż w pierwotnym rozwiązaniu. Obecnie wygląda on tak:

  1. try {
  2. $pdo = new PDO('mysql:host=localhost;dbname=baza', 'xxx', 'yyy', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
  3. $pdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  4.  
  5. $imie = $pdo -> prepare ("UPDATE users_act SET ".($_POST['imie'] !== "" ? "imie=:imie" : "")." ".($_POST['nazwisko'] !== "" && $_POST['imie'] !== "" ? "," : "")." ".($_POST['nazwisko'] !== "" ? "nazwisko=:nazwisko" : "")." WHERE login=:login");
  6.  
  7. $_POST['imie'] !== "" ? $imie-> bindValue(':imie', trim($_POST['imie']), PDO::PARAM_STR) : "";
  8. $_POST['nazwisko'] !== "" ? $imie -> bindValue(':nazwisko', trim($_POST['nazwisko']), PDO::PARAM_STR) : "";
  9. $imie -> bindValue(':login', $login, PDO::PARAM_STR);
  10.  
  11. $ile = $imie -> execute();
  12.  
  13. $imie -> closeCursor();
  14. }
  15.  
  16. catch(PDOException $e){
  17. echo 'Błąd bazy danych';
  18. }


Mogłem to zrobić tworząc 3 warunki: albo 'imie' i 'nazwisko' wypełnione, albo samo 'imie', albo samo 'nazwisko' - a następnie do każdego warunku inne zapytanie. W wyżej zamieszczonym rozwiązaniu zmieściłem niejako wszystko w jednym zapytaniu ale utworzyło się... 5 instrukcji warunkowych. Które rozwiązanie będzie korzystniejsze jeśli chodzi o wydajność skryptu?

Pozdrawiam.

Ten post edytował Barton 22.01.2012, 22:42:40
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
abort
post
Post #2





Grupa: Zarejestrowani
Postów: 590
Pomógł: 107
Dołączył: 25.10.2011

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


Chłopie, wyluzuj. Dwie instrukcje warunkowe więcej? Kilka linii kodu więcej? A to wszystko w obliczu interakcji z bazą danych, którą masz dostępną zapewne po sieci... O czym tu mówić...
Go to the top of the page
+Quote Post
wizu
post
Post #3





Grupa: Zarejestrowani
Postów: 127
Pomógł: 15
Dołączył: 16.02.2008
Skąd: Sanok

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


Pamietaj też o tym, że niepotrzebnie zaciemniasz sobie kod.
Czasem wolę napisać coś trochę nadmiarowo (co i tak nie zrobi różnicy), ale przynajmniej za jakiś czas nie bedę miał problemów z szybkim przypomnieniem sobie o co chodziło w danej funkcji.
Go to the top of the page
+Quote Post

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: 23.08.2025 - 18:09