Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][HTML][PHP] Skrypt listy formularza
Forum PHP.pl > Forum > Przedszkole
borutapl
Witam chce napisać skrypt w którym wybieranie dowolnej opcji w formularzu bedzie zmieniało zwawartość innego elementu strony coś na zasadzie Rabunków z gry www.thecrims.com.
Chodzi o to że pobieram z bazy MySQL tablice dotyczącą rabunków:
-rabunki- [id_rabunku][nazwa][ranga][min_kase][max_kase]

to zapisuje w zmiennej $rabunki.
  1. $rabunek=mysql_query("SELECT * FROM `rebunki`");


I teraz tak w pętli tworze formularz z pobranymi rekordami (w bazie sa tylko 2 rekordy wiec pętle na razie ustawiam ręcznie):


  1. <div id=RABUNEK>
  2. <form action="index.php?a=rabunek" method="POST">
  3. <select name="rabunek" size="1">

  1. <?php
  2. for($i=0;$i<2;$i++)
  3. {
  4. $rabunki=mysql_fetch_array($rabunek);
  5. echo "<option value=$rabunki[id_rabunku]>$rabunki[nazwa] $rabunki[energia]% D:$rabunki[poziom]</option>";
  6. }
  7. ?>

  1. <input type=submit value="Rabuj">
  2. </div>


Tutaj chce żeby był albo <div> albo <iframe> który by działał na zasadzie, że jeśli wybiorę którąś z opcji formularza to w tym <div> lub <iframe> pojawi się np.
  1. echo $rabunki['nazwa']."<br>";
  2. echo $rabunki['min_kase']."$ - ".$rabunki['max_kase']."$";


Chciałbym żeby to działało interaktywnie, zmieni opcje w formularzu to zmieni się ten <div> <iframe>(nie gdy kliknę Submit tylko gdy zmienie wybór). Domyślam się, że trzeba będzie użyć JS, ale sam nie jestem w stanie tego zrobić i nie proszę o gotową odpowiedź jak już to może jakiś poradnik w którym coś takiego lub zbliżonego znajdę.
b4rt3kk
Tutaj będzie trzeba użyć nie tylko JS, ale i Ajaxa, skoro w tym divie mają się pojawiać jakieś dane z bazy i ma się to odbywać bez przeładowania. Tak w ogóle to dosyć pokrętnie opisałeś swój problem. Ciężko zrozumieć o co konkretnie pytasz.
borutapl
Chciałbym wiedzieć jak to osiągnąć. A dokładnie to żeby właśnie do tego Diva dodatkowego z informacjami i [min_kase] i [max_kase] wyświetlało to bez przeładowania strony.
b4rt3kk
Wklej to sobie w HEAD strony.

  1. <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
  2. <script type="text/javascript">
  3. $(function(){
  4. $('select[name="rabunek"]').change(function(){
  5. $('#mojDiv').html( 'jakis tekst dowolny' + $(this).val() );
  6. });
  7. });


I dorzuć gdzieś w treści strony:

  1. <div id="mojDiv"></div>


Po zmianie opcji w select zmieni się treść diva.
borutapl
Dzięki Bardzo smile.gif. O to właśnie chodziło biggrin.gif

Hmmm bardzo fajnie, że to działa, ale jak teraz moge wyświetlić w tej funkci JS elementy tablicy PHP ?

Tzn w tym miejscu gdzie jest dowolny tekst chcialbym wyswietlic np. $rabunki[nazwa] z tablicy $rabunki, ale że to tylko kod html to nie czyta zmiennych.
b4rt3kk
Cytat(borutapl @ 22.06.2013, 17:50:49 ) *
Dzięki Bardzo smile.gif. O to właśnie chodziło biggrin.gif

Hmmm bardzo fajnie, że to działa, ale jak teraz moge wyświetlić w tej funkci JS elementy tablicy PHP ?

Tzn w tym miejscu gdzie jest dowolny tekst chcialbym wyswietlic np. $rabunki[nazwa] z tablicy $rabunki, ale że to tylko kod html to nie czyta zmiennych.


Masz dwa wyjścia, albo np. w option value dać to co chcesz wyświetlić później w tym div-ie, albo użyć ajaxa, bo nie ma innej opcji by przekazać zmienną PHP do JS.
borutapl
Rozumiem, jeśli chodzi o Ajax czy JS to dopiero raczkuje więc sam tego nie napiszę, masz może jakiś dobry poradnik który by mi pomógł bez większego wgłębiania się w to teraz ?
set4812
Cytat(borutapl @ 22.06.2013, 22:32:21 ) *
Rozumiem, jeśli chodzi o Ajax czy JS to dopiero raczkuje więc sam tego nie napiszę, masz może jakiś dobry poradnik który by mi pomógł bez większego wgłębiania się w to teraz ?

Hmm tam pokazano ci na przykładzie jquery tutaj masz dosyc dobry kurs co to tego http://try.jquery.com/
Co do ajaxa jak przejrzysz kurs to masz tu wywołania ajax w jquery http://api.jquery.com/jQuery.ajax/
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.