![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 3 Dołączył: 6.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam taką funkcję i chciałbym zapisać ją bardziej profesjonalnie. Do tego chciałem zmienić połącznie z bazą na mysqli, ale pojawia się problem z mysql_fetch_array. Jak zastąpić echo jakimś sensownym responsem ?
Będę wdzięczny za rady i uwagi. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 98 Pomógł: 14 Dołączył: 13.01.2008 Skąd: Birmingham Ostrzeżenie: (0%) ![]() ![]() |
A. Co to znaczy bardziej 'profesjonalnie'?
B. Wyniki można zapisać np. w tablicy lub dopisać do zmiennej ($zmienna .= $date) C. Jeżeli chcesz przejść na mysqli to mam nadzieje pamietasz o tym, że nie korzystasz z mysql_fetch_array tylko mysqli_fetch_array? ps. korzystaj z mysql_fetch_assoc (przyjemniejsze (IMG:style_emoticons/default/smile.gif) ) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 3 Dołączył: 6.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
onkel nie masz na myśli or die (mysql_error()); na końcu SELECTa ?
a. Zależy mi na tym, żeby funkcja była obiektowa. b. Rozumiem, że można wrzucić do zmiennej, ale nie bardzo wiem w jaki sposób dołączyć do wyniku tagi HTML. c. O tym, że powinno być mysqli_fetch_array to wiem, ale to nie wszystko znalazłem coś takiego
Niestety zwraca mi tylko title i date. Jakieś inne korzyści mogą wynikać z używania mysql_fetch_assoc ? Ten post edytował neuroine 6.12.2009, 23:40:13 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Cytat a. Zależy mi na tym, żeby funkcja była obiektowa. 1. Zrób najpierw klasę, a później przepisz w/w f-cję jako metodę stworzonej klasy 2. Jaki sens ma to: function display($section) { global $section; (IMG:style_emoticons/default/questionmark.gif) Albo przekazujesz parametr do funkcji, albo czynisz zmienną $section globalną w ciele funkcji, ale nie jedno i drugie, bo to nie ma sensu. W tym momencie w funkcji nadpisujesz przekazany parametr wartością zmiennej $section z zewnątrz funkcji (sic!), a pewnie nie o to chodziło. // edit Jednak lepiej będzie zwracać z funkcji określone wartości niż bezpośrednio wypluwać za pomocą echo czy print Ten post edytował darko 6.12.2009, 21:37:09 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 3 Dołączył: 6.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
darko Masz racje global $section; nie powinno się tam pojawić .
zmieniłem funkcję i teraz wygląda tak.
1. Jak mogę dodać komunikat błędu w przypadku gdy w bazie nie ma żadnego rekordu? 2. Jak dodać do przykładowo $a <h1>, aby funkcja miała nadal charakter obiektowy. Czytałem, że nie poleca się umieszczanie tagów HTML wewnątrz funkcji. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
1. np.
$q = "SELECT count(autor) FROM music"; $count = $mysqli->query($q); // fetch row dla mysqli oraz ustaw fetch type na fetch_num żeby wyciągać po indeksie (?) żeby poniższe zadziałało (nie wiem jak to dokładnie jest w mysqli, sprawdź, korzystam z PDO) if($count[0] == 0) { die "w bazie nie ma rekordów"; } 2. ee tam (IMG:style_emoticons/default/smile.gif) $a= "<h1>".$row["title"]."</h1>"; Ten post edytował darko 10.12.2009, 23:37:08 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 20:33 |