Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] wypisanie postów wg własnej kolejności
Forum PHP.pl > Forum > Przedszkole
neurogen
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ć?
Tomplus
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.
neurogen
chodzi mi o to jak pobrać linijka po linijce z pliku txt nazwę artykułów jako zmienną którą podstawię do pliku php
trueblue
A co z kolejnością? Pisałeś, że chcesz aby były w takiej jak kolejność tytułów w pliku tekstowym.
neurogen
tak, dokładnie, żeby plik php w miejsce zmiennej php wstawiał kolejne linijki z pliku txt
trueblue
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?
neurogen
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ść.
Pyton_000
A może po prostu to? https://wordpress.org/plugins/post-types-order/
Tomplus
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});";


leonpro778
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
borabora
Cytat(leonpro778 @ 7.11.2018, 21:53:56 ) *
id_artykulu|tytul

skoro masz id to tytuł możesz sobie odpuścić
leonpro778
Napisałem tak, żeby plik TXT był czytelniejszy smile.gif Oczywiście można skrócić smile.gif
Tomplus
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.
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.