Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Problem z systemem newsów
Forum PHP.pl > Forum > Przedszkole
Telengi
Witam,

Mam następujący problem, otórz kod zamieszczony poniżej służy do wyciągania newsa z bazy, niestety nie potrafię tego tak przerobić aby wyciągał on z bazy określoną przeze mnie liczbę newsów. Kiedy dodaję pętlę np. for a w niej iteruję zmienną $a do której później przypisuję ID to skrypt w ogóle nie działa. Bardzo proszę o pomoc. Dodatkowo chciałbym aby kod wyciągał z bazy tylko pierwsze x znaków z Contentu.
  1. $ID = $_GET['ID'];
  2. $Title = $_GET['Title'];
  3. $Autor = $_GET['Autor'];
  4. $Content = $_GET['Content'];
  5. $query = 'SELECT Title, Autor, Content FROM news WHERE ID = 1 LIMIT 1';
  6. $statement = $databaseConnection->prepare($query);
  7. $statement->bind_param('sss', $Title, $Autor, $Content);
  8. $statement->execute();
  9. $statement->store_result();
  10. if ($statement->error)
  11. {
  12. die('Database query failed: ' . $statement->error);
  13. }
  14.  
  15. if ($statement->num_rows == 1)
  16. {
  17. $statement->bind_result($Title, $Autor, $Content);
  18. $statement->fetch();
  19. echo "<h3>$Title</h3><br/> $Content <br/><br/><right><h4>$Autor</h4></right>";
  20. }
  21. else
  22. {
  23. echo 'Brak newsa';
  24. }


Pozdrawiam
Zielonkawy18
  1. SELECT Title, Autor, Content FROM news WHERE ID = 1 LIMIT 1


LIMIT 0,30

A jeżeli chcesz wybraną to napisz sobie funkcję, która za argument przyjmie liczbę , która będzie określać max pierwszych rekordów. A ich wyświetlanie zrobisz za pomocą while() np.

  1. while($result=$execute->fetch())
  2. {
  3. //tutaj ładnie w tabelce $result['author'];
  4. }


Oczywiście wszystko zależy od zapytania.

Co do ostatniego, pierwsze litery z contentu??
frantic09
Jeśli chcesz wyciągnąć kilka znaków z contentu to możesz to zrobić albo w zapytaniu MYSQL, albo możesz już w pętli w PHP obcinać content. Zarówno tu i tu możesz użyć funkcji SUBSTR

MYSQL
http://dev.mysql.com/doc/refman/5.0/en/str...ction_substring

PHP
http://php.net/manual/en/function.substr.php

lub ewentualnie wykorzystać przyzwoitą całkiem funkcję z tej strony
http://www.the-art-of-web.com/php/truncate/
Telengi
Dziękuję za pomoc, skorzystałem sobie z wycinania tekstu za pomocą MySQL, chyba był to najprostszy sposób. Co do [Limit 0,3], jeżeli wyciągam ID 1 to limit 0,3 nic nie daje, jest ustawiony na 1 na wszelki wypadek, aby uniknąć wyciągania czegoś 2 razy. Problem to właśnie zmiana kodu w taki sposób aby wyciągał kolejne rekordy z bazy i wstawiał je do wypisania, jak już wspomniałem próbowałem użyć pętli ale chyba wstawiam ją w złym miejscu albo w ogóle mam złe podejście, tutaj potrzebowałbym typowego poprowadzenia za rączkę.
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.