Pasek Informacyjny - 5 ostatnich newsów

Witam!

Prosiłbym o pomoc w sprawie wykonania paska informacyjnego. Pasek Informacyjny ma wyświetlać tytuły 5 ostatnich newsów jako link.

Struktura Bazy Danych:

dharma_dharma.ep_news.news_id

dharma_dharma.ep_news.news_subject

dharma_dharma.ep_news.news_cat

dharma_dharma.ep_news.news_news

dharma_dharma.ep_news.news_extended

dharma_dharma.ep_news.news_breaks

dharma_dharma.ep_news.news_name

dharma_dharma.ep_news.news_datestamp

dharma_dharma.ep_news.news_start

dharma_dharma.ep_news.news_end

dharma_dharma.ep_news.news_visibility

dharma_dharma.ep_news.news_reads

dharma_dharma.ep_news.news_sticky

dharma_dharma.ep_news.news_allow_comments

dharma_dharma.ep_news.news_allow_ratings

dharma_dharma.ep_news.news_rss

Próbowałem tak:

<?php


// database settings

$db_host="localhost";

$db_user="user";

$db_pass="pass";

$db_name="name";

$db_prefix="ep_";

define("DB_PREFIX", "ep_");


$polaczenie = @mysql_connect('localhost', 'user', 'pass')


or die('Brak połączenia z serwerem mysql. Błąd: '.mysql_error());


echo "$tresc";

$tresc = "".$news_subject."  •  ";


$news_id = mysql_query("SELECT 5 FROM news_id");

$news_subject = mysql_query("SELECT 5 FROM news_subject");


$ilosc_wierszy = mysql_num_rows($news_id = mysql_query("SELECT 5 FROM news_id"));


?>[/code]

Ale pokazuje mi taki błąd:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/dharma/public_html/PASEK_panel.php on line 21

totalnie zła składnia zapytania do bazy danych po SELECT musi być nazwa kolumny (bądź kolumn) których zawartość chcesz dostać, natomiast ilość zwróconych rekordów możesz ograniczać poprzez LIMIT

czy mógłbyś napisać poprawiony kod??

Nie ma czegoś takiego jak

SELECT 5 FROM news_id

z tego co patrze to powinno byc tak

SELECT * FROM ep_news ORDER BY id DESC LIMIT 5

to musisz wrzucic do mysql_query, potem przejechac to mysql_fetch_array za pomocą pętli while chociazby tak

$q = mysql_query('SELECT * FROM ep_news ORDER BY id DESC LIMIT 5');

while($row = mysql_fetch_array($q)){

  echo ''.$row['news_subject'].'  •  '; 

}[/code]

pozdrawiam

jeśli wychodzi tak:

<?php


// database settings

$db_host="localhost";

$db_user="user";

$db_pass="pass";

$db_name="name";

$db_prefix="ep_";

define("DB_PREFIX", "ep_");


$polaczenie = @mysql_connect('localhost', 'user', 'pass')


or die('Brak połączenia z serwerem mysql. Błąd: '.mysql_error());


$q = mysql_query('SELECT * FROM ep_news ORDER BY id DESC LIMIT 5');

while($row = mysql_fetch_array($q)){

  echo ''.$row['news_subject'].'  •  ';

}


?>[/code]

To jest błąd:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/dharma/public_html/PASEKdobreprogramy_panel.php on line 16

SELECT * FROM ep_news ORDER BY id DESC LIMIT 5

nie ma kolumny id, jest kolumna news_id

SELECT * FROM ep_news ORDER BY news_id DESC LIMIT 5

być może w tym tkwi błąd

SELECT * FROM ep_news ORDER BY news_id DESC LIMIT 5

Mała pomyłka, nie doczytałem nazw kolumn ;]

<?php


// database settings

$db_host="localhost";

$db_user="user";

$db_pass="haslo";

$db_name="user_user";

$db_prefix="ep_";

define("DB_PREFIX", "ep_");


$polaczenie = @mysql_connect('localhost', 'user', 'haslo')


or die('Brak połączenia z serwerem mysql. Błąd: '.mysql_error());


$q = mysql_query('SELECT * FROM ep_news ORDER BY news_id DESC LIMIT 5');

while($row = mysql_fetch_array($q)){

  echo ''.$row['news_subject'].'  •  ';

}

?>[/code]

naprawiłem i…nic

nadal błąd

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/dharma/public_html/PASEKdobreprogramy_panel.php on line 16

przed wykonaniem zapytania do bazy, trzeba zrobić dwie rzeczy: połączyć się z serwerem, co robisz przez mysql_connect oraz wybrać bazę co robi się poprzez mysql_select_db($nazwa_bazy) a czego brakuje w Twoim skrypcie

zobacz tak:

<?php


// database settings

$db_host="localhost";

$db_user="user";

$db_pass="haslo";

$db_name="user_user";

$db_prefix="ep_";

define("DB_PREFIX", "ep_");


$polaczenie = @mysql_connect('localhost', 'user', 'haslo')


or die('Brak połączenia z serwerem mysql. Błąd: '.mysql_error());


mysql_select_db('dharma_dharma') or die('Nie udało się wybrać bazy danych');


$q = mysql_query('SELECT * FROM ep_news ORDER BY news_id DESC LIMIT 5');

while($row = mysql_fetch_array($q)){

  echo ''.$row['news_subject'].'  •  ';

}

?>[/code]