Próbowałem już naprawdę mnóstwa eksperymentów, różnych głupich nawet, testowałem co mi przyszło do głowy nie patrząc nawet na to, że to działa po stronie serwera a to po stronie przeglądarki.
Od razu zaznaczam że nie chce korzystać z json lub XML.
O co mi chodzi.
1. Ładuje się strona (wykonuje się kwerenda która pobiera sobie dane do zmiennej $result)
2. Jako że jest to Tabela Asocjacyjna to chyba dużym problemem będzie przepisanie jej do JS więc zrobiłem coś takiego :
$sql="SELECT raport FROM spis.raporty"; $result=mssql_query($sql,$conn); $numrows=mssql_num_rows($result); while($result and $row=mssql_fetch_array($result)) { $tablica[] = $row[0]; }
Przepisałem sobie nazwy raportów do zwykłej tabeli jednowymiarowej.
3. Teraz mam funkcję w JS która podmienia mi wartości w selectach bez przeładowania strony, ale działa ona na tablicach JS a nie na danych pobieranych z bazy.
Kod
function zamiana(wybor)
{
var jeden = new Array;
if (wybor == "Programowanie") {
var dlugosc = jeden.length-1;
document.szukajka.elements.drugi.options.length = jeden.length;
for (var i=0; i<= dlugosc; i++) {
document.szukajka.drugi.options[i] = new Option(jeden[i]);
document.szukajka.drugi.options[i].value = jeden[i];
}
{
var jeden = new Array;
if (wybor == "Programowanie") {
var dlugosc = jeden.length-1;
document.szukajka.elements.drugi.options.length = jeden.length;
for (var i=0; i<= dlugosc; i++) {
document.szukajka.drugi.options[i] = new Option(jeden[i]);
document.szukajka.drugi.options[i].value = jeden[i];
}
Nie używając ajaxa do łączenia się z bazą, chcę te dane które mam w $tablica[] przypisać do tabeli
"jeden"
Próbowałem już tak :
Kod
var jeden = new Array(<?php echo $tablica; ?>);
lub
Kod
var jeden = new Array($tablica);
lub
Kod
<?php echo 'var jeden = new Array('.$tablica.')';
Narazie najlepsze co udało mi się osiągnąć to zrobienie czegoś takiego co powoduje wyświetlenie pierwszej wartości w tabeli 16 razy.
Kod
$sql="SELECT raport FROM spis.raporty";
$result=mssql_query($sql,$conn);
$numrows=mssql_num_rows($result);
$i = 0;
while($result and $row=mssql_fetch_array($result))
{
$tablica[] = $row[0];
}
?>
<script language = "javascript">
<!--
function zamiana(wybor)
{
var jeden = new Array;
var dwa = new Array;
for (var i=0; i<= <?php echo $numrows; ?>; i++) {
<?php $i++;?> ( TUTAJ NIE CHCE ZWIĘKSZAĆ WARTOŚCI
)
jeden[i] = "<?php echo $tablica[$i]; ?>";
}
if (wybor == "Programowanie") {
var dlugosc = jeden.length-1;
document.szukajka.elements.drugi.options.length = jeden.length;
for (var i=0; i<= dlugosc; i++) {
document.szukajka.drugi.options[i] = new Option(jeden[i]);
document.szukajka.drugi.options[i].value = jeden[i];
}
}
}
-->
</script>
$result=mssql_query($sql,$conn);
$numrows=mssql_num_rows($result);
$i = 0;
while($result and $row=mssql_fetch_array($result))
{
$tablica[] = $row[0];
}
?>
<script language = "javascript">
<!--
function zamiana(wybor)
{
var jeden = new Array;
var dwa = new Array;
for (var i=0; i<= <?php echo $numrows; ?>; i++) {
<?php $i++;?> ( TUTAJ NIE CHCE ZWIĘKSZAĆ WARTOŚCI

jeden[i] = "<?php echo $tablica[$i]; ?>";
}
if (wybor == "Programowanie") {
var dlugosc = jeden.length-1;
document.szukajka.elements.drugi.options.length = jeden.length;
for (var i=0; i<= dlugosc; i++) {
document.szukajka.drugi.options[i] = new Option(jeden[i]);
document.szukajka.drugi.options[i].value = jeden[i];
}
}
}
-->
</script>
Proszę o pomoc, zwykłe przepisanie jednej kolumny z bazy z php do tabeli w JS


Pozdrawiam
Podbijam temat, bo zniknął z pierwszej strony (pewnie nie chciało się Wam czytać moich wypocin)
Pytanie krótkie :
Tak mogę przypisać sobie zmienną
<script type="text/javascript"> </script>
a jak analogicznie mogę przypisać tablicę

Robiąc tak :
var jeden New Array ("<?php echo $tablica; ?>");
Dostaje informację "Array", odwołując się do indeksu (nie mogę podstawić zmiennej sterującej z JS
