Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 26.12.2004 Ostrzeżenie: (0%)
|
Ok tak na szybkiego. Biore sobie dane z bazy:
Kod <tr class="Cmite"> <td class="Cmite">Gracze:</td><td align="top"> <select multiple name="player[]" size="8" class="selecta" style="width: 200px; float:left"> {_list_user@<option value="%2">%3</option>} </select>Wcisnij CTRL aby wybrac wiecej graczy. </td> </tr> co by mi wyświetliło wszystkich użytkowników. Teraz ich dodajemy do innego rekordu:
(IMG:http://forum.php.pl/uwaga.gif) poprawiam ps: nie wiem czemu ale przekształca nawias ( na encję (IMG:http://forum.php.pl/style_emoticons/default/blink.gif) --- nospor No i kiszka. Pokazuje mi sie komunikat: Fatal error: Cannot use [] for reading in c:\usr\krasnal\www\1.0.5d\include\admin\wars.php on line 84 Jakies sugestie? Ten post edytował nospor 29.12.2005, 08:24:45 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
pierwsza sugestia - uzywaj wlasciwego bbcode
druga: $_GET['players'][]. (IMG:http://forum.php.pl/style_emoticons/default/blink.gif) 1)wszedzie odwolujesz sie do $_POST a tu nagle do $_GET. sie zdecyduj 2)dla selececta dales nazwe player a nie players 3)do wartosci multiple dobierasz sie bez drugiego []. dostaniesz tablice: $_POST['player'] 4)zalezy teraz co chcesz zrobic z tą tablicą. do tego pola w tabeli to mozna wkladac kilku zawodnikow? po przecinkach? czy dla kazdego zawodnika jest oddzielny rekord? jesli kilku to wkladasz: implode(',', $_POST['player']), pod warunkiem ze wogole ktos cos zaznaczyl w tym select'cie jesli kazdy to inny rekord to musisz petla dla kazdego zawodnika zapytanie wykonac |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 26.12.2004 Ostrzeżenie: (0%)
|
O za ten kod to przepraszam, wina zmęczenia 20 godzin przed kompem to i takie sprawy sie zapomina. A co do mojego problemu:
1. Poprawilem - dalem POST 2. Zmienilem 3. Tutaj wlasnie nic nie rozumiem. Mozesz podac jakis przyklad? 4. Chcialbym wybierac kilku graczy, zeby ich dodac do jednego rekordu. Pozniej z niego odczytac i wrzucic na stronke. Ten post edytował miSq 29.12.2005, 09:17:11 |
|
|
|
Post
#4
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
3) no przeciez ci napisalem jak sie dobrac: $_POST['player'] i tu masz tablice zaznaczonych graczy, o ile oczywiscie cos wybrano w select. jesli nic nie wybrano to tablica $_POST nie zawiera indexu player.
4) czyli graczy wpisuj po przecinku, tak jak podalem . wpisz to zamiast tego co ty wpisywales: implode(',', $_POST['player']) |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 0 Dołączył: 13.04.2005 Ostrzeżenie: (0%)
|
3) Zeby Ci to lepiej wytlumaczyc to z multiple dostaniesz tablice, ale w polaczeniu z tablica jaka jest $_POST dostajesz macierz czyli w Twoim przypadku dostaniesz $_POST['player'][0]. $_POST['player'][1], ... itd. w zaleznosci ile uzytkownik wybral tych palyerow z pole multiple.
4) Jezeli chcesz faktycznie miec w jednym rekordzie w tabeli w tym jednym polu tych wszystkich playerow no to tak jak Ci napisal nospor dajesz implode(',', $_POST['player']) - czyli wrzuci Ci cala zawartosc tej tablicy (wszystkich playerow) pooddzielanych od siebie przecinkami! Pozdro |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 26.12.2004 Ostrzeżenie: (0%)
|
Bomba działa (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) w rekordzie mam ID playerów np. 5,6,7 itd. zalezy ilu wybralem.
Teraz tylko sobie poszukam jak zrobic zeby na stronie pokazywało mi tych playerów. Tj. odczytało rekord, rodzielilo x,x,x,x i wyswietlilo playerów, z tym chyba problemu nie bede mial. Jeszcze tylko ostatnie pytanie. Bo to jest w Admin`nie dodawania meczy. To co opisalem jest przy [dodaj], teraz jesli chce edytowac chcialbym zeby pokazywaly mi sie nicki graczy jacy zostali zaznaczeniy przy [dodaj]. Wg. mnie to tak jedno zapytanie jest do bazy o wyswietlenie wszystkich grczy, a drugie bedzie zeby zaznaczylo tych co byli zaznaczeniu i tu bedzie problem. Bede musial poszukac jak zrobic zeby zaznaczylo mi te osoby w <select>. Jesli mozecie dac jakies wskazówki, to poprosze. Jeszcze raz dziekuje za pomoc. |
|
|
|
Post
#7
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
ja to bym ci proponowal wogole zmienic troche uklad bazy. wywalic to pole z playerami i dodac nowa tabele, ktora bedzie laczyla playerow z danym rekordem z pierwszej tabeli. ulatwi to pozniej wyszukiwania i wogole moim zdaniem bedzie to lepsze rozwiązanie.
ale wracajac do rzeczy do rozdzielenia x,x,x, sluzy explode. Przy wyswieltaniu graczy w select'cie, muisz teraz rozdzielic graczy z pola, a nastepnie przy wprowadzaniu option sprawdzac, czy dany gracz jest dodany (in_array) i jesli tak to dopisac do option parametre selected. Proste (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 26.12.2004 Ostrzeżenie: (0%)
|
nospor ratuj (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Mam sobie w tym rekordzie ID playerów np. 3,4,5 i nie mam problemu zebych ich wyświetliło w takiej kolejności. Teraz rodzielam je sobie - explode - i pokazuje mi sie tylko ten co jest podany w $liczba_graczy. Tzn. jesli $liczba_graczy=2; to wyświetli mi ID na drugej pozycji. Wiec napisałem pętlke, ale cos ona nie działa.
To $row['squad'] to jakaś częsc tpl i na stronie wyświetla się jako {squad}. Pomozesz? Ten post edytował miSq 30.12.2005, 04:12:32 |
|
|
|
Post
#9
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
$row['squad'] = $player[$x]; - ty tu za kazdym krokiem petli nadpisujesz tę zmienną, co w rezultacie konczy sie tym, ze zawsze ma ona wartosc z ostatniego kroku (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) PRzemysl co chciales osiągnąc bo ja nie wiem co bylo twoim zamiarem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
|
Post
#10
|
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 0 Dołączył: 13.04.2005 Ostrzeżenie: (0%)
|
edit: tylko nie wiem czy o to Ci chodzilo (IMG:http://forum.php.pl/style_emoticons/default/worriedsmiley.gif) Ten post edytował brachu 30.12.2005, 08:56:46 |
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 26.12.2004 Ostrzeżenie: (0%)
|
Po pierwsze, nie moge użyć echo - $row['squad'] to jest funkcja która na stronie wyświetlam sobie jako {squad}, nic to nie ma do bazy danych. Moze ja najlepiej wkleje całość:
W takiej postaci wyświetla mi sie dalej tylko jeden ID, chciałem spróbować:
, ale wtedy nic sie nie wyświetla. O co mi chodzi? Są mecze 3x3, 6x6, 8x8 np. i ja chce wyświetlic tych graczy co brali w nich udzial. Jesli bym mecz 3x3, w bazie mam graczy o ID 3,4,5 to musze zrobic potrójna petlen zeby rodzielić ich i wyświetlic na stronie. Moze jest jakis inny sposob? Ten post edytował miSq 30.12.2005, 14:31:57 |
|
|
|
Post
#12
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
piszesz ze masz szablon. jaki to szablon? smarty? przypisz tablice do squad a wszablonie polec po tablicy
a mozety chcesz tych graczy jeden pod drigim zapisac? To wystarczy oddzielic ich <br />
|
|
|
|
Post
#13
|
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 26.12.2004 Ostrzeżenie: (0%)
|
O toż własnie mi chodziło. Wyswietlić wszystkich z tej bazy. Teraz mam już ID, tylko musze im przypisać nicki z bazy ale z tym problemu juz chyba nie bedzie.
A mowią ze na Świecie nie ma mądrych ludzi, oni poprostu nie wiedzą gdzie szukać (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) W razie problemów jeszcze sie odezwe, bo napewno bede z tym zaznaczeniem w <select> graczy co sa w bazie. P.S. Nie moglem dodac drugie posta. Wiec problem jest taki. Ok moge wyswietlic ich ID, ale potrzebuje te ID jako osobna zmienna, po to by dac link do ich profilu. Czyli musze pobrac dane SELECT name FROM prefix_user WHERE id = ....... Jednak bez pętli tego nie da sie zrobic. Ten post edytował miSq 30.12.2005, 15:34:41 |
|
|
|
Post
#14
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
jak masz juz te id w tablicy to:
a wzasadzie ty masz tez id w postaci x,x,x. Mozesz wiece te implode zastapic tą wartoscia |
|
|
|
![]() ![]() |
|
Aktualny czas: 20.12.2025 - 23:19 |