![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zablokowani Postów: 655 Pomógł: 0 Dołączył: 28.11.2003 Skąd: Zagórz Ostrzeżenie: (80%) ![]() ![]() |
robie system newsow, utknolem na zliczaniu komentarzy:
mam taki kod: [php:1:2f83a9b3f6]<?php function czytaj_newsa () { mysql_connect("127.0.0.1", "root", "krasnal") or die ("nie można polączyć się z bazą"); mysql_select_db(rcx) or die ("nie można wybrac bazy"); $zapytanie="SELECT * FROM news_a"; $ilosc = "SELECT * FROM comments WHERE subid='".$wiersz['id']."'"; $komentarze = mysql_query($ilosc); $ilosckomentarzy = mysql_num_rows($komentarze); $wykonaj=mysql_query($zapytanie); while($wiersz=mysql_fetch_array($wykonaj)) { echo " <center> <table align='center' width='420' cellspacing='0' cellpadding='0' border='1' style='border-collapse: collapse' bgcolor='#c0c0c0' bordercolor='#111111'> <tr> <td class='news'><b>$wiersz[tytul]:</b>$wiersz[data] </td> </tr> </table> <table> <tr> <td width='420' bgcolor='#FFFFFF' align='justify'>$wiersz[tresc]<br><br></td> </tr> <tr> <td width='420' bgcolor='#efefef' align='left'>. Dodał: <b><a href='mailto:$wiersz[mailu]'>$wiersz[dodal]</a></b></td> <tr> <td> ".$ilosckomentarzy." </td> </tr> </tr> </table><br> </center> "; } #echo"<a name='dol'></a>"; #echo"<center><font color='#808080' size='2'>"; } ?>[/php:1:2f83a9b3f6] i nie wykonuje zliczania komentarzy tylko wyswietla tresc zmiennej. |
|
|
![]() |
![]()
Post
#2
|
|
TAO programowania Grupa: Zarejestrowani Postów: 340 Pomógł: 3 Dołączył: 25.03.2003 Skąd: ze słoika Ostrzeżenie: (30%) ![]() ![]() |
Niebardzo rozumiem, czy możesz dać dokładny wygląd wygenerowanego blędu, i to czego oczekiwałeś ?
|
|
|
![]()
Post
#3
|
|
Grupa: Zablokowani Postów: 655 Pomógł: 0 Dołączył: 28.11.2003 Skąd: Zagórz Ostrzeżenie: (80%) ![]() ![]() |
troszeczke zmienilem kod zeby byl bardziej czytelny
wywala Kod Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:usrkrasnalwwwrcx-portalnewsodczyt.php on line 19
|
|
|
![]()
Post
#4
|
|
TAO programowania Grupa: Zarejestrowani Postów: 340 Pomógł: 3 Dołączył: 25.03.2003 Skąd: ze słoika Ostrzeżenie: (30%) ![]() ![]() |
I już jasne, wpisujesz złe argumenty dla zapytania SQL. Zła nazwa bazy, tabel lub coś w ten deseń
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 101 Pomógł: 0 Dołączył: 10.10.2003 Ostrzeżenie: (0%) ![]() ![]() |
[php:1:0a14012926]<?php
$kom = mysql_query ("SELECT * FROM comments WHERE subid='$id';"); ?>[/php:1:0a14012926]zmiena $kom wywolujesz sproboj tak |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 436 Pomógł: 6 Dołączył: 8.11.2003 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
[php:1:b2a16e1e7e]<?php
$ilosc = "SELECT * FROM comments WHERE subid='".$wiersz['id']."'"; ?>[/php:1:b2a16e1e7e] Moje pytanie jest następujące: Skąd bierzesz zmienną $wiersz['id'] (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Bo narazie tu nic nie widze, dopiero później wywołujesz pętle w której pojawia się ta zmienna. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 9.09.2003 Skąd: K-ce Ostrzeżenie: (0%) ![]() ![]() |
[php:1:d6f30b19cd]<?php
$ilosc = "SELECT * FROM comments WHERE subid='".$wiersz['id']."'"; $komentarze = mysql_query($ilosc); $ilosckomentarzy = mysql_num_rows($komentarze); ?>[/php:1:d6f30b19cd] Te 3 linijki powinny znajdowac się w pętli while |
|
|
![]()
Post
#8
|
|
Grupa: Zablokowani Postów: 655 Pomógł: 0 Dołączył: 28.11.2003 Skąd: Zagórz Ostrzeżenie: (80%) ![]() ![]() |
faktycznie taki blad :oops:
[php:1:a0404dd311]<?php function czytaj_newsa () { mysql_connect("127.0.0.1", "root", "krasnal") or die ("nie można polączyć się z bazą"); mysql_select_db(rcx) or die ("nie można wybrac bazy"); $zapytanie="SELECT * FROM news_a"; $wykonaj=mysql_query($zapytanie); while($wiersz=mysql_fetch_array($wykonaj)) { $ilosc = "SELECT * FROM news_b WHERE id_news='wiersz[id]'"; $komentarze = mysql_query($ilosc); $ilosckomentarzy = mysql_num_rows($komentarze); echo " <center> <table align='center' width='420' cellspacing='0' cellpadding='0' border='1' style='border-collapse: collapse' bgcolor='#c0c0c0' bordercolor='#111111'> <tr> <td class='news'><b>$wiersz[tytul]:</b>$wiersz[data] </td> </tr> </table> <table> <tr> <td width='420' bgcolor='#FFFFFF' align='justify'>$wiersz[tresc]<br><br></td> </tr> <tr> <td width='420' bgcolor='#efefef' align='left'>. Dodał: <b><a href='mailto:$wiersz[mailu]'>$wiersz[dodal]</a></b></td> <tr> <td> ".$ilosckomentarzy." </td> </tr> </tr> </table><br> </center> "; } #echo"<a name='dol'></a>"; #echo"<center><font color='#808080' size='2'>"; } ?>[/php:1:a0404dd311] ale teraz dla kazdego newsa pokazuje ta sama liczbe komentarzy. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 9.09.2003 Skąd: K-ce Ostrzeżenie: (0%) ![]() ![]() |
Moze podal bys wiecej szczegolow np strukture bazy danych itp... bo z tego co pokazales to trudno jest ci pomoc
|
|
|
![]()
Post
#10
|
|
Grupa: Zablokowani Postów: 655 Pomógł: 0 Dołączył: 28.11.2003 Skąd: Zagórz Ostrzeżenie: (80%) ![]() ![]() |
[sql:1:64b1d3e875]#
# Struktura tabeli dla `news_a` # CREATE TABLE `news_a` ( `id` int(8) NOT NULL auto_increment, `data` date NOT NULL default '0000-00-00', `tytul` blob NOT NULL, `tresc` blob NOT NULL, `dodal` varchar(255) NOT NULL default '', `ukrywanie` char(1) NOT NULL default '0', `mailu` varchar(255) NOT NULL default '', PRIMARY KEY (`id`) ) TYPE=MyISAM AUTO_INCREMENT=40 ; # # Zrzut danych tabeli `news_a` # INSERT INTO `news_a` VALUES (39, '0000-00-00', '', '', 'ttrrrrrrrrrrrrrr', '0', 'tttttttt'); INSERT INTO `news_a` VALUES (35, '0000-00-00', 0x5757575757, 0x57575757575757, 'WWWWWWWWWWW', '0', 'WWWWWWWWWWWWWWW'); INSERT INTO `news_a` VALUES (36, '0000-00-00', 0x57575757545, 0x5755757575745454520, 'WWWWWWWWEEE', '0', 'WWWWWWWWEEE'); [/sql:1:64b1d3e875] [sql:1:64b1d3e875] # # Struktura tabeli dla `news_b` # CREATE TABLE `news_b` ( `id` int(8) NOT NULL auto_increment, `id_news` varchar(8) NOT NULL default '', `temat` text NOT NULL, `tresc` blob NOT NULL, `nick` varchar(255) NOT NULL default '', `data` datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (`id`) ) TYPE=MyISAM AUTO_INCREMENT=3 ; # # Zrzut danych tabeli `news_b` # INSERT INTO `news_b` VALUES (1, '1', 'sgs geqwt qe rt', '', 'et wet w', '0000-00-00 00:00:00'); INSERT INTO `news_b` VALUES (2, '1', 'sgwet we', '', 'et ew', '0000-00-00 00:00:00'); [/sql:1:64b1d3e875] |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 9.09.2003 Skąd: K-ce Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze to id_news musi sie zgadzac z id newsa bo u ciebie sie nie zgadza a pozatym zapomniales dodac w twoim kodzie takiego znaczka $ przy wiersz[id]
|
|
|
![]()
Post
#12
|
|
Grupa: Zablokowani Postów: 655 Pomógł: 0 Dołączył: 28.11.2003 Skąd: Zagórz Ostrzeżenie: (80%) ![]() ![]() |
jak sie nie zgadza ?
[php:1:f2d3a730bc]<?php $ilosc = "SELECT * FROM news_b WHERE id_news='$wiersz[id]'"; ?>[/php:1:f2d3a730bc] |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 9.09.2003 Skąd: K-ce Ostrzeżenie: (0%) ![]() ![]() |
Spojrz sobie na zrzuty z bazy danych newsy maja id 35,36 itd.... a w news_b id_news tylko 1 dlatego wyswietla ci ze jest 0
|
|
|
![]()
Post
#14
|
|
Grupa: Zablokowani Postów: 655 Pomógł: 0 Dołączył: 28.11.2003 Skąd: Zagórz Ostrzeżenie: (80%) ![]() ![]() |
dzieki, jakos to przeoczylem... :?
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 602 Pomógł: 1 Dołączył: 3.04.2004 Skąd: Trójmiasto (Gdańsk) Ostrzeżenie: (0%) ![]() ![]() |
A ja proponuję tak :
[php:1:d19e410e29] $ilosc = "SELECT count(*) as ilosc_komentow FROM news_b WHERE id_news='$wiersz[id]'"; [/php:1:d19e410e29] dalej [php:1:d19e410e29] $komentarze = mysql_query($ilosc); $ilosckomentarzy = $komentarze[ilosc_komentow]; [/php:1:d19e410e29] |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 19:25 |