Jak włożyć do bazy danych domyślny avatar ?

0

Cześć! Podczas rejestracji użytkownik wprowadza różne dane, m.in. istnieje możliwość wyboru avataru, ale nie jest to obowiązkowe. Jeśli użytkownik zostawi te pole puste, to powinno do bazy danych do tabeli user, kolumny avatar wkładać domyślną wartość avatar.jpg. Tymczasem jeżeli użytkownik nie wybierze avataru to pole jest puste. Kolumna avatar ma ustawione ze nie przyjmuje wartości null, oraz wartość domyslna jest ustawiona jak avatar.jpg. Jak myślicie gdzie może leżeć problem ?

                       $avatar = $this->data['avatar'];

                       $query = $this->database->connect()->prepare("INSERT INTO user( `avatar`) VALUES(:avatar)");    
			$query->bindParam(':avatar', $avatar, PDO::PARAM_STR);
			$query->execute();
0

A gdzie masz domyślną wartość zdefiniowaną?

2

Ale po co ma do bazy domyślną wartość wrzucać? Wrzuć nulla, a potem w kodzie sprawdzaj, czy jest null. A jak tak, to wtedy wstawiasz domyślny awek. Nie widzę sensu trzymania tego w bazie. Zmieni się ścieżka, będziesz musiał wszystko zmieniać. A jak masz w kodzie zdefiniowane, to problemu nie ma.

0

@serek: Nie rozumiem twojej wypowiedzi. Problem polega na tym że wrzuca nulla do bazy jeśli użytkownik nie wybrał avataru, Kolumna avatar ma ustawioną domyślną wartość avatar.jpg. Mówisz że w kodzie mam sprawdzać, ale jak ? Mam przed wstawieniem danych do bazy dać jakiegoś if i sprawdzić czy jak ?

2

Domyślna wartość jest tylko ustawiana w bazie jak nie jest kolumna wyspecyfikowania w Insercie, jak robisz

insert into table(col1) values(null)

to ci tam tego nulla wrzuci.

1
veks21 napisał(a):

@serek: Nie rozumiem twojej wypowiedzi. Problem polega na tym że wrzuca nulla do bazy jeśli użytkownik nie wybrał avataru, Kolumna avatar ma ustawioną domyślną wartość avatar.jpg. Mówisz że w kodzie mam sprawdzać, ale jak ? Mam przed wstawieniem danych do bazy dać jakiegoś if i sprawdzić czy jak ?

Nie ma sensu wrzucać domyślnej ścieżki do bazy.

Coś takiego bym zrobił:

$avatar = ...; //tu pobierasz z bazy
if ($avatar === null) {
   echo '<img src="default.jpg">';
} else {
   echo '<img src="'. $avatar  .'">';
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1