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
 
 » cVas 08:30
 » Marian30p 08:29
 » Liu CAs 08:25
 » pwil2 08:24
 » SebaSTS 08:23
 » bieniek 08:19
 » rzymo 08:17
 » GLI 08:14
 » DJopek 08:13
 » Dexter 08:07
 » buddookan 08:07
 » KHot 07:54
 » Doczu 07:51
 » Kelso1 07:51
 » Wolf 07:49
 » kemilk 07:37
 » ToM78 07:21
 » PeKa 07:06
 » NimnuL 06:52
 » Demo 06:51

 Dzisiaj przeczytano
 41138 postów,
 wczoraj 25974

 Szybkie ładowanie
 jest:
włączone.

 
ccc
TwojePC.pl © 2001 - 2024
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-2024, TwojePC.PL