Neurochirurgie minim invazivă
"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv. Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice. www.neurohope.ro |
Selecturi legate intre ele
Last Updated: Mar 18 2008 12:01, Started by
- Rares -
, Mar 14 2008 22:40
·
0
#1
Posted 14 March 2008 - 22:40
Lucrez de cateva ore la un formular mai complex si m-am lovit de o chestie noua pentru mine.
Imi trebuie 2 selecturi care sa fie legate astfel: Selectez o valoare din primul select (judete) dupa care in al doilea select sa-mi apara localitatile din judetul selectat in primul select. Am gasit ceva javascript dar problema este ca valorile pt al doilea select trebuie sa le iau din baza de date. Pentru judete nu ar fi o problema sa le definesc manual. Ma poate ajuta cineva cu o idee ceva, poate chiar cu o bucatica de script. Marturisesc ca javascript nu prea cunosc. Va multumesc! Edited by - Rares -, 14 March 2008 - 22:41. |
#2
Posted 15 March 2008 - 05:13
- Rares -, on Mar 14 2008, 22:40, said: Lucrez de cateva ore la un formular mai complex si m-am lovit de o chestie noua pentru mine. Imi trebuie 2 selecturi care sa fie legate astfel: Selectez o valoare din primul select (judete) dupa care in al doilea select sa-mi apara localitatile din judetul selectat in primul select. Am gasit ceva javascript dar problema este ca valorile pt al doilea select trebuie sa le iau din baza de date. Pentru judete nu ar fi o problema sa le definesc manual. Ma poate ajuta cineva cu o idee ceva, poate chiar cu o bucatica de script. Marturisesc ca javascript nu prea cunosc. Va multumesc! poate ne zici cu iti arata baza de date... Din ce ai zis ca inteleg ca vrei sa listezi toate localitatile dintr-un anumit judet nu? Nu prea ai nevoie de 2 selecturi. Faci unul cu cuplare: Sa zicem ca ai cele 2 tabele: Judete id_judet : int, PK nume: varchar Localitati id_localitate : int, PK id_judet: int, FK din Judete nume: varchar atunci daca vrei sa aflii toate localitatile din judetul cluj faci: select Localitati.nume from Localitati, Judete where Localitati.id_judet=Judete.id_judet and Judete.nume='Cluj' in momenul in care cineva a selectat un Judet trebuie sa folosesti ajax pentru a incarca lista localitatilor in drop down box. E o chestiune clasica...exemplul dat cel mai des intr-un tutorial de ajax: http://roshanbh.com....ax-and-php.html |
#3
Posted 15 March 2008 - 09:21
pitagora, multuesc pentru raspuns. Nu am pomenit nimic despre baza de date pt ca asta nu ar fi fost o probema. Stiu binisor php si mysql.
Problema e partea de javascript/ajax. Am 2 tabele in baza de date: Judete id_judet : int, PK nume: varchar Localitati id_localitate : int, PK id_judet: int, FK din Judete nume: varchar Am nevoie de 2 selecturi petru ca nu vreau sa mi se selecteze toate localitatile dintr-un judet. In momentul in care selectez un judet, vreau ca din al doilea select sa pot selecta 1 localitate care apartine acelui judet. Deci al doilea select sa se reactualizeze cu localitatile din judelul primului select. E interesant si cazul postat de tine, dar nu pt aceasta problema. |
#4
Posted 15 March 2008 - 10:17
folosesti o librarie javascript (jquery , prototype , mootools)
fiecare librarie are si o documentatie pt partea cu ajax (cum ar trebuii sa arate o functie) pe primul select pui onchange=functia_ta_ajax(this.value) iar functia_ta_ajax() va trimite acel this.value (valoarea primul select) catre un fisier .php , acolo in php faci select where id_judet=$id_judet (acel this.value transferat in php) si iti va rezulta selectul 2 acel rezultat ajax (adica selectul 2) il poti introduce in site fara refresh in timp real cu innerHTML (toate exemplele de functii ajax din librariile astea folosesc innerHTML pt afisarea rezultatului deci nu e mare lucru) era un site al unui tip cu exact ce vrei tu sa faci (judet , localitati) dar vad ca nu mai e, eu de acolo m-am inspirat pentru prima oara , pana am invatat ajax sa-mi pot face ce doresc) |
#5
Posted 17 March 2008 - 12:53
again, iti multumesc pe ajutor.
Totusi nu am reusit mare lucru. (o sa invat javascript/ajax dar momentan nu-mi permite timpul) Mi-am batut capul cu asa ceva http://www.dynamicdr...dmenu/index.htm dar e cu 3 selecturi si este mult prea stufos. Valorile si le ia dintr-un al treilea fisier .js unde sunt setate. Dupa indelungi cautari am gasit ceva mai simplu si usor de modificat. Sper ca acum sa reusesc. Pentru cei interesati: http://www.dhtmlgood..._chained_select sau http://forums.devart...help-32371.html Edited by - Rares -, 17 March 2008 - 13:00. |
#7
Posted 17 March 2008 - 13:50
Ai doua tabele:
CREATE TABLE judete( judet_id int not null primary key auto_increment, judet_nume varchar(30) ); CREATE TABLE localitati( localitate_id int not null primary key auto_increment, judet_id int not nullm localitate_nume varchar(40) );Ai un fisier localitati.php: <?php header("Cache-Control: no-cache, must-revalidate"); header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); if(!$_GET['judet_id']) { echo 'A intervenit o eroare'; exit; } mysql_connect('localhost', 'root', ''); mysql_select_db('baza-de-date'); $sql='SELECT localitate_nume, localitate_id FROM localitati WHERE judet_id='.$_GET["judet_id"]; $rezultat=mysql_query($sql); if(mysql_num_rows($rezultat)<1) { echo 'Nu exista valori pentru judetul numarul '.$_GET["judet_id"]; exit; } while($camp=mysql_fetch_array($rezultat)) { echo $camp['localitate_id'].",".$camp['localitate_nume'].";"; } exit; ?>Si ai fisierul select.php: <html> <head> <script language="javascript"> function getXmlHttpObject() { var xmlHttp=null; try { xmlHttp=new XmlHttpRequest(); catch (e) { try { xmlHttp=new ActiveXObject('Msxml2.XMLHTTP'); } catch (e) { xmlHttp=new ActiveXObject('Microsoft.XMLHTTP'); } } return xmlHttp; } function localitati(judetId) { var xmlHttp=getXmlHttpObject(); if(xmlHttp==null) { alert('Browserul tau nu suporta AJAX'); return; } var url='localitati.php?judet_id='+judetId; localitati=new Array(); randuri=new Array(); xmlHttp.open('GET', url, true); xmlHttp.onreadystatechange=function() { document.getElementById('localitate').innerHTML=''; randuri=split(';', xmlHttp.responseText); for(i=0;i<i.length;i++) { localitati[i]=split(',', randuri[i]); for(i=0;i<i.length;i++) { document.getElementById('localitate').innerHTML=document.getElementById('localitate').innerHTML+'<option value="'+localitati[i][0]+'">'+localitati[i][1]+'</option>'; } xmlHttp.send(null); } </script> </head> <body> <select name="judet" id="judet" onchange="localitati(this.value)"> <?php mysql_connect('localhost', 'root', ''); mysql_select_db('baza-de-date'); $sql='SELECT * FROM judete'; $rezultat=mysql_query($sql); if(mysql_num_rows($rezultat)<1) { echo '<option>Nu au fost gasite judete</option>'; exit; } while($judet=mysql_fetch_array($rezultat)) { echo '<option value="'.$judet["judet_id"].'">'.$judet["judet_nume"].'</option>'; } ?> </select> <br> <select name="localitate" id="localitate"> <option>Selecteaza mai intai judetul</option> </select> </body> </html> Nu stiu daca merge, pentru ca nu l-am testat, poate am greseli gramaticale prin el, ca l-am facut la repezeala :D |
#8
Posted 18 March 2008 - 12:01
In fine, pentru ca nu pot sa-i dau edit postez iar.
Functia XmlHttpRequest() se scrie XMLHttpRequest(), deci va rog sa corectati in scriptul vostru |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users