Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> 2 pytania: petla i "showmore" w skrypcie newsowym
Marusz
post
Post #1





Grupa: Zarejestrowani
Postów: 191
Pomógł: 0
Dołączył: 16.05.2003
Skąd: POLAND

Ostrzeżenie: (0%)
-----


Witam grupowiczow. Zaczne od petli. Napisalem sobie prosty skrypt newsowy. No i gdy chce wyswietlic sobie 10 newsow znajdujacych sie w bazie danych, wpisuje:
[php:1:08b8bdfb14]<?php
for($i="1"; $i<="10"; $i++){
$wyn = mysql_fetch_assoc($zap);
echo "ID: $wyn[ID]" . "<br>";
echo "Dnia" . " $wyn[data] " . "newsa napisal " . "$wyn[autor] (<a href='mailto:$wyn[email]'>$wyn[email]</a>)" . "<br>";
echo "Temat: " . "$wyn[temat]<br><br>";
echo "Tresc:<br> " . "$wyn[tresc]<br>";
echo "<a href='$PHP_SELF?action=wiecej&id=$wyn[ID]'>wiecej</a><br>";
echo "<br><br>";
}
?>[/php:1:08b8bdfb14]
Wszystko by było fajnie, gdyby tych newsów w bazie było 10... ale nie ma. W przypadku 2 newsow wyswietla je i 8 pustych pol ID, email, etc. Probowalem z petla while, ale za to ta bedzie mi wyswietlac wszystkie newsy ktore beda znajdowac sie w bazie (a wiadomo, ze powyzej 15stu moze to dziwnie wygladac). Jak sie uporac z tym problemem?

Druga sprawa to popularne readmore albo showmore w newsie. News zbudowany jestz tematu, krotkiej tresci zapowiadajacej co bedzie sie dzialo i z linku otwierajacego calosc. Wszystko dobrze, ale jak zrobic, aby po kliknieciu na przycisk wiecej, znikaly wszystkie newsy, pozostawal ten do ktorego nalezy przycisk i rozwinieta tresc? Zdaje sobie sprawe, ze mozna to zrobic za pomoca dwoch stron, ale interesuje mnie, jak poradzic sobie z tym problemem majac do dyspozycji tylko jedna strone.
Dziekuje za odpowiedzi.
Go to the top of the page
+Quote Post
spenalzo
post
Post #2





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Hmmm, aby nie wyświetlać pustych miejsc dodaj sobie warunek if()
[php:1:8c983d0899]<?
for($i="1"; $i<="10"; $i++)
{
$wyn = mysql_fetch_assoc($zap);
if(!empty($wyn[tresc]))
{
echo "ID: $wyn[ID]" . "<br>";
echo "Dnia" . " $wyn[data] " . "newsa napisal " . "$wyn[autor] (<a href='mailto:$wyn[email]'>$wyn[email]</a>)" . "<br>";
echo "Temat: " . "$wyn[temat]<br><br>";
echo "Tresc:<br> " . "$wyn[tresc]<br>";
echo "<a href='$PHP_SELF?action=wiecej&id=$wyn[ID]'>wiecej</a><br>";
echo "<br><br>";
}
}
?>[/php:1:8c983d0899]

Natomiast żeby korzystać z jednej strony przy wyświetlaniu listy newsów skorzystaj z prostej pętli if()
[php:1:8c983d0899]<?
if(!empty($HTTP_GET_VARS["nid"]))
{
# tutaj wyświetlanie całości newsa
}
else
{
# tutaj wyświetlanie listy
}
?>[/php:1:8c983d0899]
Oczywiście aby to działało przekazujesz link z listy wraz ze zmienna $nid która oznacza ID newsa. Potem wyciągasz z bazy news z takim ID i go wyświetlasz. Nazwa zmiennej $nid jest oczywiście przykładowa.
50 zł się należy :-P


--------------------

Go to the top of the page
+Quote Post
DeyV
post
Post #3





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




Dużo łatwiej jest inaczej...
[php:1:783bf67d87]<?php
$pyt = "sele ..... LIMIT $od , $ile " ;
$wynik = mysql_query($pyt);

while ($wyn = mysql_fetch_assoc($zap) ){
.....
.....
}

?>[/php:1:783bf67d87]


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
Project
post
Post #4





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 2.04.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


A ja na ten sam topic odpoiwadalem na forum php
:(
BEZ SENSU!!!
Dlaczego ktos zaklada 2 takie same topici na roznych forach??
To bez sensu...
i znowu na daremne sie napisalem
:(((((((((
Go to the top of the page
+Quote Post
Marusz
post
Post #5





Grupa: Zarejestrowani
Postów: 191
Pomógł: 0
Dołączył: 16.05.2003
Skąd: POLAND

Ostrzeżenie: (0%)
-----


Mea culpa, mea culpa... Jestem idiota winksmiley.jpg Kiedy pisalem posta i wyslalem go, to stwierdzielm, ze cos musialo pojsc nie tak, skoro go nie moge znalezc na forum (a czytam tylko http://forum.php.pl/viewforum.php?f=1, czasem zerkam na inne). Wieczorem stwierdzilem, ze musialem zamiast Wyslij wcisnac Podglad i stad to zamieszanie. Przepraszam! To przez ten cholerny upal. Pozdrawiam.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 20:20