Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zmienna
Niepokonany13
post 3.05.2018, 21:00:15
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 3.05.2018

Ostrzeżenie: (0%)
-----


Mam problem robię sobie taki mini cms i mam problem przy tworzeniu nowych tematów jesli nazwa jest taka sama to dopisuje to do pliku który był juz wiec chce zrobić numerowanie tematów
Np logowanie?1.php ?2 ?3 ?4 itd tylko nwm jak zapamiętać ostatni numer i dodać do niego 1 i zamiast tworzyć temat $_GET['temat'] to tworzy get temat?1
Go to the top of the page
+Quote Post
Neutral
post 3.05.2018, 22:44:01
Post #2





Grupa: Zarejestrowani
Postów: 286
Pomógł: 46
Dołączył: 10.01.2016

Ostrzeżenie: (0%)
-----


Może sprawdź wszystkie pliki o nazwie tematx, gdzie "x" oznacza liczbę. Np. wyrażeniem regularnym sprawdź liczby, która jest największa i tę największą niech wyciągnie z nazwy pliku i zinkrementuje o jeden. W każdym bądź razie są chyba lepsze sposoby.
Go to the top of the page
+Quote Post
SmokAnalog
post 3.05.2018, 23:06:58
Post #3





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Możesz na przykład tak:

  1. $topic = $_GET['temat'];
  2.  
  3. $ids = array_map(function ($file) use ($topic) {
  4. preg_match("~$topic(\d+)\.txt$~", $file, $matches);
  5. return isset($matches[1]) ? (int) $matches[1] : null;
  6. }, glob('*.txt'));
  7. $id = max(array_filter($ids) ?: [0]) + 1;


Tylko uważaj, bo jak parametr ?temat będzie się kończył cyfrą, to wyjdą jakieś kwiatki.

Ten post edytował SmokAnalog 3.05.2018, 23:18:16
Go to the top of the page
+Quote Post
LowiczakPL
post 4.05.2018, 09:19:36
Post #4





Grupa: Zarejestrowani
Postów: 531
Pomógł: 55
Dołączył: 3.01.2016
Skąd: Łowicz

Ostrzeżenie: (0%)
-----


Cytat(Niepokonany13 @ 3.05.2018, 22:00:15 ) *
Mam problem robię sobie taki mini cms i mam problem przy tworzeniu nowych tematów jesli nazwa jest taka sama to dopisuje to do pliku który był juz wiec chce zrobić numerowanie tematów
Np logowanie?1.php ?2 ?3 ?4 itd tylko nwm jak zapamiętać ostatni numer i dodać do niego 1 i zamiast tworzyć temat $_GET['temat'] to tworzy get temat?1


Ja rozwiązałem to w ten sposób,

zrobiłem sobie 2 pola w bazie

1. nazwa - nazwa jaką wpisał użytkownik, pozwala to na posiadanie wiele tych samych nazw
2. slug - nazwa wygenerowana przez klasę do slagowania, tworzy unikalna nazwę przyjazną Google,(aktualnie nie ma to znaczenia bo przeglądarki obsługują PL znaki w URLu)

przed zapisem slaguję dodawaną nazwę i sprawdzam czy slug istnieje w bazie danych jeśli tak to pobieram sobie unikalny ID z tabeli z autonumeracją i doklejam do slug, to gwarantuje mi unikalne slugi, które sa pokazywane w przeglądarce.


--------------------
Szukam zleceń Symfony, Laravel, Back-End, Front-End, PHP, MySQL ...
Go to the top of the page
+Quote Post
Niepokonany13
post 6.05.2018, 15:08:38
Post #5





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 3.05.2018

Ostrzeżenie: (0%)
-----


Dzięki za odpowiedzi juz sobie poradziłem zrobiłem $id=date() i potem dopisywałem zmienna id
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 20.04.2024 - 02:07