Zmiana treści na stronie


(Druii) #1

Witam

Od rana męczę się z dość prostą rzeczą, mianowicie pobieram dane z MySQL i w zależności od opcji z formularza, ma się wyświetlać odpowiednia tabelka.
Cały kod na którym się wzorowałem (i działał) to:

 

<script type="text/javascript">



function podmiana(co) {



var ile = document.getElementById("wybor").options.length;



for(var i=1; i<=ile; i++) {



var ktora = "w"+i;



if(ktora == co) {



document.getElementById(ktora).style.display = "block";



}



else if(ktora != co) {



document.getElementById(ktora).style.display = "none";



}



}



}



</script>















<body>























<form id="formularz" action="test.php">



<select name="wybor" id="wybor" onChange="podmiana(this.value);">



<option value="w1">Treść nr 1</option>



<option value="w2">Treść nr 2</option>



<option value="w3">Treść nr 3</option>



<option value="w4">Treść nr 4</option>



</select>



</form>











<div id="w1">



Tekst 1 



</div> 



<div id="w2">



Tekst 2 



</div> 



<div id="w3">



Tekst 3 



  </div> 



<div id="w4">



Tekst 4 



</div>







</body>

oraz prosty css
 

#w1 {

display: block;

}

#w2,#w3,#w4 {

display: none;

}

Po zmianie w formularzu option, zmienia się tekst w DIV.

Analogicznie do tego przykładu, podmieniłem kilka elementów:

<script type="text/javascript">



function podmiana(co) {



var ile = document.getElementById("wybor").options.length;



for(var i=1; i<=ile; i++) {



var ktora = "w"+i;



if(ktora == co) {



document.getElementById(ktora).style.display = "block";



}



else if(ktora != co) {



document.getElementById(ktora).style.display = "none";



}



}



}



</script>















<body>











<?php



			



			



			$polacz = mysqli_connect(" XXXX ")or die ("Błąd połączenia: " .mysqli_connect_error());



			mysqli_query($polacz,"set names 'utf8'");



				



			$result = mysqli_query($polacz, "select * from wiz_standard_cyfra order by naklad;") or die("Bład zapytania");



			



			



			



?>











<form id="formularz" action="test.php">



<select name="wybor" id="wybor" onChange="podmiana(this.value);">



<option value="w1">Treść nr 1</option>



<option value="w2">Treść nr 2</option>



<option value="w3">Treść nr 3</option>



<option value="w4">Treść nr 4</option>







</select>



</form>







<table class="tabelka">



			<tr>



			<th>Nakład </th>



			<th class="srodek">Cena netto/<strong>brutto</strong></th>



			</tr>







<div id="w1">



<?php



while ($row = mysqli_fetch_array($result)) 



			{	



				echo "<tr>";



				echo "<td>" .$row["naklad"] . "</td> <td class='srodek'><center>" .$row["cena_netto"] . " / <strong>" .$row["cena_netto"]*1.23 . "</center></strong></td>";		



				echo "</tr>";				



			}	



			?>



</div> 



<div id="w2">



<?php



								



			while ($row2 = mysqli_fetch_array($result)) 



			{	



				echo "<tr>";



				echo "<td>" .$row2["naklad"] . "</td> <td class='srodek'><center>" .$row2["cena_netto_j"] . " / <strong>" .$row2["cena_netto_j"]*1.23 . "</center></strong></td>";		



				echo "</tr>";				



			}	



			?></div> 



<div id="w3">







<?php



			



					



			while ($row = mysqli_fetch_array($result)) 



			{	



				echo "<tr>";



				echo "<td>" .$row3["naklad"] . "</td> <td class='srodek'><center>" .$row3["cena_netto_czb"] . " / <strong>" .$row3["cena_netto_czb"]*1.23 . "</center></strong></td>";		



				echo "</tr>";				



			}	



			?>



			</div> 



<div id="w4">



<?php



		



			while ($row = mysqli_fetch_array($result)) 



			{	



				echo "<tr>";



				echo "<td>" .$row4["naklad"] . "</td> <td class='srodek'><center>" .$row4["cena_netto_czb_j"] . " / <strong>" .$row4["cena_netto_czb_j"]*1.23 . "</center></strong></td>";		



				echo "</tr>";				



			}	



			?>



			</div>



</table >



</body>

Jak widzicie, doszło połączenie do MySQL oraz w każdym DIV zamiast prostego tekstu, jest wyświetlanie danych z bazy w formie tabelki.
Działa tylko opcja nr1, a kiedy zmieniam na 2,3,4 to pojawia się puste pole.

Próbowałem dodać przycisk input type=‘sumbit’, ale po przyciśnięciu ładowało tylko nr. 1, niezależnie który przycisk wybrałem. 

Na ‘sztywno’ wyświetla mi wszystkie tabelki poprawnie, ale jednak nie chce wywalać czterech tabelek na stronę, tylko jedną którą podmienię kiedy będę chciał. 

Gdzie popełniłem błąd? Zaznaczam że ostatnio kontakt z php+mysql miałem jakieś półtorej roku temu, więc sporo uleciało z głowy :confused:

Dzięki
Łukasz