Hej igen igen.
Jeg skal vise en hghscoreliste i Flash. Mit PHP script til at hente data fra MySQL fungerer fint. Men mit i Flash går det galt. Her får i først PHP-scriptet:
1 2 3 4 5 6 7 8 9 10 11 | <?php $connect = mysql_connect("localhost", "******", "******"); mysql_select_db("******", $connect); $result = mysql_query("SELECT name, score FROM Scores ORDER BY score LIMIT 3"); $cant = 0; while($row=mysql_fetch_array($result)){ echo "name$cant=$row[name]&score$cant=$row[score]&"; $cant++; } echo "cant=$cant"; ?> |
Her er AS3:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | import fl.data.DataProvider; var myData:URLRequest = new URLRequest("http://www.*******.dk/liste.php"); myData.method = URLRequestMethod.POST; var loader:URLLoader = new URLLoader(); loader.dataFormat = URLLoaderDataFormat.VARIABLES; loader.addEventListener(Event.COMPLETE, datagridOnLoad); loader.load(myData); function datagridOnLoad(evt:Event) { var boards:Array = new Array(); for (var i:uint=0; i<evt.target.data.cant; i++) { boards.push({name:evt.target.data["name"+i], score:evt.target.data["score"+i]}); } bldRosterGrid(aDg); aDg.dataProvider = new DataProvider(boards); aDg.rowCount = aDg.length; } function bldRosterGrid(dg:DataGrid){ dg.setSize(200, 200); dg.columns = ["Navn", "Score"]; dg.columns[0].width = 100; dg.columns[1].width = 100; } |
Kan i se hvad problemet er? Jeg har fundet disse scripts på google og kan ikke helt tyde AS3 delen. Jeg ved bare at jeg får en fejl på bldRosterGrid-funktionen.
På forhånd mange tak!
5 kommentarer
Kunne du evt. skrive hvilken fejl du får?
Mvh.
Jakob
Ja selvfølgelig. Jeg får denne fejl:
Description:
1120: Access of undefined property aDg.
Source:
bldRosterGrid(aDg);
Jeg håber virkelig at nogen kan hjælpe mig!
Hej,
Det er fordi du prøver at tilgå 'aDg' som ikke eksiterer.
Som jeg ser det burde det være et dataGrid du har på din scene og har givet instancenavnet 'aDg'
Har du lavet et datagrid?
-Jakob
Tænk at det var så simpelt hæhæ
Jeg har fået det til at virke nu. Mange tak for hjælpen!
Super, det var så lidt - vi er jo her for at hjælpe