Zobacz pełną wersję : Moduł - Tworzenie zapytania do Bazy danych
Pisze swój pierwszy moduł.
Chce aby tworzył on nową tabele w BD
poniżej mój modu_nazwa.php
<?php
global $database;
$sql = "CREATE TABLE `smerf_jo909`.`usernotepad` (`11111111111111111111` INT NOT NULL) ENGINE = MyISAM;";
print ("moj pierwszy moduł");
?>
co jest nie tak? czemu nie tworzy?
P.S. Co zrobić aby tworzyło tabele z przedrostkiem takim jaką posiada baza danych strony w której instalowany jest moduł?
palyga007
31-07-2011, 11:23
Dla jakiego to ma być Joomla!?
Posprawdzaj sobie w istniejących modułach jak wygląda połączenie z bazą danych i operacje wykonywane z jej użyciem.
zwiastun
31-07-2011, 11:28
Moduł tworzący tabelę? Bez sensu!
palyga007
31-07-2011, 11:33
@zwiatun
Do tego prędzej czy później chyba sam dojdzie:)
Mnie zastanawia skąd on ten kod wytrzasnął:)
Przeczytałem kilka lekcji jak pisać moduł i postanowiłem sam napisać jeden w związku moim tematem tutaj (http://forum.joomla.pl/showthread.php?54935-Elastyczny-formularz-arkusz-kalkulacyjny)
chce, żeby był to moduł notatnik użytkownika (dla joomla 1.5)
a table tworze po to żeby można było w niej zapisywać notatki napisane przez użytkownika
PS. co dziwnego w moim kodzie?
palyga007
31-07-2011, 13:23
No to chcesz w końcu napisać moduł czy komponent to jest jednak drobna różnica. Tabele w bazie tworzy się podczas instalacji komponentu/modułu to co Ty napisałeś nawet gdyby zadziałało powodowałoby próbę tworzenia tabeli w bazie przy każdym odświeżeniu strony.
Skoro to joomla 1.5 to zerknij sobie do jakiegoś modułu i zobacz jak jest realizowane połączenie z bazą danych i obsługa zapytań.
Ty stworzyłeś sobie jakąś zmienna typu string i to tyle w temacie, nic się z tym dalej nie dzieje.
Spojrzyj sobie do modułu whos_online (chyba najłatwiejszy w całym Joomla! 1.5) zobacz, że wygląda to tam "troszkę" inaczej niż u Ciebie.
moduł pisze, komponentu nie dam rady, narazie;)
mod_whosonline nie tworzy żadnych tabel, a wszystkie odwołania do bazy znajdują się w pliku helper.php który nie bierze udziału w instalacji
Mówiłeś, że tabele należy tworzyć podczas instalacji komponentu. Czyli powinna być zmiana o nich w pliku .xml ? jak to powinno wyglądac? mod_whosonline jak już wcześniej pisałem nie tworzy tabel?
palyga007
01-08-2011, 08:31
A jaka jest różnica w wywołaniu zapytania tworzącego tabelę, od tego wybierającego z niej rekordy (pomijam oczywiście treść i efekt końcowy)?
Znajdź sobie jakiś rozbudowany moduł, który wymaga tabeli, jakiś "zliczacz" odwiedzin czy coś. Przed instalacja go rozbierz, zobacz jak wygląda w środku. Bo w tej chwili ten wątek zaczyna przypominać zaczątek kursu pisania modułów, a tego w sieci jest dużo i nie ma sensu tego powielać.
A tak nawiasem pytając.
Jaka jest Twoja znajomość PHP i MySQL?
Jeśli zerowa to na początek polecam przejrzenie sobie jakiegoś kursu zawierającego podstawy tych zagadnień, a dopiero potem podjęcie próby napisania czegoś dla Joomla!
Np. http://webmade.org/kursy-online/kurs-mysql.php
vBulletin® v4.2.5, Prawa przedruku © 2024 vBulletin Solutions, Inc. Wszystkie prawa zastrzeżone.
Tłumaczenie: Polskie Centrum Joomla!