• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Czy da się zrobić system newsów bez bazy danych?

VPS Starter Arubacloud
+1 głos
559 wizyt
pytanie zadane 19 marca 2017 w PHP przez Mateusz Patalan Bywalec (2,140 p.)
Witajcie. Od niedawna pisze stronę internetową i chciałbym żeby na stronie głównej, pojawiały sie najnowsze artykuły artykuły.

Strona została napisana w PHP, i wykorzystuje metodę "$_GET" do wyświetlania artykułów.

Proszę o szybką pomoc
komentarz 19 marca 2017 przez hoktaur Pasjonat (22,250 p.)
Pamiętaj że GET ma ograniczenia:
http://stackoverflow.com/questions/7724270/max-size-of-url-parameters-in-get

dlatego lepiej używać POST

4 odpowiedzi

+1 głos
odpowiedź 19 marca 2017 przez Arkadiusz Waluk Ekspert (287,550 p.)
Teoretycznie możesz trzymać newsy w plikach zamiast w bazie danych. Więc na pewno się da, kwestia czego potrzebujesz i co będzie wygodniejsze.
komentarz 19 marca 2017 przez Mateusz Patalan Bywalec (2,140 p.)
Chodzi o to żeby samoczynnie, wyświetlały się linki do artykułów z największym id
komentarz 19 marca 2017 przez Arkadiusz Waluk Ekspert (287,550 p.)
Nie widzę problemu. Jeśli zrobisz na plikach i każdy plik będzie kolejnym artykułem to możesz pobierać listę plików i sortować po ich nazwie.
komentarz 19 marca 2017 przez Mateusz Patalan Bywalec (2,140 p.)
Za pomocą funkcji "array", tak?
komentarz 19 marca 2017 przez xandros Nałogowiec (29,450 p.)
Awaluk, są nawet cmsy na plikach:

https://getgrav.org/ TADA... ale i tak pokusiłbym się o postawienie czegoś do cachowania przed taką aplikacją.

Odnośnie tematu. Niech każdy plik będzie zserializowanym jsonem/yamlem, ktory trzyma wszystkie informacje odnosnie posta. (data publikacji, kontent, tytul, autora etc)
komentarz 19 marca 2017 przez Arkadiusz Waluk Ekspert (287,550 p.)
@Mateusz
Nie do końca rozumiem co miałeś na myśli. Możesz pobrać listę plików do tablicy, posortować i w tej kolejności wyświetlić czy tam zcachować, jak sugeruje xandros. Wszystko kwestia pomysłu i tego co dokładnie chcesz zrobić :)
0 głosów
odpowiedź 19 marca 2017 przez Chess Szeryf (76,710 p.)
To od ciebie zależy, czy chcesz mieć system newsów zrobiony na plikach, czy na bazie danych. Moim zdaniem napisz to i na plikach i na bazie, a następnie zdecyduj na czym to będzie lepiej się sprawować i jak ci wygodnie. W każdej chwili będziesz mógł przepisać te kilka postów, o ile masz ich mało na bazę danych.
komentarz 19 marca 2017 przez Mateusz Patalan Bywalec (2,140 p.)
Mam pytanie: w jaki sposób połączyć szablon strony, z bazą danych. Może jakiś link.
0 głosów
odpowiedź 19 marca 2017 przez Chess Szeryf (76,710 p.)
To w każdym pliku.txt napisz id w pierwszym wierszu, na samiutkim początku. Np.: plik o nazwie plik.txt ma taką strukturę

Plik1:

1. xyz

Plik2:

2. coś tam cośtam

 

Następnie wykorzystaj jakąś funkcje aby zczytał pierwszą parę cyfr i aby posortował według tego ID.
komentarz 19 marca 2017 przez Mateusz Patalan Bywalec (2,140 p.)
Jest jakaś funkcja w php która sortuje rosnąco? Czy kod trzeba napisać samemu?
komentarz 19 marca 2017 przez event15 Szeryf (93,790 p.)
Widzę, nie kochamy się z dokumentacją

http://php.net/manual/en/function.ksort.php
komentarz 19 marca 2017 przez krzysiuup Obywatel (1,140 p.)

O ile dobrze kojarzę to są funkcje sortujące dla tablic sort(), rsort(), dla tablic asocjacyjnych ksort(), krsort()... Zobacz w dokumentacji.

Ja bym wczytał nazwy plików i ID z pierwszej linii do tablicy asocjacyjnej:

news = [
    $id => $filename,
]

i posortował według klucza funkcją ksort(). Potem pętla po tablicy i wyświetlenie treści każdego $filename.

komentarz 19 marca 2017 przez Mateusz Patalan Bywalec (2,140 p.)
Nie znam się zbytnio na php... może jakiś kod?
1
komentarz 19 marca 2017 przez event15 Szeryf (93,790 p.)
Odpowiedź jest prosta.

Nie rób w takim razie systemu newsów.
komentarz 19 marca 2017 przez krzysiuup Obywatel (1,140 p.)
Jak będziesz prosił ludzi o gotowe kody to niewiele się nauczysz. Naprowadziłem cię nieco na sposób implementacji, wygoogluj sobie jak czegoś nie wiesz. Nauka przez praktykę najlepiej wchodzi do głowy.
0 głosów
odpowiedź 19 marca 2017 przez Chess Szeryf (76,710 p.)
<pre>

<form method="get" action="">
	<input type="text" name="news"/>
	<input type="submit" name="send"/>
</form>

<?php 
session_start();
if(!isset($_GET['send']) && empty($_GET['news'])){
	$_SESSION['count'] = 0;
	echo '<br />';
}else{ 
	$_SESSION['count']++;
	file_put_contents("news{$_SESSION['count']}.txt",$_SESSION['count'].'.' .$_GET['news']);
}
?>
<?php
foreach(glob("*.txt") as $wyjmij){
	echo file_get_contents("$wyjmij");
	echo '<br />';
}
?>

Zabezpiecz tylko ten kod przed odświeżaniem.

Podobne pytania

0 głosów
2 odpowiedzi 489 wizyt
0 głosów
1 odpowiedź 314 wizyt
pytanie zadane 30 lipca 2015 w SQL, bazy danych przez Galeon78 Nowicjusz (120 p.)
+1 głos
1 odpowiedź 201 wizyt
pytanie zadane 15 października 2021 w JavaScript przez Marcelz Nowicjusz (160 p.)

92,454 zapytań

141,262 odpowiedzi

319,089 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...