Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Problem z systemem newsów
-Telengi-
post
Post #1





Goście







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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Zielonkawy18
post
Post #2





Grupa: Zarejestrowani
Postów: 152
Pomógł: 4
Dołączył: 4.10.2012

Ostrzeżenie: (10%)
X----


  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??
Go to the top of the page
+Quote Post
frantic09
post
Post #3





Grupa: Zarejestrowani
Postów: 42
Pomógł: 6
Dołączył: 7.03.2011
Skąd: Kraków

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


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/
Go to the top of the page
+Quote Post
-Telengi-
post
Post #4





Goście







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ę.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.09.2025 - 23:55