Witam,
Mam taki nietypowy problem.
TESTUJĘ okno POPUP [bez Javascriptu] i wszystko byłoby OK, gdyby nie fakt, że w oknie pop-up jak kliknę wyskakuje mi ten sam wynik - mimo, iż klikam na różne wyniki.
Przykładowo: mam 4 wyniki z bazy. Klikam na pierwszy - i jest OK, potem klikam na 3 - pokazuje mi to samo co w pierwszym, gdy klikam na kolejny - to samo co w 1. Jak to mogę zmienić.
Dodam, że okno POP-up jest bez JS a w samym tym 'oknie' chcę wyciągnąć dane o konkretnym rekordzie. Wszystko zaś roibię w pętli WHILE.
Oto kod [CSS jest OK]:
<a href="#popup1" class="przycisk_rekord">Pokaż</a>
http://www.php.net/echo '<div id="popup1" class="overlay"> <div class="popup"> <h2>Here i am</h2> <a class="close" href="#">×</a> <div class="content"> <p>Thank to pop me out of that button, but now im done so you can close this window - ...<br /> NAZWA - '.$row['nazwa'].' - OPIS - '.$row['opis'].'.</p> </div> </div> </div>';
Zrozumialem ze chcesz po kliknieciu w konkretny link wyswietlic konkretny rekord.
Musisz w takim razie przekazac parametr z konkretnym ID ktory chcesz pobrac.
W oknie popup wyciagasz z tabeli dane o konkretnym id.
Jak najbardziej. Chciałbym mieć w panelu wszystkie rekordy - rozpisane w skrócie. Gdy kliknę w 'Pokaż', chciałbym wszystkie szczegóły dotyczące konkretnego JEDNEGO rekordu. I jak to zrobić. Problem w tym, że w oknie POPup pokazuje pierwszy rekord z listy a nie każdy.Przesyłam większą część kodu, aby nie wyglądało, jakby to było wyrwane z kontekstu:
$results = mysqli_query($link, 'SELECT * FROM wydarzenia'); http://www.php.net/echo '<p class="rekordy_napis">Rekordy w bazie</p> <table> <tr> <th class="kom_01">Nazwa</th> <th class="kom_02">Opis wydarzenia</th> <th class="kom_03">Data dodania</th> <th class="kom_04" colspan="2">Akcje</th> </tr> <tr>'; while ($row = mysqli_fetch_array($results)) { http://www.php.net/echo '<td>'.$row['nazwa'].'</td> <td>'.$row['opis'].'</td> <td>'.$row['data'].'</td> <td class="rekordy_baza"> <a href="#popup1" class="przycisk_rekord" title="Pokaż szczegóły rekordu">Pokaż</a> <a href="wydarzenia.php?edit='.$row['id'].'" class="przycisk_edycja" title="Edytuj rekord">Edycja</a> <a href="serwer.php?del='.$row['id'].'" class="przycisk_usun" OnClick="return confirm(\'Czy na pewno T A K Ą decyzję przesłać?\');" title="Usuń rekord">Usuń</a> </td> </tr>'; //Okno POP-UP http://www.php.net/echo '<div id="popup1" class="overlay"> <div class="popup"> <h2>Here i am 2</h2> <a class="close" href="#">×</a> <div class="content"> <p>Thank to pop me out of that button, but now im done so you can close this window - ...<br /> NAZWA - '.$row['nazwa'].' - OPIS - '.$row['opis'].'.</p> </div> </div> </div>'; } http://www.php.net/echo '</table>';
Wywal caly ten kod popupa z petli.
Trzymaj go gdzies indziej ale nie w petli. Po drugie to tak nie zadziala. Nie wygenerujesz tego tak zeby popup to pokazal od razu. najlepiej to tylko dac link z parametrem id (tak jak to robisz dla usuniecia chocby) i w kodzie popup polaczyc sie z baza, czytac z tabeli konkretny id i pokazac dane.
Mozna jeszcze podczas czytania danych w petli przypisac konkretne sesje do konkretnych danych ale link zostaje. Wtedy zamiast ponownie laczyc sie z baza wyswietlac dane z sesji. Tyle ze tak sie nie powinno robic tzn przechowywac danych w sesjach.
Zobacz sobie co pokazuje kod zrodlowy wygenerowanej strony. (Pętla)
Inna sprawa że id może być w kodzie tylko jeden.
<http://december.com/html/4/element/a.html href="#popup<?php echo $row['id']; ?>" class="przycisk_rekord" title="Pokaż szczegóły rekordu">Pokaż</http://december.com/html/4/element/a.html>
<http://december.com/html/4/element/div.html id="popup<?php echo $row['id']; ?>" class="overlay">
Szczerze mówiąc, właśnie chodzi mi o to:
- wyświetlanie pojedynczego rekordu w osobnej karcie ale ze wszystkimi danymi dla indywidualnego ID rekordu - w tym samym lub na tej samej stronie ale jako POP-UP.
Jak mogę to zrobić inaczej niż podawano - to grzebanie w kodzie nie ułatwia zadania. To mój prywatny, domowy projekt - więc nie będzie raczej pokazywany publicznie.
To co ci podal leonpro778 to 10 sekund roboty, szczegolnie ze podal ci dokladnie co i gdzie masz zmienic. W czym problem?
Jesli zas naprawde sie upierasz, ze to ma byc na nowej karcie, znaczy ze to ma byc normalna podstrona z info o tym rekordzie. Musisz wiec taka podstrone wpierw zrobic. A czy ja potem bedziesz odpalal w popup czy nie to juz inna sprawa
Dobra, sprawdziłem wszystko. Działa Dziękuję za pomoc.
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)