![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 2.08.2004 Ostrzeżenie: (0%) ![]() ![]() |
Napisałem sobie taki system newsów:
Kod <? mysql_connect ("localhost", "root", "myadmin") or die ("Nie można połaczyć"); mysql_select_db ("depor") or die ("Nie można połączyc"); $ilosc = mysql_num_rows(mysql_query("select * from komentarze where news = '$_GET[nr]';")); if ($nr>0) { $wynik = mysql_query ("select * from news order by nr desc limit 0,4;"); if ($rekord = mysql_fetch_array ($wynik, $ilosc)) { print "<br><TABLE CELLSPACING='0' CELLPADDING='0' BORDER='0' WIDTH='417'>"; print "<Tr valign='middle'>"; print "<Td width='417' height='19' align='left' background='img/main_top.jpg' class='title'>"; print "<span class='menu'> ".$rekord[2]." </span><span class='i'>\</span> dodał: <span class='nick'>".$rekord[5]."</span> <span class='i'>\</span> ".$rekord[1]; print "</td></tr>"; print "<tr valign=top><td bgcolor=f9f9f9 style=padding:7px class=menu>"; print "<span class=menu>".$rekord[4]."</span>"; print "</TD></TR>"; print "<tr>"; print "<td width=417 height=25 background=img/main_bot.jpg>"; print "<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=417>"; print "<Tr valign=bottom>"; print "<Td width=317 align=left>"; print " <a href=\"index.php?nr=".$rekord[0]."\"><img border=0 SRC=img/b_wiecej.gif width=49 height=11>"; print "</td><td width=100 align=left class=menu>komentarze [<span class=i>".$ilosc."</span>]</TD>"; print "</tr></table></TD></TR></table></td></tr></table>"; print "<br><br>"; $baza = @mysql_connect("localhost", "root", "myadmin"); @mysql_select_db("depor"); $sql = "SELECT comment, time, author, email FROM komentarze WHERE news='$_GET[nr]' ORDER BY time DESC"; $wynik = @mysql_query($sql); echo "<center>"; while(list($comment, $time, $author, $email) = @mysql_fetch_array($wynik)) { $time = date(); $comment = htmlspecialchars($comment); $comment = nl2br($comment); if($email != "") { $author = "<a href='mailto:$email'>$author</a>"; } print "<table class='menu' width='300'>\n"; print "<tr>\n"; print "<td align='left' width='50%' bgColor='white'>$author</td>\n"; print "<td align='right' width='50%' bgColor='white'>$time</td></tr>\n"; print "<tr><td width='100%' bgColor='#FFFFFF' colspan='2'>$comment</td>\n"; print "</tr>\n"; print "</table><br> \n"; } print "</center>"; print "<form action='dodaj_kom.php' method='post' name='dodaj_kom'>\n"; print "<div class='kom' align='center'>\n"; print "<span class=menu> Nick: </span><input type='text' name='nick' size='50'><br>\n"; print "<span class=menu>Email: </span><input type='text' name='email' size='50'><br>\n"; print "<span class=menu>Treść:</span><Br><textarea name='comment' cols='50' rows='6'></textarea><br><br>\n"; print "<input type='submit' value='Dodaj'>\n"; print "<input type='hidden' name='nr' value='$_GET[nr]'>\n"; print "</div>\n"; print "</form>\n"; } else { print "Nie ma newsa o podanym numerze\n"; } } else { $wynik = mysql_query ("select * from news order by nr desc;"); while ($rekord = mysql_fetch_array ($wynik)) { print "<br><TABLE CELLSPACING='0' CELLPADDING='0' BORDER='0' WIDTH='417'>"; print "<Tr valign='middle'>"; print "<Td width='417' height='19' align='left' background='img/main_top.jpg' class='title'>"; print "<span class='menu'> ".$rekord[2]." </span><span class='i'>\</span> dodał: <span class='nick'>".$rekord[5]."</span> <span class='i'>\</span> ".$rekord[1]; print "</td></tr>"; print "<tr valign=top><td bgcolor=f9f9f9 style=padding:7px class=menu>"; print "<span class=menu>".$rekord[3]."</span>"; print "</TD></TR>"; print "<tr>"; print "<td width=417 height=25 background=img/main_bot.jpg>"; print "<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=417>"; print "<Tr valign=bottom>"; print "<Td width=317 align=left>"; print " <a href=\"index.php?nr=".$rekord[0]."\"><img border=0 SRC=img/b_wiecej.gif width=49 height=11>"; print "</td><td width=100 align=left class=menu>komentarze [<span class=i>".$ilosc."</span>]</TD>"; print "</tr></table></TD></TR></table></td></tr></table>"; } } ?> I teraz tak można to zobaczyć to Tutaj i tak nie pokazuje mi na stronie głównej ile jest tych komentarzy a jak klikne na więcej to pokaże ile jest - dlaczego? to kod wyświetlania ile jest newsów: Kod $ilosc = mysql_num_rows(mysql_query("select * from komentarze where news = '$_GET[nr]';")); I jeszcze mam problem z formatowaniem daty funkcją: Kod date(); kolega coś wspominał że zamiast wypisywać d.m.Y lepiej wstawić funkcję Kod now(); Jaka to?? I Jak ją wstawić w date(); (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 0 Dołączył: 2.08.2004 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
1. na forum kod php/mysql dawaj nie do CODE, tylko do php albo SQL, żeby pokolorowało
2. z bazą wystarczy połączyć się raz, na samym początku 3. sprawdzać, ile jest newsów, lepiej chyba mniej więcej tak:
4. Ta zmienna $ilosc, której używasz wewnątrz ostatniej pętli WHILE, jest ustawiana na samym początku, i to na podst. wartości $nr, a przecież $nr ma wtedy wartość 0 ($nr<=0), więc nic dziwnego, że ilość komentarzy wychodzi zawsze 0. Dlatego tę zmienną $ilosc trzeba ustawiać wewnątrz tej pętli WHILE, tuż przed jej wyświetleniem, używając w zapytaniu $rekord[0] zamiast $_GET[nr]. 5. Na początku masz coś takiego:
to jest chyba źle (przynajmniej w tym miejscu skryptu - bo mogłoby ew. pójść do ELSE), bo przez to, niezależnie od $_GET[nr], wyświetli zawsze najnowszego newsa. trzeba z tego zapytania wywalić ORDER BY i LIMIT, a dać WHERE, no i użyć $_GET[nr] 6. funkcja NOW() występuje tylko w mysql... jest kilka możliwości zapisywania i później wyświetlania daty/czasu w bazie... Ten post edytował tumczasty 7.08.2004, 14:46:59 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 2.08.2004 Ostrzeżenie: (0%) ![]() ![]() |
Tumczasty mógłbyś dawać całe kody?
Najlepeij by było jakbyś dał cały od razu bo coś nie kapuje... EDIT: Nie rozumiem punktów: pięć (5) i cztery (4) mógłbyś dać kod?? Ten post edytował cinek(ten_z_siteql.net) 7.08.2004, 21:36:37 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 0 Dołączył: 2.08.2004 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
ale jesteś wymagający (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) a masz:
z tym date() nie wiem, co począć, bo nie wiem, co byś chciał osiągnąć i jak zapisujesz datę w bazie. skrypt można by chyba było jeszcze w paru miejscach ulepszyć... mam nadzieję, że się nigdzie nie pomyliłem Ten post edytował tumczasty 7.08.2004, 22:56:01 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 2.08.2004 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za poświęcony czas i pomoc - naprawde mi pomogłeś - działa!
Ale jest pewne "ale" KLIKNIJ i zobacz jak mi wywala prawe menu (z komentami też tak miałem ale coś no to poradziłęm - z tym gorzej :/ ) Co zmieieć? I jak zrobić żeby mi tylko 6 najnowszych wiadomości wyświetlało? - Sam mówiłęś że można ulepszyć (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 0 Dołączył: 2.08.2004 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 2.08.2004 Ostrzeżenie: (0%) ![]() ![]() |
No wejdź w deportivosite.tk -> KLIKNIJ I zobacz jak mi wywala przez te zakończenia tabelki:
Prawe menu :/ Jak to zmienić? Jak zmienie to potem IE źle interpretuje <br> - odstępy między newsami :/ |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 68 Pomógł: 0 Dołączył: 13.05.2003 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
przy okazji wlazlem na stronke i cos takiego u dolu strony...
Warning: open(/tmp/sess_cc314fbf839f5cf801ec1580316fbeca, O_RDWR) failed: Brak miejsca na urzÄ dzeniu (28) in Unknown on line 0Warning: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0 moze Cie zainteresowac (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 2.08.2004 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(pirat @ 2004-08-09 22:03:46) przy okazji wlazlem na stronke i cos takiego u dolu strony... Warning: open(/tmp/sess_cc314fbf839f5cf801ec1580316fbeca, O_RDWR) failed: Brak miejsca na urzÄ dzeniu (28) in Unknown on line 0Warning: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0 moze Cie zainteresowac (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Mam to od niedawana, co to?? |
|
|
![]()
Post
#11
|
|
Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Najwazniejsza czesc komunikatu jest po polsku, czego wiec nie rozumiesz ?
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 2.08.2004 Ostrzeżenie: (0%) ![]() ![]() |
Jak to naprawić?
|
|
|
![]()
Post
#13
|
|
Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
A jak sie "naprawia" brak miejsca na dysku?
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 18:07 |