maraska
24.06.2014, 19:40:14
Witam,
Jest string $string ="piłka, nożna, mecze";
Slider wyświetla mi kolejne fotki takim kodem:
<div style="width:200px; margin: 0px 7px 0px 3px;">
<a href="/images/catalog/'.$id.'/'.$nazwa.'" class="lightbox" rel="group">
<img src="/images/catalog/'.$id.'/'.$nazwa.'" alt="'.$alt.'" style="max-width:200px;height:200px;overflow:hidden;border:1px solid black;">
</a>
</div>';
//}
}
}
fotka("file_zdj1", $id);
fotka("file_zdj2", $id);
fotka("file_zdj3", $id); ........
bxslider dziła jak trzeba.
Pytanie, jak to zrobić, żeby ze zmiennej $string wyciągać kolejne wyrazy (to mniej więcej wiem ale jednak pytam lepszych ode mnie) i
wtsawiać je kolejno do zmiennej $alt, czyli, żeby kolejne fotki miały alt = kolejne wyrazy z $string?
Z góry dzięki za pomoc
Andrzej.W.
24.06.2014, 19:42:14
wg. mnie wystarczy użyć explode z selektorem ","
maraska
24.06.2014, 19:51:16
Cytat(Andrzej.W. @ 24.06.2014, 20:42:14 )

wg. mnie wystarczy użyć explode z selektorem ","
Proszę o bardziej szczegółową instrukcję.
Andrzej.W.
24.06.2014, 19:55:52
Cytat(maraska @ 24.06.2014, 20:51:16 )

Proszę o bardziej szczegółową instrukcję.
$string ="piłka, nożna, mecze";
Prosty przykład.
maraska
24.06.2014, 20:00:57
Cytat(Andrzej.W. @ 24.06.2014, 20:55:52 )

$string ="piłka, nożna, mecze";
Prosty przykład.

Dziękuję za pomoc, ale nie bardzo rozumiem jak mi to wstawi kolejne słowo do kolejnego $alt
Andrzej.W.
24.06.2014, 20:11:04
Fotek będzie dokładnie tyle, ile słów w zmiennej string?
Skąd pobierasz i jak są wstawiane inne zmienne, typu $id, $nazwa?
maraska
24.06.2014, 20:17:48
Wszystkie zmienne są znane we wcześniejszej części kodu łacznie z wartością zmiennej $string, z której chcemy pobierać kolejne słowa do kolejnych altów obrazków.
Ilość obrazków do slidera nie jest znana, ale może być zliczona, ilość słów w zmiennej $string nie jest znana, powinna przekraczać ilość obrazków = ilość wartości $alt, ale może być mniejsza niż il. alt.
Andrzej.W.
24.06.2014, 20:25:09
jeżeli ilość słów w $string będzie większa od ilości obrazków, to tag <img src> można generować z pętli for, mniej wiecej na tej zasadzie:
$ilosc_obrazków;
$string='string, string, string, itd';
for($i=0;$i<$ilosc_obrazków;$i++)
{
echo '<img src... alt="'.$tablica[$i].'"...> }
Więcej poradzić nie mogę, bo nie znam reszty kodu.
maraska
24.06.2014, 20:33:02
Dzieki, postetuję. Chyba widzę już sposób
Andrzej.W.
24.06.2014, 20:34:37
Na zdrowie
maraska
25.06.2014, 19:39:39
Nie wiem co robię źle.
Dla testu zrobiłem tak:
$slowa ="1,2,3,4,5,6,7,8,9";
for($i=0;$i<$qry[0];$i++)
{
$filename = '/images/'.$id.'/'.$nazwa.'';
//if (file_exists($filename) == true) {
<div style="width:200px; margin: 0px 7px 0px 3px;">
<a href="/images/catalog/'.$id.'/'.$nazwa.'" class="lightbox" rel="group">
<img src="/images/catalog/'.$id.'/'.$nazwa.'" alt="'.$tablica[$i].'" style="max-width:200px;height:200px;overflow:hidden;border:1px solid black;">
</a>
</div>';
//}
}
}
W tym teście alt każdego obrazka daje "1" a każdy kolejny alt powinien mieć kolejną wartość z tablicy
nospor
25.06.2014, 19:43:55
$i ma sie zmieniac o jeden wraz z kazdym obrazkiem, a z tego co widze to masz petle dla obrazkiw oddzielnie (w kodzie nie widac) a $i sobie zmieniasz radosnie w petli FOR ktora ma sie nijak do kolejnych obrazkow, stad wychodzą ci glupoty
nospor
25.06.2014, 20:00:53
Zrozum, Twoje $i ma sie zwiekszac wraz z kolejnym zdjeciem, a nie ty robisz sztuczne petle na $i...
Z tego co widze to kolejne zdjecia dodajesz przez wywolanie kolejnej funkcji i to tam masz przekazywac kolejny numer $i. Skoro recznie odpalasz te funkcje to i recznie przekazuj do niej trzeci parametr.
Mozesz od biedy bawic sie w zmienna statyczną w funkcji i ją zwiekszac automatycznie.
maraska
25.06.2014, 20:35:17
Wpędzacie mnie w panikę i już nic nie kumam

Jak to powinno wyglądać (chodzi tylko o alt- kolejny z $tablica)?
function fotka($baza, $id) {
if($qry[0] > 0) {
$slowa ="1,2,3,4,5,6,7,8,9";
for($i=0;$i<$qry[0];$i++)
$id = $zdj['image_id'];
$nazwa = $zdj['name'];
$filename = '/images/'.$id.'/'.$nazwa.'';
//if (file_exists($filename) == true) {
<div style="width:200px; margin: 0px 7px 0px 3px;">
<a href="/images/catalog/'.$id.'/'.$nazwa.'" class="lightbox" rel="group">
<img src="/images/catalog/'.$id.'/'.$nazwa.'" alt="'.$tablica[$i].'" style="max-width:200px;height:200px;overflow:hidden;border:1px solid black;">
</a>
</div>';
//}
}
}
Przepraszam za formatowanie
Cytat(mitorski @ 25.06.2014, 20:45:57 )

Przecież Ci już napisałem!
nospor
26.06.2014, 05:51:17
@mitorski ale czytaj tez posty innych uzytkownikow, np. moje... tworzenie sztucznej petli dla $i tutaj nie jest rozwiązaniem. Ile razy trzeba to samo pisac, by w koncu dotarlo?
@miraska wywal tego FORa z $i a nastepnie:
function fotka($baza, $id, $i) {
oraz
fotka("file_zdj1", $id, 1);
fotka("file_zdj2", $id, 2);
fotka("file_zdj3", $id, 3); ........
Lepszym rowiązaniem bylaby zmienna statyczna w funkcji fotka, ale na poczatek moze byc to
maraska
28.06.2014, 20:52:27
Chcecie pomóc i za to wam dzięki, tylko, że ja nie potrafię poskładać do kupy puzli, które podsuwacie. W każdym razie nie dziła na różne sposoby.
Dałby ktoś radę poprawić poniższy kod tak, jak jego zdaniem powinno być?
function fotka($baza, $id) {
if($qry[0] > 0) {
$slowa ="1,2,3,4,5,6,7,8,9";
for($i=0;$i<$qry[0];$i++)
$id = $zdj['image_id'];
$nazwa = $zdj['name'];
$filename = '/images/'.$id.'/'.$nazwa.'';
//if (file_exists($filename) == true) {
<div style="width:200px; margin: 0px 7px 0px 3px;">
<a href="/images/catalog/'.$id.'/'.$nazwa.'" class="lightbox" rel="group">
<img src="/images/catalog/'.$id.'/'.$nazwa.'" alt="'.$tablica[$i].'" style="max-width:200px;height:200px;overflow:hidden;border:1px solid black;">
</a>
</div>';
//}
Pozwolę sobie odświerzyć temat, bo nie wiem jak w funkcji wywołać kolejne wartości z tablicy explode.
Prosze o pomoc.
Turson
28.06.2014, 20:57:28
Możesz jeszcze raz wytłumaczyć co to ma robić?
Nie ma prawa to działać w ogóle, bo pętlę powinieneś mieć objętą { i }, tablica[$i] bierze się znikąd
maraska
28.06.2014, 21:05:42
Wiem, że tak nie może działać, mniejsza o to.
Funkcja wyświetla kolejne obrazki w ligtboxie. Działa Ok.
Chodzi o dodanie do obrazków ALTa.
Jest znana zmienna $slowa, w której znajdują się oddzielone przecinkami farazy do kolejnych ALTów do kolejnych obrazków. Piersza fraza do pierwszego obrazka, duga do drugiego itd. (w tym przykłądzie frazy to 1,2,3,...)
Chodzi o to, żeby te kolejne ALTy pokazały sie w kolejnych obrazkach.
Kod powyżej.
Dzięki za zainteresowanie i z góry dzięki za pomoc.
Turson
28.06.2014, 21:12:24
Musisz do funkcji przekazać jako parametr liczbę oznaczającą który alt z tablicy jest dla tego zdjęcia
maraska
29.06.2014, 10:29:32
Tak, tylko w jaki sposób? Możesz pokazać na przykładzie wklejonego wcześniej kodu?
Hej! Czy jest ktoś, kto potrafi na przykładzie pokazać jak do funkcji dodawać kolejne wartości z tabieli explode?
Czy jest ktoś, kto potrafi na przykładzie pokazać jak do funkcji dodawać kolejne wartości z tabieli explode?
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.