ďťż

[php/mysql]pobieranie Wpisu

       

Podstrony


telcocafe

Mam na mojej stronie newsy. Problem jest taki, że nie wiem jak pobrać z bazy danych news o ostatnim numerze porządkowym (przypisywany automatycznie) a następnie pokazywać wcześniejsze. Przy okazji zapytam się jak wyświetlić ograniczoną ilości newsów i tworzyć nowe podstrony o postaci news.php?act=2?
Użytkownik rakiop edytował ten post 28 styczeń 2007, 08:57


z jakiej bazy korzystasz ? MySQL ?

Tak z MySQL

SELECT * FROM news WHERE news_id=(SELECT MAX(news_id) FROM news);



Po prostu pobierasz 10 wpisów w odwrotnej kolejności.
if (!is_int($_GET['num'])) $_GET['num'] = '0'; if (isset($_GET['id'])) $poj_news = 'WHERE `news_id` ='.$_GET['id']; $result = db_query('SELECT * FROM `news` '.$poj_news.' ORDER BY `news_id` DESC LIMIT '.$_GET['num'].', '.$news_count);

A jeżeli chodzi o wyświetlanie pojedynczych newsów to sprawdzasz czy istnieje zmienna $id jeżeli tak to wyszukujemy newsa po id.

A do porcjowania wyników służą te zmienne:
$_GET['num'] - pozycja od której zaczynasz
$news_count - ilość wyników

SELECT * FROM NEWS [WHERE] ORDER BY id DESC LIMIT 0, 10

pobierzesz tym sposobem 10 newsów w kolejności od najnowszego do najstarszego

SELECT * FROM NEWS [WHERE] ORDER BY id DESC LIMIT 10, 20

pobierasz kolejna porcję newsów.

Ale jak automatycznie tworzyć stronę wyświetlające archiwum newsów o takim szablonie: Góra:
<?php //<title>News1</title> $home = './'; require_once($home."system/index.php"); class Strona1 extends Strona { function tresc_w_ramce() { ?>Dół<?php } } $strona=new Strona1("News"); $strona->pokaz(); ?>

normalnie, jak byś sprecyzował o co ci chodzi i najlepiej pokazał kod który Ci nie działa było by łatwiej...

Problem w tym, że nie mam kodu i chciałbym (co do wyśietlania newsów), aby ktoś zasugeroał jakić kod, kótry spełni wymagania

przejrzyj kod jakiegoś CMS'a :)

Najprościej - wyciągasz z bazy i jedziesz :) To tylko kwestia zapytania tak na prawdę...

Wpadł mi do głowy pomysł. Mógłbym użyć AJAX'a z PHP do zmiany terści. Pozostaje tylko dalej problem jak wygenerować automatycznie zapytanie do bazy, które samo poda limit. Myślałem o zastosowaniu static $i ale nie wiem jak zwiększać o dziesięć. Może ktoś da radę to połączyć? ;)

nie bierz się za to.

1. google nie indeksuje
2. nie umiałeś nawet newsów wyciągnąć a lecisz na Ajaxa

Nie odrazu "lecisz" . Chę za jednym razem skończyć jedną rzecz zanim zabiorę się za inną. Podałem pomyśł i chciałbym, aby ktoś to połączył (jak umie i ma dobre chęci :)). Ja nie wiem jak to zrobić wię założyłem temat. A jeśli Ci się to nie podoba to będę zadawał pytania pokolei:
1. Jak za pomocą $i wygenerować limit co 10 do zapytania MySQL, aby była zapamiętywany do następniej strony

Hm, wiesz, tak czytam już trzeci raz cały temat i Twoje wypowiedzi i nachodzi mnie myśl, że albo masz rozdwojenie jaźni, albo sam nie wiesz, czego chcesz... Albo nie potrafisz się sprawnie komunikować z otoczeniem, bo niewiele się da zrozumieć z Twoich postów.

Gdy ja mam problem, staram się go sam rozwiązać, w ostateczności prosząc o pomoc na forum, czy gdzieś indziej. ;)


1. Jak za pomocą $i wygenerować limit co 10 do zapytania MySQL, aby była zapamiętywany do następniej strony
Napisz spokojnie, ale i trochę bardziej rozbudowanie, o co Ci chodzi... Ach, i nie mieszaj do tego AJAX-a, bo tylko się zamęt robi :)

Tak czytam i się namyślam - chcesz, aby skrypt pobrał z bazy co dziesiąty post, tak? Dobra, łatwe - wystarczy (chyba... :D) warunek WHERE odpowiedni :) Zapamiętanie na następnej stronie? :blink: To rozbuduj, bo może wystarczy sama sesja :)

Ja się już poddaję z tym tematem. Koniec tematu :thumbdown:

PS. Umiesz programować w PHP? :>
Wyciąganie
najpierw sprawdzasz Czy adres z $_GET['act'] nie jest za duży lub za mały w mySql.
Następnie wyciągasz dane artukułu, najlpeiej jak masz kolumne do tego jaki ma nr news. np n_id. Wszystkie dane odpowiednio dajesz tam gdzie miały być i finito. Czy to takie trudne?

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.