Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: System mini CMS
Forum PHP.pl > Forum > Bazy danych
ZeTu
Witam
Chciałbym napisać mini CMS w PHP+MySQL, który miałby następujące funkcje:
Ustawienia Główne - czyli nazwa, logo, opis, stopka, edycja formularza kontaktowego (email) itp.
Ustawienia Menu - Dodawanie, edytowanie, usuwanie i przesuwanie linków w menu
Edycja strony głównej
Edycja, dodawanie i usuwanie podstron - z możliwością automatycznego dodania do menu lub bez dodawania menu, tylko po dodaniu żeby ukazał się link
I jakich trzeba użyć funkcji w PHP i MySQL
Jak w ogóle utworzyć bazę, bo jak czytałem na necie i próbowałem utworzyć bez użycia programu przeglądarkowego phpMyAdmin, to wyskakiwały tylko błędy.
Jak wykonać formularz który edytuje wybraną podstronę?
Jak zrobić edytowanie podstron podobnie do PHP-Fusion, dokładnie chodzi mi o to że z rozwijanego menu wybieramy jakiś tytuł podstrony i edytujemy ją.
To tylko jedne z pytań.
Czy możecie mnie nauczyć tego?
Chciałbym na początku nauczyć się zwykłej stronki bez newsów z jednym menu, a później dodać drugie menu i bloki boczne tak jak w PHP-Fusion.
Ale bez edytora typu WYSIWYG, bo on zajmuje sporo mb, a ja znalazłem mniejszy, mniej funkcji, ale mi więcej nie trzeba i bym sobie go podpiął.
Chcę wykonać taki CMS ponieważ zależy mi na tym by zajmował mało miejsca, bo jeśli zajmuje mało jest łatwiej go uploadować na serwer.
Proszę o pomoc, jakieś linki stron, tylko nie pierwsze lepsze z google, bo z nich próbowałem wykonać i mi nie wychodziło, no chyba, że znacie jakieś dobre strony, które by pomogły mi nauczyć się tego MySQL.


Ok udało mi się zrobić tą tabele, zrobiłem wyświetlanie strony głównej i podstron, a jak teraz edytować je po przez wybranie w taki sposób?

I jak w menu zmieniać pozycje danych linków, np. o jeden w górę, o jeden w dół?

A i jeszcze jeden problem z czasem; gdy chce zapisać z:
  1. $data=date('d-m-Y, H:i');

To zapisuje mi do bazy w postaci 000-00-00 00:00:00 czyli same zera, nie wiem czemu nie pobiera czasu.
darko
Chcesz się nauczyć czy potrzebujesz gotowe rozwiązanie? Jeśli to drugie to link a jeśli pierwsze, to pokaż nam, jak próbujesz po kolei, to pomożemy. Nikt Ci nie da zestawu funkcji, których powinieneś użyć, bo i nie o to w tym chodzi, tak samo, jak nikt nie zaprojektuje za Ciebie bazy danych. To są tematy, do których musisz dojść sam, jednak jeśli będziesz potrzebować pomocy w konkretnej sprawie to opisz dokładnie tutaj swój problem, a spróbujemy pomóc.
ZeTu
Wiem i właśnie tym odróżnia się to forum, że nas uczy, a nie daje gotowych rozwiązań jak inne fora, za to Lubię To! Forum.PHP.pl
darko
Pola w bazie typu timestamp, datetime mają określony format zapisu czasu: RRRR-MM-DD HH:MM:SS zastosuj w funkcji date odpowiednie formatowanie, a czas zostanie poprawnie zapisany do bazy.
ZeTu
Czyli, że co mam tak wpisać? Tylko że to nie działa:
  1. $data=date('DD-MM-RRRR HH:MM');
A dokładniej tak:
  1. $data=date('DD-MM-RRRR HH:MM');
  2. $zapytanie = "INSERT INTO cmsek (nick, tresc, data, id) VALUES ('test', 'test', '$data', 'INT NOT NULL AUTO_INCREMENT')";

Czy to może być przez to, że przy Tworzeniu tabeli miałem?
Kod
. 'data DATETIME,'

Zmieniłem na:
Kod
. 'data TEXT,'

i jest OK
A teraz jak zrobić to menu do edycji danego rekordu i zmiana pozycji rekordu?
symonides
Kod
INSERT INTO cmsek (nick, tresc, data, id) VALUES ('test', 'test', NOW(), NULL);


Takie zapytanie powinny być w porządku.
ZeTu
Takim też próbowałem i nie działało, ale już zrobiłem po swojemu teraz inny problem, ale nie będę się kolejny raz powtarzał.
Czy nikt nie wie jak zmienić pozycje rekordów? Wiem że w necie jest, ale albo nie działają albo są z dodatkową pozycją/komórką np. `pozycja` tinyint(3) unsigned NOT NULL, a ja chce tylko funkcje przesuń o jedno w górę, przesuń o jedno w dół.
waldemi
Cytat(ZeTu @ 14.01.2012, 00:36:25 ) *
A teraz jak zrobić to menu do edycji danego rekordu i zmiana pozycji rekordu?

Nie bardzo rozumiem o co ci chodzi. Domyślam sie że chcesz zamienić kolejność dwóch pozycji na liście artykułów? Jeśli tak to do tabeli dodaj pole 'pozycja' która będzie określać kolejność artykułu na liście (do tego należy używać pola 'id' ponieważ na ono identyfikować konkretny artykuł a nie jego kolejność). Dla przykładu mamy więc coś takiego:
id | tresc | pozycja
1 | aaaaaa | 1
2 | bbbbbbbb | 2
4 | ccccccccc | 3
3 | ddddddd | 4
6 | gggggggg | 5
5 | kkkkkkkk | 6

Załóżmy że chcesz zamienić kolejność artykułów o ID 4 i 3. Ja robię to następująco:
1 - pobieram numer pozycji artykułu o ID 4 (w tym przypadku jest to 3) i zapisujesz w jakieś zmiennej np. $tmp1 = 3
2 - pobierasz numer pozycji artykułu o ID 3 (czyli tutaj jest to 4) i zapisujesz równiez do zmiennej np. $tmp2 = 4
3 - zapisujesz zmiany w bazie
  1. UPDATE cmsek SET pozycja = '$tpm2' WHERE id = '4';

oraz
  1. UPDATE cmsek SET pozycja = '$tpm1' WHERE id = '3';

To chyba najprostszy sposób. Ja go stosuję z powodzenie.
ZeTu
Ok dzięki, spróbuje go przetestować później. A drugi problem to to menu:

Ale o nim opisałem na początku.
waldemi
A tak dokładniej to o co ci chodzi z tą tabelką bo nie bardzo łapię?
ZeTu
Pisze z telefonu. Skoro do tej pory nie zrozumiales to juz chyba nie zrozumiesz, ale jak narazie jest ok, tylko z tym kodem co podales powyzej nie sprawdzalem, bo nie bylo czasu. A przez "UPDATE" tez sie aktualizuje wartosc jednego rekordu? Bo chodzi mi tutaj teraz o edycje jednego z wybranych rekordow?
Bo to chyba robi sie tak, przez "SELECT" wczytuje do formularza jakies dane np. $wrzuc[0] $wrzuc[1] $wrzuc[2] i zapisujemy przez "UPDATE" w taki sposob:
  1. *UPDATE cmsek * SET nazwa='$dane1' tresc='$dane2' WHERE id='$wrzuc[2]'

Gdzie $wrzuc[2] to id rekordu ktory edytujemy.
A dokladnie to cos w tym stylu, jak na tej stronie?
www.kess.snug.pl/?sid=10&pid=53

Sorki ze takie bledy, pisze z telefonu.
waldemi
Gdybyś pisał bardziej zrozumiale to pewnie bym zrozumiał.
Jak chcesz napisać cokolwiek (nie tylko mini CMS) skoro nie wiesz co robi UPDATE? Oczywiście że może aktualizować jeden rekord.
ZeTu
Wiem co robi, tylko pytam czy w taki sposób można zaktualizować dany rekord?
OK już wszystko tylko jeszcze jeden mam problem. Ale to kiedy indziej.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.