![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 29.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
Wiem że już to było ale chodzi mi dokładnie o WARUNEK
mam coś takiego W MySQL-u 2 tabele news: ID || ... i news_comments: ID || NEWSID || ... I teraz w zapytaniu nie wiem co zrobic po WHERE [php:1:2c6f38143b]<?php $sql = mysql_query("SELECT count(*) FROM news_comments WHERE newsid='$newsid'"); list($ile) = mysql_fetch_array($sql); ?>[/php:1:2c6f38143b] ?>[/php] |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 146 Pomógł: 0 Dołączył: 20.04.2002 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
ja bym to zrobił inaczej
[php:1:a611fd6c74]<?php $sql = mysql_query("SELECT * FROM `news_comments` WHERE `newsid`='$row[newsid]'"); $ile = mysql_num_rows($sql); echo $ile; ?>[/php:1:a611fd6c74] punkcik for me ;} hehe -------------------- Krzysztof Wójcik
Zend Certified Engineer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 29.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
Może źle wytłumaczyłem
Mam coś takiego: Tabelę ze skrótem wiadomości i wywala mi te wiadomości z bazy [while] i do tego nie mogę dodać ile w danym newsie jest komentarzy a komentarze odczytuje z drugiej tabeli tak jak jest pokazane na początku |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
[php:1:6a5a98b022]<?php
$sql = mysql_query("SELECT count(c.ID) FROM news AS n, news_comments AS c WHERE n.ID = c.newsid AND c.newsid='$newsid'"); list($ile) = mysql_fetch_array($sql); ?>[/php:1:6a5a98b022] Chyba..... -------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 29.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
Ani to ani to nie działa:
Wkleje przykładowy kod żeby było jaśniej :? [php:1:65fc850bd0]<?php $sql = mysql_query("SELECT * FROM news_comments WHERE newsid='$newsid'"); $ile = mysql_num_rows($sql); $result = mysql_query("select * from news ORDER BY id DESC"); while($row = mysql_fetch_array($result)){ echo "<a href='xxx.php?news=".$row['id']."' class='m'>".$row['tytul']." ($ile)</a><br><br>";} ?>[/php:1:65fc850bd0] |
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
[php:1:c0bf1d1a4d]<?php
$sql = mysql_query("SELECT * FROM news as n, news_comments as c WHERE n.ID = c.newsid AND n.id='$newsid'"); $ile = mysql_num_rows($sql); $result = mysql_query("select * from news ORDER BY id DESC"); while($row = mysql_fetch_array($result)){ echo "<a href='xxx.php?news=".$row['id']."' class='m'>".$row['tytul']." ($ile)</a><br><br>";} ?>[/php:1:c0bf1d1a4d] No to może tak? -------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Pierwsza odpowiedź kszycha jest poprawna - jeżeli coś nie działa to z łaski swojej może napiszesz co jest nie tak?
Przy okazji: [php:1:8251c66806]<?php $sql = mysql_query("SELECT * FROM news as n, news_comments as c WHERE n.ID = c.newsid AND n.id='$newsid'"); ?>[/php:1:8251c66806] Takie coś może zadziałać ale może sie sypać - ponieważ tutaj w obu tabelach są pola ID to zapytanie się wysypie. Jeżeli robicie coś takiego to: [sql:1:8251c66806]SELECT c.*, n.costam .....[/sql:1:8251c66806] Wtedy są dokładnie określone nazwy pól. -------------------- |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 29.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
Już próbowałem i nic
Pokazuje mi cały czas (0) i nie wiem co mam zrobić :? |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
[manual:47f614c4dd]mysql_error[/manual:47f614c4dd]
-------------------- |
|
|
![]()
Post
#10
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
Cytat Przy okazji:
[php:1:7581dce48c]<?php $sql = mysql_query("SELECT * FROM news as n, news_comments as c WHERE n.ID = c.newsid AND n.id='$newsid'"); ?>[/php:1:7581dce48c] Takie coś może zadziałać ale może sie sypać - ponieważ tutaj w obu tabelach są pola ID to zapytanie się wysypie. Jeżeli robicie coś takiego to: [sql:1:7581dce48c]SELECT c.*, n.costam .....[/sql:1:7581dce48c] Wtedy są dokładnie określone nazwy pól. Ale to się nie wysypie ![]() -------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 21.11.2003 Ostrzeżenie: (0%) ![]() ![]() |
[php:1:cf1ce52491]<?php
$query_wyswietl_ilosc = "SELECT count(id) FROM news_comments WHERE newsid=$newsid"; $wyswietl_ilosc = mysql_query($query_wyswietl_ilosc, $baza) or die(mysql_error()); $row_wyswietl_ilosc= mysql_fetch_assoc($wyswietl_ilosc); $ilosc_komentarzy=$row_wyswietl_ilosc['count(id)']; ?>[/php:1:cf1ce52491] Dostosuj do swoich potrzeb i voila. Pod $newsid podstawiasz id odpowiedni do newsa ale to chyba juz sobie zaplanowales. Mozesz to wrzucic w funcje np i wywolywac przy wyswietlaniu kazdego newsa. Takie lopatologiczne rozwiazanie i napewno mniej ladne od rozwiazania kszycha ale tez dziala . . -------------------- Warsztat: Apache 1.3.27 - MySQL 3.25.55 - PHP 4.3.2
Narzedzia: Macromedia Dreamweaver MX - MySqlFront Na warsztacie: sikret proj |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 29.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
MySql error nic nie pokazuje bo przeciez to nie blad :? Podaje mi zły wynik i zawsze albo mam 0 albo mam 1 w ilości komentarzy i tak pomyślałem że to może przez te podwójne ID ale tez nic nie dało. Próbowałem wszystkiego co mi tutaj podaliście
Może mam błąd w tabelach: Zmieniłem w news_comments id na lp ale i tak dalej jest problem i nic to nie dało [sql:1:9d4024c3b0]TABLE `news` ( `id` int(11) NOT NULL auto_increment, `tytul` varchar(100) NOT NULL default '', KEY `id` (`id`) ) TYPE=MyISAM AUTO_INCREMENT=0 ; TABLE `news_comments` ( `newsid` int(11) NOT NULL default '0', `lp` int(11) NOT NULL auto_increment, `tytul` varchar(150) NOT NULL default '', KEY `lp` (`lp`) ) TYPE=MyISAM AUTO_INCREMENT=0 ;[/sql:1:9d4024c3b0] A tutaj mam zapytania: [php:1:9d4024c3b0]<?php <?php $sql = mysql_query("SELECT count(c.lp) FROM news as n, news_comments as c WHERE n.id = c.newsid AND n.id='$newsid'"); $ile = mysql_num_rows($sql); $result = mysql_query("select * from news ORDER BY id DESC"); while($row = mysql_fetch_array($result)) { echo "".$row['tytul']." ($ile)"; } ?> ?>[/php:1:9d4024c3b0] Help ![]() |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 29.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
Pokazuje mi cały czas (1) niezależnie ile bym miał komentarzy...
Może ktoś ma jakiś pomysł jak to rozwiązać ? |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 29.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
[php:1:c93ed9c48f]<?php
<? // laczymy sie z baza $query = mysql_query("SELECT * FROM `newsy` ORDER BY `id` DESC"); while($dane = mysql_fetch_array($query)) { $ile = @mysql_fetch_row(mysql_query('SELECT COUNT(`newsid`) as ile FROM `komentarze` WHERE `newsid` = "'.$dane['id'].'"')) or $ile[0] = '0'; echo $dane['id'].' - '.$dane['tytul'].' - '.$ile[0].'<br>'; } ?> ?>[/php:1:c93ed9c48f] SAM SOBIE ODPOWIEDZIAŁEM |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 13:05 |