Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: $ILE??
Forum PHP.pl > Forum > Gotowe rozwiązania
kalinowski
mam takie cos :[php:1:12a925f67d]<?php
$zapytanie = "SELECT * FROM newsy ORDER BY id DESC LIMIT 0,10;"; //zapytanie do wyswietlania newsow!!
$wynik = mysql_query ($zapytanie) or
die ("blad w pytaniu");

while ($rekord = mysql_fetch_array ($wynik)) {
$id = $rekord[0];
$tresc = $rekord[1];
$kto = $rekord[2];
$data = $rekord[3];


$ile = '0';
if ($id==$idnews) {
($ile++);
}



print "<br>$tresc<br><b>$kto </b>"; //wyswietlanie rekordow
print "<i>$data</i>";
print "<br><a href='index.php?show=newskom&id=$id'>";
print "<font color='#8A8AFF'>Komentarze[".$ile."]</font></a><br>";
print "<center><img src='newsy/linia.jpg'></center><br><br>";

}
?>[/php:1:12a925f67d]moze wyjascie $idnews bierze sie z tabeli komentarze i przypisu je do numeru id !! Dlaczego jeżeli mam 3 rekordy w tabeli co $idnews=$id to dlaczego w $ile mam 1 questionmark.gif Jeszeli nie ma zadnego to wyswietla 0 . czyli wyswietla 1 lub zero !! POMOCY JAK TO ROZWIAZAC
FiDO
Zerujesz sobie zmienna $ile w petli, wiec co sie dziwic...
Wyrzuc $ile = '0'; przed while'a.
kalinowski
czyli jak to mam zrobic questionmark.gif
scanner
Edytorem.
Edycja | Wytnij
Edycja | Wklej
kalinowski
$ile wstawilem zaraz po <? i dalej nie chodzi !!
Bakus
Tak po prostemu:
[php:1:94baeb85d0]<?php
$zapytanie = "SELECT * FROM newsy ORDER BY id DESC LIMIT 0,10;";
$wynik = mysql_query($zapytanie) or die("blad w pytaniu");

$ile = '0'; // TO MA BYĆ TU

while($rekord = mysql_fetch_array ($wynik))
{
$id = $rekord[0];
$tresc = $rekord[1];
$kto = $rekord[2];
$data = $rekord[3];

if ($id==$idnews) $ile++;

print "<br>$tresc<br><b>$kto </b>";
print "<i>$data</i>";
print "<br><a href='index.php?show=newskom&id=$id'>";
print "<font color='#8A8AFF'>Komentarze[".$ile."]</font></a><br>";
print "<center><img src='newsy/linia.jpg'></center><br><br>";
}
?>[/php:1:94baeb85d0]
kalinowski
Nie działa dalej caly kod to :[php:1:76a3f8afff]<?php
<? //newsy

include ("dane-baza.php"); //pobiara dane do bazy danych

mysql_connect ($host, $login, $haslo) or
die ("blad"); //laczymy sie
mysql_select_db ($baza) or
die ("blad");

$zap = "SELECT * FROM komentarze;";
$wyn = mysql_query ($zap) or
die ("Nie można połączyć się z baza danych. Skontaktuj się z administaratorem.");

while ($rek = mysql_fetch_array ($wyn)) {
$nr = $rek[0];
$idnews = $rek[1];
$cos = $rek[2];
$autor = $rek[3];
}

$zapytanie = "SELECT * FROM newsy ORDER BY id DESC LIMIT 0,10;"; //zapytanie do wyswietlania newsow!!
$wynik = mysql_query ($zapytanie) or
die ("blad w pytaniu");

$ile = '0';

while ($rekord = mysql_fetch_array ($wynik)) {
$id = $rekord[0];
$tresc = $rekord[1];
$kto = $rekord[2];
$data = $rekord[3];

if ($id==$idnews) $ile++;
print "<br>$tresc<br><b>$kto </b>"; //wyswietlanie rekordow
print "<i>$data</i>";
print "<br><a href='index.php?show=newskom&id=$id'>";
print "<font color='#8A8AFF'>Komentarze[".$ile."]</font></a><br>";
print "<center><img src='newsy/linia.jpg'></center><br><br>";
}
?>
?>[/php:1:76a3f8afff]$ile wynosi zawsze 1 lub zero tam gdzie jest 1 powinno byc 3 !!
spenalzo
php Początkujący => Skrypty
michaloo
wydaje mi sie ze blad wynika z tego ze zmnienna $idnews ma wartosc ostatniego rekordu z bazy. Powinienes w jednym zapytaniu przeszukac obie tabele z komentarzami i news'ami.
kalinowski
Cytat
wydaje mi sie ze blad wynika z tego ze zmnienna $idnews ma wartosc ostatniego rekordu z bazy. Powinienes w jednym zapytaniu przeszukac obie tabele z komentarzami i news'ami.
sorka ale nie rozumiem mozesz jasniej
michaloo
w kodzie masz taki kawalek:
[php:1:aee6cae362]<?php
while ($rek = mysql_fetch_array ($wyn)) {
$nr = $rek[0];
$idnews = $rek[1];
$cos = $rek[2];
$autor = $rek[3];
}

?>[/php:1:aee6cae362]
i jezeli poza petla while dopiszesz echo $idnews; to wyswietli ostatnia wartosc z tabeli ktora petla while zapisala do tablicy wiec warunek $id==$idnews zostanie spelniony tylko raz.
Wydaje mi sie takze ze by otrzymac odpowiedni efekt powinienes zastosowac polaczone zapytanie do dwoch tabel.
kalinowski
Cytat
w kodzie masz taki kawalek:
[php:1:0c1f697ff8]<?php
while ($rek = mysql_fetch_array ($wyn)) {
$nr = $rek[0];
$idnews = $rek[1];
$cos = $rek[2];
$autor = $rek[3];
}

?>[/php:1:0c1f697ff8]
i jezeli poza petla while dopiszesz echo $idnews; to wyswietli ostatnia wartosc z tabeli ktora petla while zapisala do tablicy wiec warunek $id==$idnews zostanie spelniony tylko raz.
Wydaje mi sie takze ze by otrzymac odpowiedni efekt powinienes zastosowac polaczone zapytanie do dwoch tabel.

moze jakies przyklady questionmark.gif
michaloo
myslalem nad tym i nie moge wymyslic jak to zrobic jednym zapytaniem
ale wymyslilem cos innego
[php:1:c3ddc7fd43]<?php

include ("dane-baza.php"); //pobiara dane do bazy danych

mysql_connect ($host, $login, $haslo) or
die ("blad"); //laczymy sie
mysql_select_db ($baza) or
die ("blad");


$zapytanie = "SELECT * FROM newsy ORDER BY id DESC LIMIT 0,10;";
//zapytanie do wyswietlania newsow!!
$wynik = mysql_query ($zapytanie) or
die ("blad w pytaniu");


while ($rekord = mysql_fetch_array ($wynik)) {
$id = $rekord[0];
$tresc = $rekord[1];
$kto = $rekord[2];
$data = $rekord[3];

$zap = "SELECT * FROM komentarze WHERE idnews = $id";
$wyn = mysql_query ($zap) or
die ("Nie można połączyć się z baza danych. Skontaktuj się z administaratorem.");
$rekord = mysql_fetch_array ($wyn)

print "<br>$tresc<br><b>$kto </b>";
//wyswietlanie rekordow
print "<i>$data</i>";
print "<br><a href='index.php?show=newskom&id=$id'>";
print "<font color='#8A8AFF'>Komentarze[".rekord[0]."]</font></a><br>";
print "<center><img src='newsy/linia.jpg'></center><br><br>";
}
?>[/php:1:c3ddc7fd43]


powinno dzialac....
kalinowski
Cytat
powinno dzialac....

ale nir dziala i nie umiem doszukac sie bladu !! ;( POMOCY
Wyświetla błąd w 33 linice !!:
Parse error: parse error in /home/piwko/users/humor.pl/k/kalinowski/newsy/index.php on line 33

czyli

[php:1:28e8520cc9]<?php
26 $data = $rekord[3];
27
28 $zap = "SELECT * FROM komentarze WHERE idnews = $id";
29 $wyn = mysql_query ($zap) or
30 die ("Nie można połączyć się z baza danych. Skontaktuj się z administaratorem.");
31 $rekord = mysql_fetch_array ($wyn)
32
33 print "<br>$tresc<br><b>$kto </b>";
34 //wyswietlanie rekordow
35 print "<i>$data</i>";
36 print "<br><a href='index.php?show=newskom&id=$id'>";
37 print "<font color='#8A8AFF'>Komentarze[".rekord[0]."]</font></a><br>";
38 print "<center><img src='newsy/linia.jpg'></center><br><br>";
39 }
?>[/php:1:28e8520cc9]

POMIOCY
?>[/php]
kalinowski
co w tym kawalku jest zle questionmark.gif
FiDO
brak srednika po wywolaniu mysql_fetch_array,
czesto php podaje, ze blad jest w nastepnej linijce niz jest on faktycznie (np. w przypadku braku srednika), wiec radze patrzec tez "do tylu" od linii ktora podaje.
kalinowski
no i znalaz sie kolejny blad !!
Parse error: parse error in /home/piwko/users/humor.pl/k/kalinowski/newsy/index.php on line 37
kalinowski
problem z 37 linijki juz rozwiazany !! zamiast rekord[0] przecieprz musi byc $rekord[0]
ino wyswietla mi i tak jakies bajeczne liczby !! ;(
sami zobaczcie jaka jest liczba i ilosc komentarzy !! ;(
http://www.kalinowski.humor.pl/index.php?show=home
kalinowski
blad jest taki on zamiast ilosci komentarzy wyswietla numer id pierwszego komentarza do danego newsa !! winksmiley.jpg
kto wie jak to rozwiazac questionmark.gif
kalinowski
stwierdziłem żę porobiolem tam, glupoty i pozmienialem to troche tera kod php wyglada tak !! :
[php:1:6132574158]<?php

include ("dane-baza.php"); //pobiara dane do bazy danych

mysql_connect ($host, $login, $haslo) or
die ("blad"); //laczymy sie
mysql_select_db ($baza) or
die ("blad");


$zapytanie = "SELECT * FROM newsy ORDER BY id DESC LIMIT 0,10;";
//zapytanie do wyswietlania newsow!!
$wynik = mysql_query ($zapytanie) or
die ("blad w pytaniu");

$ile = '0';

while ($rekord = mysql_fetch_array ($wynik)) {
$id = $rekord[0];
$tresc = $rekord[1];
$kto = $rekord[2];
$data = $rekord[3];



$zap = "SELECT * FROM komentarze WHERE idnews = $id";
$wyn = mysql_query ($zap) or
die ("Nie można połączyć się z baza danych. Skontaktuj się z administaratorem.");
$rekord = mysql_fetch_array ($wyn);

if ($id==$rekord[1]) {
($ile++);
}

print "<br>$tresc<br><b>$kto </b>";
//wyswietlanie rekordow
print "<i>$data</i>";
print "<br><a href='index.php?show=newskom&id=$id'>";
print "<font color='#8A8AFF'>Komentarze[".$ile."]</font></a><br>";
print "<center><img src='newsy/linia.jpg'></center><br><br>";
}
?>[/php:1:6132574158]
i dupa dalej nie dziala wydpia liczby nawet nie wiem skad one sie biora !!
co jest powodem questionmark.gif
JAK GOM ROZWIAZAC questionmark.gif
kalinowski
jesli myslicie zwe to nie bedzie chodzilo to powiedzcie jakimi sposobami macie komentarze do newsow i jak zliczacie ilosc komentarzy ! ! ! ! ! ! ! winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.