Twoje PC  
Zarejestruj się na Twoje PC
TwojePC.pl | PC | Komputery, nowe technologie, recenzje, testy
B O A R D
   » Board
 » Zadaj pytanie
 » Archiwum
 » Szukaj
 » Stylizacja

 
M E N U
  0
 » Nowości
0
 » Archiwum
0
 » Recenzje / Testy
0
 » Board
0
 » Rejestracja
0
0
 
Szukaj @ TwojePC
 

w Newsach i na Boardzie
 
OBECNI NA TPC
 
 » KHot 19:44
 » Artaa 19:42
 » MARtiuS 19:41
 » luzak2363 19:36
 » metacom 19:34
 » Ramol 19:28
 » Star Ride 19:28
 » NWN 19:25
 » skalak23 19:22
 » DJopek 19:19
 » Ziomek 19:17
 » piszczyk 19:14
 » Majster 19:10
 » Rafael_3D 19:08
 » bajbusek 19:07
 » emigrus 19:01
 » rooter666 18:58
 » XepeR 18:55
 » zibi13 18:54
 » DYD 18:48

 Dzisiaj przeczytano
 343580 postów,
 wczoraj 557004

 Szybkie ładowanie
 jest:
włączone.

 
ccc
TwojePC.pl © 2001 - 2026
A R C H I W A L N A   W I A D O M O Ś Ć
    

[javascript,php,mysql] pomocy z kodem, bo $%&$@# zwariuje.. , koral 30/05/05 03:14
OK, chcialem polaczyc uzaleznianie zawartosci wyswietlanej w dwoch <select> (za pomoca javascript, to sie da wszedzie znalezc) z wypelnianiem tych <select> poprzez mysql i php. od slow do czynow, oto statyczny,dzialajacy javascript(nie pamietam skad):
-------------------------------------------------------------------
-------------------------------------------------------------------
<form name="doublecombo">
<p><select name="example" size="1" onChange="redirect(this.options.selectedIndex)">
<option>Witryny techniczne</option>
<option>Witryny informacyjne</option>
<option>Wyszukiwarki</option>
</select>
<select name="stage2" size="1">
<option value="http://wsabstract.com">Website Abstraction</option>
<option value="http://www.news.com">News.com</...n>
<option value="http://www.wired.com">Wired News</option>
</select>
<input type="button" name="test" value="Wczytaj!"
onClick="go()">
</p>
<script>
<!--
var groups=document.doublecombo.example.options.length
var group=new Array(groups)
for (i=0; i<groups; i++)
group[i]=new Array()
group[0][0]=new Option("Website Abstraction","http://wsabstract.com")
group[0][1]=new Option("News.com","http://www.news.com")
(...........troche wycialem..............)
group[2][2]=new Option("Excite","http://www.excite.com")
group[2][3]=new Option("Lycos","http://www.lycos.com")
var temp=document.doublecombo.stage2
function redirect(x){
for (m=temp.options.length-1;m>0;m--)
temp.options[m]=null
for (i=0;i<group[x].length;i++){
temp.options[i]=new Option(group[x][i].text,group[x][i].value)
}
temp.options[0].selected=true
}
function go(){
location=temp.options[temp.selectedIndex].value
}
//-->
</script>
-------------------------------------------------------------------
-------------------------------------------------------------------
A teraz to co poczarowalem (czesc z zapytaniami do bazy i obrobka wynikow jest wzieta z http://devshed.spunge.org/...Side/MySQL/JS_Arrays/ ):
-------------------------------------------------------------------
-------------------------------------------------------------------
<form name="doublecombo">
<SELECT NAME="example" onChange="redirect(this.options.selectedIndex)">
<? (.....tu zapytanie do mysql i stworzenie <option> -wszystko jest ok) ?>
</SELECT>
<select name="stage2" size="1">
<option>cosnapoczatku</option>
</select>
<input type="button" name="test" value="Wczytaj!" onClick="go()">
</form>
<script language="javascript">
<!--
<? (.......tu sa tworzone analogiczne jak w poprzednim group[x][y], ale poprzez mysql - wynik tego jest poprawny i zgodny z oczekiwanym:)- przynajmniej patrzac na zrodlo storny.......)
$query = "SELECT p.person_id, s.person_id, CONCAT(last_name,', ',first_name) AS name, skill_id
FROM personnel p, person_skill s WHERE p.person_id = s.person_id ORDER BY skill_id, name";
include("..\\..\\inc\\polaczenie.inc");
$type = "";
$number2 = "0";
?> (....wypisuje to samo co w poprzednim.....)
//var group = new Array(); alterantywna wersja
var groups=document.doublecombo.example.options.length
var group=new Array(groups);
<? (....tak naprawde to tu sa tworzone te group[x][y]....)
while ($myrow = mysql_fetch_row($result)) {
if ($myrow[3] != $type) {
if ($number2 != NULL) {
$newnumber2 = ($number2 + "1");
print ("group[$number2] = new Array();\n");
$number2 = $newnumber2;
$type = $myrow[3];
$number = "0";
}
}
print "group[" . ($number2 - "1") . "]";
if ($number != NULL) {
$newnumber = ($number + "1");
print ("[$number]");
$number = $newnumber;
}
print (" = new Option(\"$myrow[2]\", \"http://google.com\");\n");
}
?>

(....no i tu jest znowu dokladnie to, co w poprzednim po deklaracjach group[x][y])
-----------------------------------------------------------------
-----------------------------------------------------------------
No, zatem wszystko niby pieknie- ALE NIE DZIALA. I nie mam pojecia dlaczego. Moze ktos spotkal sie z problemem lub wie gdzie znalezc gotowe rozwiazanie, bo siedze nad tym w **** czasu i nic:/

  1. ok, mam odpowiedz , koral 30/05/05 08:06
    problem tkwil w:
    print (" = new Option(\"$myrow[2]\", \"http://google.com\");\n");
    nie wiedziec czemu linie czasem byly przelamywane, przez co JS sie wysypuje...poprawnie winno byc:
    print (" = new Option(\"".preg_replace("/([\s]+)/", " ", $myrow[2])."\", \"http://google.com\");\n");
    dodatkowo wszystkei zmienne php tez mozna przejechac:
    preg_replace("/\r\n/", '', $zmienna);
    ale to chyba nie jest konieczne

    
All rights reserved ® Copyright and Design 2001-2026, TwojePC.PL