Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
wyswietlanie datetime [PHP][MySQL] - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych)
+--- Wątek: wyswietlanie datetime [PHP][MySQL] (/thread-wyswietlanie-datetime-php-mysql)

Strony: 1 2


wyswietlanie datetime [PHP][MySQL] - Yarekk - 30-05-2008

Wyswietla mi sie wszystko oprocz daty, nie wiem jaka liczbe przydzielic tam do daty.... chodzi mi dokaldnie o to "$data=$row[5];"

a tu caly kod

Kod PHP:
<?
include("baza.php");



$result mysql_query("SELECT imie,tekst,mail,id FROM test WHERE 1"); 
while (
$row mysql_fetch_array($resultMYSQL_NUM)) { 
    
$imie=$row[0];
    
$mail=$row[2];
    
$tekst=$row[1];
    
$data=$row[5];
    
$id=$row[3];
    echo(
"<a class=\"mail\" href=\"mailto:$mail\"> $imie </a><br /><hr noshade=\"noshade\" />
<table border=\"0px\" cellpadding=\"0px\" cellspacing=\"0px\" width=\"554px\"><tr><td> 
$tekst  \n <br /><b>Dodano: $data</b></td></tr> </table>");

}
mysql_free_result($result);


?>



RE: wyswietlanie datetime [PHP][MySQL] - Radek - 30-05-2008

W zapytaniu do bazy danych wybierasz jedynie pola: imie, tekst, mail, id. Natomiast brakuje pola z datą. Proponuję wykorzystać taki kod (uwzględniając, iż pole z datą to "data"):

Kod PHP:
$result mysql_query("SELECT imie, tekst, mail, id, data FROM test");

while (
$row mysql_fetch_assoc($result))
{
    
$imie $row['imie'];
    
$mail $row['mail'];
    
$tekst $row['tekst'];
    
$data $row['data'];
    
$id $row['id'];

    echo(
'<a class="mail" href="mailto:'.$mail.'"> '.$imie.' </a><br /><hr noshade="noshade" />
<table border="0px" cellpadding="0px" cellspacing="0px" width="554px"><tr><td> '
.$tekst.' <br />
<b>Dodano: '
.$data.'</b></td></tr> </table>');
}

mysql_free_result($result); 

Pozdrawiam.


RE: wyswietlanie datetime [PHP][MySQL] - Yarekk - 04-06-2008

No tak, prozaiczne przeoczenie. Dzieki
moze w tym samym temacie wkleje inny problem:

wyskakuje mi blad :

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in c:\usr\krasnal\www\3dlab2\show_news_page.php5 on line 25

podkreslilem 25 linie...

Kod PHP:
<?php
// funkcja odpowiedzialna za stronicowanie newsów - show_news_page.php5
function show_news_page($page=0)
{
// ustalenie limitu newsów na pojedynczą stronę, w tym wypadku 8
define('NEWS_LIMIT',4);
// połączenie z bazą
$db=mysql_connect('localhost','root','krasnal','testowa') or die('Błąd połączenia z bazą danych!');
// uzyskanie ilości newsów w bazie
$news_amount=mysql_query("SELECT Count(id) From test");
// podział na strony - dzielenie ilości newsów przez limit na pojedynczej stronie
// i zaokrąglenie wyniku w górę (funkcja ceil)
$pages_amount=ceil($news_amount/NEWS_LIMIT);
// i ilość stron już jest znana (zmienna $pages_amount)
// uzyskanie numeru rekordu, od którego należy zacząć pobieranie
// czyli mnożenie ilości stron przez numer aktualnej (aktualna strona to argument funkcji)
$start=$pages_amount*$page;
// pobranie porcji newsów. Zwróć uwagę na klauzulę Limit. To ona pozwala stronicować dane.
// jej pierwszy parametr to numer (numer, nie ID) rekordu od którego zacząć pobieranie
// drugi parametr to ilość rekordów do pobrania
$news=mysql_query("Select * From test Order By test_id Desc Limit $start,NEWS_LIMIT");
// zamknięcie połączenia - baza danych nie będzie już potrzebna
mysql_close($db);
// wyświetlenie newsów w pętli

# 25 linia
while($row=mysql_fetch_assoc($news))
# --------------------------------------------------------
{
echo 
$row['imie'].'<br />';
echo 
$row['tekst'].'<hr />';
}
// funkcja zwraca ilość stron - później będzie nam potrzebna do stworzenia nawigatora.
return($pages_amount);
}
?>



RE: wyswietlanie datetime [PHP][MySQL] - Radek - 04-06-2008

Wysyłasz do bazy błędne zapytanie sql. Wydrukuj je na ekran i zobacz co jest nie tak. Możesz również przed 25 linią, tą która pogrubiłeś wkleić:

Kod PHP:
echo( mysql_error() ); 

... i wkleić wynik tutaj.

Pozdrawiam.


RE: wyswietlanie datetime [PHP][MySQL] - Yarekk - 04-06-2008

Something is wrong in your syntax obok 'NEWS_LIMIT' w linii 1


RE: wyswietlanie datetime [PHP][MySQL] - Radek - 04-06-2008

Yarekk napisał(a):Something is wrong in your syntax obok 'NEWS_LIMIT' w linii 1

Tak właśnie myślałem. Źle zdefiniowałeś wykorzystanie stałej. Powinno być tak:

Kod PHP:
$news=mysql_query("SELECT * FROM test ORDER BY test_id DESC LIMIT $start, ".NEWS_LIMIT); 

Pozdrawiam.


RE: wyswietlanie datetime [PHP][MySQL] - Yarekk - 04-06-2008

dalej nie dziala,
juz nie ma tego wczesniejszego bledu ale pozostał ten

Kod PHP:
Warningmysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in c:\usr\krasnal\www\3dlab2\show_news_page.php5 on line 26 
Sad


RE: wyswietlanie datetime [PHP][MySQL] - Radek - 05-06-2008

Nie wiem dlaczego ale wiele osób nie jest świadomych jak debugować skrypty w PHP.

Przypisz do zmiennej zapytanie, następnie je wydrukuj na ekran, zaloguj się do phpmyadmina wklej je tam i zobacz dokładnie jaki błąd zwraca.

Kod PHP:
$sql "Select * From test Order By test_id Desc Limit $start,".NEWS_LIMIT;
echo 
$sql;
$news mysql_query($sql); 

Pozdrawiam.


RE: wyswietlanie datetime [PHP][MySQL] - Yarekk - 06-06-2008

Nie bede owijał w bawełne, jestem zielony jesli chodzi o php. Te skrypty sa glownie na zasadzie kopiuj wklej, dopiero sie zaczynam uczyc.

Wkleilem

Kod PHP:
$sql "Select * From test Order By test_id Desc Limit $start,".NEWS_LIMIT;
echo 
$sql;
$news mysql_query($sql); 

do mojego kodu, nie wiem czy o to chodzilo, wkleilem to w miejsce w ktorym bylo wczesniej $news=mysql_query("Select ...

i wyskakuje cos takiego

Select * From test Order By test_id Desc Limit 0,4Nie wybrano żadnej bazy danych


zaloguj się do phpmyadmina wklej je tam i zobacz dokładnie jaki błąd zwraca.

nie bardzo rozumiem gdzie i co mam dokladnie wkleic...
ogolnie nie wiele rozumiem %-)


RE: wyswietlanie datetime [PHP][MySQL] - Radek - 06-06-2008

Cytat:Nie wybrano żadnej bazy danych

No właśnie...

Zaraz po linii gdzie łączysz się z mysql musisz dodać wybór bazy:

Kod PHP:
$db=mysql_connect('localhost','root','krasnal') or die('Błąd połączenia z bazą danych!');
mysql_select_db('testowa'); 

Proponuję się zapoznać z http://pl2.php.net/mysql_connect gdyż, jako ostatni parametr podawałeś bazę danych a układ argumentów wygląda zupełnie inaczej:

resource mysql_connect ([ string $serwer [, string $nazwa_użytkownika [, string $hasło [, bool $nowe_połączenie [, int $flagi_klienta ]]]]] )

Pozdrawiam.