Forum » Programiranje » avtomatsko polnenje dveh <select> -problem
avtomatsko polnenje dveh <select> -problem
Hawc ::
Pozdravljeni!
Delam neko nalogo(spletna redovalnica) v phpju pa sem prišel do točke ko rabim da v enem select boxu izberem razred(recimo 3.a) potem pa se mi spodaj prikaže še en select z vsemi dijaki v tem razredu. Pa brez osveževanja mora biti torej sem uporabil ajax httprequest. Seveda še nikoli nisem delal z jeziki ki se rabijo php/xml/javascript/ajax zato nevem kaj dosti razen kaj sem gledal na w3sqls (pač ptujska elektro šola).
tukaj so podprogrami za xmlhttprequest:
Ta stran bi se morala izvesti in tako napolniti drugi select z dijaki ampak se v tem primeru izvede le nekaj komand. Komande kjer sem napisal v komentar se ne izvedejo seveda nikjer nobenega errorja(kar ponavadi so če npr. sql query slab). Se pa ta stran uporablja še nekje drugje, tam pa vse lepo laufa. Aja pa ne delam z mysql ampak z postgres.
Zdaj pa če mi lahko kdo pomaga to rešiti prosim.
Delam neko nalogo(spletna redovalnica) v phpju pa sem prišel do točke ko rabim da v enem select boxu izberem razred(recimo 3.a) potem pa se mi spodaj prikaže še en select z vsemi dijaki v tem razredu. Pa brez osveževanja mora biti torej sem uporabil ajax httprequest. Seveda še nikoli nisem delal z jeziki ki se rabijo php/xml/javascript/ajax zato nevem kaj dosti razen kaj sem gledal na w3sqls (pač ptujska elektro šola).
<div class="telo"> <div id="izberi_razred"> <?php if($_GET['razred']!=0) { $idr=$_GET['idr']; echo 'Razred: '.$_GET['razred'].'<br />'; include "viewocene.php"; } else if($_GET['razred']==0) { $idp=$_GET['predmet']; $idpf=$_SESSION['profinfo']->id_profesor; $target_div="'izberi_dijak'"; $dbh=connect_to_server(); $result=pg_query("select * from prof_razred where id_profesor=$idpf AND id_predmet=$idp;"); echo '<form><select name="razred_list" onchange="napolniDijake(this.value,'.$target_div.');">'; echo '<option value="0">izberi razred</option>'; while($row=pg_fetch_object($result)) { echo '<option value="'.$row->id_razred.'">'.$row->letnik.'.'.$row->oddelek.'</option>'; } echo '</select></form>'; pg_free_result($result); pg_close($dbh); } ?> </div> <div id="izberi_dijak"> <?php //if($_GET['razred']==0) include("viewocene.php"); ?> </div> <div id="dijak_ocene"> Ocene dijaka </div> </div>
tukaj so podprogrami za xmlhttprequest:
var xmlhttp; //stvari ki se nanašajo na XmlHttpReq function showUser(str,id,id_r) { xmlhttp=GetXmlHttpObject(); if(xmlhttp==null) { alert("Brskalnik ne podpira http request!"); return; } var url="tabela_ocene.php"; url=url+"?idd="+str; url=url+"&idr="+id_r; url=url+"&ids="+Math.random(); //xmlhttp.onreadystatechange=stateChanged(id); xmlhttp.open("GET", url, false); xmlhttp.send(null); document.getElementById(id).innerHTML=xmlhttp.responseText; } function stateChanged(id) { if(xmlhttp.readyState==4) { document.getElementById(id).innerHTML=xmlhttp.responseText; } } function GetXmlHttpObject() { if(window.XMLHttpRequest) { //IE7+,FF,Chrome,Opera,Safari return new XMLHttpRequest(); } if(window.ActiveXObject) { //IE6,IE5 return new ActiveXObject("Microsoft.XMLHTTP"); } return null; } //var xmlhttp2; function napolniDijake(idr,id) { var xmlhttp2=GetXmlHttpObject(); if(xmlhttp2==null) { alert("Brskalnik ne podpira http request!"); return; } var url="viewocene.php?idr="+idr; xmlhttp2.open("GET", url, false); xmlhttp2.send(null); document.getElementById(id).innerHTML=xmlhttp2.responseText; alert("url:"+url); }
Ta stran bi se morala izvesti in tako napolniti drugi select z dijaki ampak se v tem primeru izvede le nekaj komand. Komande kjer sem napisal v komentar se ne izvedejo seveda nikjer nobenega errorja(kar ponavadi so če npr. sql query slab). Se pa ta stran uporablja še nekje drugje, tam pa vse lepo laufa. Aja pa ne delam z mysql ampak z postgres.
<?php ini_set('display_errors', 'On'); error_reporting(E_ALL | E_STRICT); $idr=$_GET['idr']; $target_div="'dijak_ocene'"; echo '<form>'; echo '<select name="dijaki_list" onchange="showUser(this.value,'.$target_div.','.$idr.');">'; echo '<option value="0">Izberi dijaka</option>'; $dbh=connect_to_server(); //ta se ne izvede $i=0; //echo "<option>$dbh</option>"; $result=pg_query($dbh,"select id_dijak,ime,priimek from dijakview where id_razred=$idr;"); //ta se ne izvede while($row=pg_fetch_object($result)) { //ta se ne izvede echo '<option value="'.$row->id_dijak.'">'.$row->priimek.', '.$row->ime.'</option>'; //ta se ne izvede $i++; //ta se ne izvede }//ta se ne izvede echo "<option>i:$i</option>"; //ta se ne izvede echo "<option>".pg_last_error()."</option>"; //ta se ne izvede pg_free_result($result); //ta se ne izvede pg_close($dbh); //ta se ne izvede echo '</select></form>'; ?>
Zdaj pa če mi lahko kdo pomaga to rešiti prosim.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | mySQL izpis many-to-many to matrixOddelek: Izdelava spletišč | 890 (651) | klemenSLO |
» | Sortiranje podatkov v mysql podatkovni baziOddelek: Programiranje | 894 (702) | i33a |
» | [sql] problemOddelek: Programiranje | 719 (601) | tx-z |
» | Visual Basic in ExcelOddelek: Programiranje | 2670 (2236) | Vesoljc |
» | en SQL se noče generirat v možganihOddelek: Izdelava spletišč | 1053 (879) | zdravc |