PDA

Zobacz pełną wersję : Moduł - Tworzenie zapytania do Bazy danych



frater
31-07-2011, 01:01
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ął:)

frater
31-07-2011, 13:14
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.

frater
01-08-2011, 01:17
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