Pasek Informacyjny - 5 ostatnich newsów


(Ramelek Lost) #1

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


(Airborn) #2

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


(Ramelek Lost) #3

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


(Balon) #4

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


(Ramelek Lost) #5

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


(Airborn) #6
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


(Balon) #7
SELECT * FROM ep_news ORDER BY news_id DESC LIMIT 5

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


(Ramelek Lost) #8
<?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


(Airborn) #9

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]