Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] wypisanie postów wg własnej kolejności
neurogen
post 5.11.2018, 21:15:22
Post #1





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 25.03.2018

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


napisałem w wordpressie sporo artykułów które teraz chciałbym wyświetlić na jednej stronie we własnej kolejności np.podanej w pliku tekstowym tak:
nazwa artykułu
nazwa jakiegoś artykułu
nazwa innego artykułu


a skrypt php żeby linijka po linijce wstawiał "nazwa artykułu x" jako zmienną w zapytaniu mysql

$sql = "SELECT * FROM wp_posts WHERE post_title='$article'

jak to zrobić?
Go to the top of the page
+Quote Post
Tomplus
post 5.11.2018, 21:37:49
Post #2





Grupa: Zarejestrowani
Postów: 1 829
Pomógł: 225
Dołączył: 20.03.2005
Skąd: Będzin

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


Skoro chcesz sortować po nazwie to:

  1. $sql = "SELECT * FROM wp_posts ORDER BY post_title ASC;"


Jeżeli masz jakiś określony układ tytułów np.
Pamiętniki z Wakacji - Plażowe wygibasy
Pamiętniki z Wakacji - Jak poznałem Hanią

to wystarczy użyć:
  1. //gdzie $article to "Pamiętniki z Wakacji"
  2. $sql = "SELECT * FROM wp_posts WHERE post_title LIKE '%{$article}%' ORDER BY post_title ASC;"


Może bardziej sprecyzuj o co Ci chodzi.
Go to the top of the page
+Quote Post
neurogen
post 5.11.2018, 21:40:43
Post #3





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 25.03.2018

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


chodzi mi o to jak pobrać linijka po linijce z pliku txt nazwę artykułów jako zmienną którą podstawię do pliku php
Go to the top of the page
+Quote Post
trueblue
post 5.11.2018, 21:45:59
Post #4





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

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


A co z kolejnością? Pisałeś, że chcesz aby były w takiej jak kolejność tytułów w pliku tekstowym.


--------------------
Go to the top of the page
+Quote Post
neurogen
post 5.11.2018, 21:48:44
Post #5





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 25.03.2018

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


tak, dokładnie, żeby plik php w miejsce zmiennej php wstawiał kolejne linijki z pliku txt
Go to the top of the page
+Quote Post
trueblue
post 5.11.2018, 21:50:14
Post #6





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

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


To wiemy.
A co z kolejnością? Jeśli tytuły w pliku txt są w kolejności: "Tytuł 3", "Tytuł 1", "Tytuł 2", to również w takiej mają być pobrane posty z tabeli?


--------------------
Go to the top of the page
+Quote Post
neurogen
post 5.11.2018, 21:51:58
Post #7





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 25.03.2018

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


nazwy artykułów powinny być pobierane jak leci z pliku txt od góry do dołu.to w nim będę ręcznie ustalał kolejność.
Go to the top of the page
+Quote Post
Pyton_000
post 5.11.2018, 22:13:17
Post #8





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


A może po prostu to? https://wordpress.org/plugins/post-types-order/
Go to the top of the page
+Quote Post
Tomplus
post 7.11.2018, 18:03:03
Post #9





Grupa: Zarejestrowani
Postów: 1 829
Pomógł: 225
Dołączył: 20.03.2005
Skąd: Będzin

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


Może tak jak już musisz z pliku:

  1. $wybraneTytuly = json_decode(file_get_contents('wybraneTytuly.json'),1);
  2. $kolejnosc = sprintf("'%s'", implode("','", $wybraneTytuly ) );
  3. $sql = "SELECT * FROM wp_posts WHERE post_title IN ({$kolejnosc}) ORDER BY FIELD(post_title, {kolejnosc});";


Go to the top of the page
+Quote Post
leonpro778
post 7.11.2018, 20:53:56
Post #10





Grupa: Zarejestrowani
Postów: 146
Pomógł: 19
Dołączył: 1.03.2012

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


Eeee tam od razu JSON'a zaciągać smile.gif

Ja bym zrobił to prościej:

plik tytuly.txt
id_artykulu|tytul

Odczytujemy plik txt linia po linii i trzymamy w array (jeden wiersz jeden element)

foreach na tablicy i wykonywać zapytanie select z id_artykulu smile.gif
Go to the top of the page
+Quote Post
borabora
post 8.11.2018, 08:41:10
Post #11





Grupa: Zarejestrowani
Postów: 116
Pomógł: 33
Dołączył: 8.09.2014

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


Cytat(leonpro778 @ 7.11.2018, 21:53:56 ) *
id_artykulu|tytul

skoro masz id to tytuł możesz sobie odpuścić
Go to the top of the page
+Quote Post
leonpro778
post 8.11.2018, 12:19:18
Post #12





Grupa: Zarejestrowani
Postów: 146
Pomógł: 19
Dołączył: 1.03.2012

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


Napisałem tak, żeby plik TXT był czytelniejszy smile.gif Oczywiście można skrócić smile.gif
Go to the top of the page
+Quote Post
Tomplus
post 8.11.2018, 14:21:38
Post #13





Grupa: Zarejestrowani
Postów: 1 829
Pomógł: 225
Dołączył: 20.03.2005
Skąd: Będzin

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


Ja użyłem JSON, bo to wygodniejsza forma, ale można użyć jeszcze format ini, wygodne jest to wygodna forma parsowania danych, następnie konwersji.

W każdym razie, po pobraniu musisz przetworzyć i najlepiej jak kolega napisał korzystać z ID wpisu.
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: 16.04.2024 - 08:31