Jump to content
php.lv forumi

Pāatrināt DropDown lista aizpildīšanu ar vērtībām.


Sasa

Recommended Posts

Vairāki varianti nāk prātā:

1) Aizpildīt ar biežāk izmantojamajām vispirms un pārējās ielādēt tikai pēc īpašas vajadzības... Pēc statistikas raugoties no ~350 vērtībām vispieprasītākās būs ~70 (Pareto princips)

2) Sadalīt pa vairākiem DropDowniem, kur nākošais tiek aizpildīts tikai pēc iepriekšējā izvēles -> kategorizēšana.

Patiesībā - jautājums ir: kā šīs 2 sekundes sadalās? Cik ilgu laiku notiek datu atlase uz servera, cik ilgā laikā notiek pārsūtīšana no servera uz pārlūku un cik ilgā laikā notiek attēlošana/renderēšana pārlūkā. Jāskatās, kur ir lielākā aizture un ar tās samazināšanu ir jāsāk. Uz servera jāpārbauda, vai ir optimāls SQL/datu ieguves pieprasījums, pa tīklu - vai nevajag kompresēt datus, pārlūkā - vai nevar izmantot ne tik resursprasīgu renderēšanu.

 

Īsāk sakot - jāzina vairāk par tā dropDowna saturu un izcelsmi un turpmāko izmantojumu. Varbūt var neizmantot dropdownu, bet gan ar AJAXu būvēts auto-complete būs efektīvāks.

Link to comment
Share on other sites

kods:

MySqlConnection myConnection = new MySqlConnection(MyConString);

       string sqlAllProduct = "SELECT * FROM product";
       MySqlCommand cmdAllProduct = new MySqlCommand(sqlAllProduct, myConnection);
       myConnection.Open();
       MySqlDataReader ProductReader;
       ProductReader = cmdAllProduct.ExecuteReader();
       // Always call Read before accessing data.
       while (ProductReader.Read())
       {
           productDropList.Items.Add(ProductReader["code"].ToString());
       }
       // always call Close when done reading.
       ProductReader.Close();
       // Close the connection when done with it.
       myConnection.Close();

 

struktūra:

Lauks  	Tips   	Nulle  	Noklusēts   	Komentāri  	MIME
ID 	bigint(20) 	Nē  	  	  	 
code 	varchar(200) 	Nē  	  	  	 
description 	varchar(200) 	Jā  	NULL  	  	 

Link to comment
Share on other sites

Ok, es pat nekomentēšu to, ka PHP sadaļā ASP.NET gluži neiederās... :D

 

Bet saki - tas ASP.NETS, tak izpildās uz servera, vai ne?

Ko dara šī rindiņa:

productDropList.Items.Add(ProductReader["code"].ToString());

?

 

Ja tas ir uz klienta, tad varbūt vajag likt nevis pa vienam ar Item.Add() bet gan izveidot mainīgo, kas satur visu sarakstu un tad vienā rāvienā pieliek to tam DropDownam?

Link to comment
Share on other sites

Items.Add papildina dropDown listu ar vērtību. Viss norisinās uz servera (tā vajadzētu būt).

 

Es nezinu smalki MySQL, bet šķiet ka izskriet ~358 ierakstiem nevajadzētu iedarbināt tādu bremzi, ja tā tad kaut kas iebremzējas pie katra ieraksta nolasīšanas un pievienošanas listam.

 

Aleksejs

Mēģināšu taisīt kā teici, izveidošu sarakstu (kam vajadzētu notikt krietni ātrāk) un tad uz servera šo sarakstu ielikt iekš list'a.

Link to comment
Share on other sites

jā tā arī sanāca, tagad kad atdalīju šīs darbības tagad viss norisinās krietni ātrāk.

 

btw ... kas notiek ar boota forumu, ko tas tā čakarējas, nav kur uzdot jautājumus.

Edited by Sasa
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...