Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Newsy Powiązane
matt
post
Post #1





Grupa: Zarejestrowani
Postów: 82
Pomógł: 0
Dołączył: 12.08.2003
Skąd: Kalisz

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


Witam

Mam problem ze zrobienie czegoś takiego jak Newsy powiązanie. Nie wiem czy robie dobre zapytanie do mysql.

Robie coś takiego:

  1. <?php
  2. $sql = mysql_query(&#092;"SELECT * FROM news WHERE id_newsa='\".$_GET['id_newsa'].\"'\"); 
  3.  
  4. while($row = mysql_fetch_array($sql)) 
  5.  
  6. { 
  7. $tytul=$row['tytul'];
  8.  
  9. $sql2 = mysql_query(&#092;"SELECT * FROM news WHERE '\".(tytul LIKE %$tytul%).\"'\"); 
  10.  
  11. while($row2 = mysql_fetch_array($sql2)) 
  12.  
  13. { 
  14. $id_newsa=$row2['id_newsa'];
  15. $tytul2=$row2['tytul'];
  16. echo&#092;"&nbsp;-&nbsp;<a href=index.php?co=wiecej&id_newsa=$id_newsa>$tytul2</a><br>\";
  17. }
  18.  
  19. }
  20. ?>


Zwraca błąd typu
Cytat
Parse error: parse error in /srv/www/htdocs/web115/html/nowy_serwis/szablony/news.php on line 104


lub przy takim zapytaniu

  1. <?php
  2. $sql = mysql_query(&#092;"SELECT * FROM news WHERE id_newsa='\".$_GET['id_newsa'].\"'\"); 
  3.  
  4. while($row = mysql_fetch_array($sql)) 
  5.  
  6. { 
  7. $tytul=$row['tytul'];
  8.  
  9. $sql2 = mysql_query(&#092;"SELECT * FROM news WHERE tytul LIKE %$tytul%\"); 
  10.  
  11. while($row2 = mysql_fetch_array($sql2)) 
  12.  
  13. { 
  14. $id_newsa=$row2['id_newsa'];
  15. $tytul2=$row2['tytul'];
  16. echo&#092;"&nbsp;-&nbsp;<a href=index.php?co=wiecej&id_newsa=$id_newsa>$tytul2</a><br>\";
  17. }
  18.  
  19. }
  20.  
  21. echo&#092;"</font></td>
  22. </tr></table><br>&#092;";
  23. }
  24. ?>


taki błąd
Cytat
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/web115/html/nowy_serwis/szablony/news.php on line 106


Prosze o jakieś wskazówki itp
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kszychu
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

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


No więc cały problem polega na określeniu tego "podobnego tytułu".
Można tak, że dzielisz tytuł na słowa i szukasz newsów, które mają jedno z tych słów w tytule:
  1. <?php
  2. $tutul = explode(&#092;" \", $tytul);
  3. $sql = &#092;"SELECT * FROM news WHERE\";
  4. foreach($tekst as $slowo) {
  5.  $sql .= &#092;" tytul LIKE '\".$slowo.\"' OR\";
  6. }
  7. $sql .= &#092;" 1\";
  8. ?>

Ale też nie jest to takie fajne jak masz w tytule jakieś nieznaczące słowa typu: i, lub, oraz, z, .......
Ja proponuję w tabeli news dodać pole slowa_kluczowe, przy edycji newsa dodawać tam słowa, które Ty uwarzasz za kluczowe i po tych słowach szukać powiązanych newsów.
Go to the top of the page
+Quote Post

Posty w temacie


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: 5.10.2025 - 16:41