ElaKiri Programmer's Club

Ayeshlive

Well-known member
  • Jul 1, 2011
    10,570
    943
    113
    *̶͑̾̾​̅ͫ͏̙̤g͛͆̾ͫ̑͆&
    #MYSQL Help එකක් ඕනෙ මචන්ලා.

    Item_id එක table එකේ තියෙන්නෙ එක්තරා format එකකින්.

    1. 0001-AA01-ABC
    2. 0002-AA02
    3. 0003
    4. 0004-XX-...XX-AA03

    ඒ කියන්නෙ user කැමති item_id එකක් ගහනව. ඒ item_id එකට '-' තියෙන්නත් පුලුවන්. ඒත් පස්සෙ item එක save වෙන්න කලින් ඒ item_id එකට තව කොටස් දෙකක් එකතු වෙනව.
    හැබැයි හැම තිස්සෙම කොටස් එකතු වෙන්නෙ නෑ. අවස්තා තුනක් යටතේ තමා ඒ කොටස් එකතු වෙන්නෙ. ඒ මෙහෙමයි.

    1. AA01-ABC
    2. AA02
    3. (මුකුත් නෑ)

    දැන් පැහැදිලි ඇති item_id එකට නිශ්චිත length එකක් නෑ. user කැමති එකක් දෙන්න පුලුවන් නිසා. නමුත් program එකෙන් එකතු වෙන අවස්තා තුනෙන් එකතු වෙන්න උඩ පෙන්නපු format එකට විතරමයි.

    1. මට ඕනෙ '-' ගැන බලන්නෙ නැතුව like query එකකින් items ගන්න.
    0001AA ගැහුවොත් search වෙන්න ඕනෙ උඩ දීපු item code අනුව,


    • 0001-AA01-ABC
    • 0002-AA02

    2.program එකෙන් එකතු වෙන අමතර කොටස ඉවත් කරල GROUP කරගන්න ඕනෙ.


    පුලුවන් කෙනෙක් කියල දෙන්නකෝ.. 10+ :yes:

    Sorry machan ne database schema eka shitty. Update script ekakin aluthin fields dammanam wade lesi.

    Underscore ela Kiyanne single character wild card ekak. Percentage sign eka unlimited characters.

    SELECT * FROM {table} WHERE name LIKE :search_query

    :search_query parameter eka "$search" . "%" Kiyala denna. Ethakota like query eka "starts with" ekak wenne.

    Oya monawa karath machan full scan ekak wena eka nawaththanna amarui. Query eka efficient naha.
     
    • Like
    Reactions: MihiCherub

    Ayeshlive

    Well-known member
  • Jul 1, 2011
    10,570
    943
    113
    *̶͑̾̾​̅ͫ͏̙̤g͛͆̾ͫ̑͆&
    එලz. බැරි කමක් නෑ නොදන්න කමයි තියෙන්නෙ බන්. මොකද කෝඩින්ග් වලින් ගානට ඔය ටික වෙන් කරල අරගන්න පුලුවන් කෝඩ් කෑල්ලක් මම උඩ දුන්නෙ. කෝඩින්ග් වලින් පුලුවන් නම් අනිවා query එකකිනුත් පුලුවන් වෙන්න ඕනෙ. මොකද කෝඩ් එකේන් මම වෙන් කලේ substring, replace, indexof වගේ සරල method ටිකකින්. ඒ ඔක්කොම දේවල් MYSQL වලත් තියෙනව. ඕක කරන්න පුලුවන්. :yes:

    standard එකක් තියෙනව. මුල ඉදන් අගට නෙමේ අග ඉදන් මුලට. ඒ නිසා case ටිකකින් අනිවා කරගන්න පුලුවන්. :yes: ටිකක් ලොකු වැඩක්. බේසික් select * එකකින් නම් කරගන්න බෑ.:(

    Group karannath one da? Substring karana widiha standard sql walata wada wenas wenawa DB server ekata anuwa. Eth machan oya query eka kawadawath efficient wada karanne na. Parameterized karanna amarui. SQL injection vulnerable.

    Mama ape team eke code review karanne. Mamanam owa kelinma reject karanawa ban.
     

    KingCM

    Well-known member
  • Jul 23, 2013
    6,920
    948
    113
    www.biogen.lk
    Group karannath one da? Substring karana widiha standard sql walata wada wenas wenawa DB server ekata anuwa. Eth machan oya query eka kawadawath efficient wada karanne na. Parameterized karanna amarui. SQL injection vulnerable.

    Mama ape team eke code review karanne. Mamanam owa kelinma reject karanawa ban.

    Me item codes tiken

    XXXX-XX-XXX-A001-ABC
    XX-XX-XX-A002
    XXXX-XX
    XXX-AA03
    XX-AA04-DEF


    XX ටික තමා result වෙන්න ඕනෙ. okkoma eka query ekakin wenna one. e kiyanne query eka execute kalama result eka wenna one..

    XXXX-XX-XXX
    XX-XX-XX
    XXXX-XX
    XXX
    XX

    wena wenama eka eka item id ekata query liyala ba ban.. okkotama suit wena eka query ekak illanne..


    Only one question ---​

    meke pennala thiyena result eka, mysql walin eka query ekak execute karala ganna puluwanda barida?​
     
    Last edited:

    KingCM

    Well-known member
  • Jul 23, 2013
    6,920
    948
    113
    www.biogen.lk


    standard එකක් තියෙනව. මුල ඉදන් අගට නෙමේ අග ඉදන් මුලට. ඒ නිසා case ටිකකින් අනිවා කරගන්න පුලුවන්. :yes: ටිකක් ලොකු වැඩක්. බේසික් select * එකකින් නම් කරගන්න බෑ.:(

    hari macho..... uba oya kiyana Standard (pattern) eka poddak penapanko.....අග ඉදන් මුලට......

    user enter karana numbers eka color ekakin....

    program eken add wena ewa thawa color ekakin .....

    (uba ehemane kiwwwe?)​
     
    Last edited:

    Lokka Baba

    Well-known member
  • May 11, 2014
    3,365
    888
    113
    මගේ කාමරේ
    ජ්කුඅරි ajax වලින් කරන්න පුළුවන්. එත් කෙලෙන්ම class එකේ method එක කෝල් කරන්න බැරි වෙයි. නමුත් පොඩි php code එකක් ලියලා එකෙන් ajax එකේ එන value එක class එකේ method එකට pass කරන්න පුළුවන්.

    PHP:
    -----------ajax------------------
    $.ajax({
      url: "script.php",
      method: "POST",
      data: { selectedValue : # YOUR DROPDOWN LIST VALUE HERE # },
      dataType: "html"
    });
     
    request.done(function( msg ) {
      $( "#log" ).html( msg );
    });
    ----------------------------------

    PHP:
    -----------script.php--------------
    
    $classOject = new test();
    $selectedValueFromHtml = $_POST["selectedValue"];
    $classOject->hello($selectedValueFromHtml);
    
    ----------------------------------

    PHP:
    ---------test.php (class file)----
    
    class test{
    	function hello($value){
    		echo 'selected value is '. $value;
    	}
    
    }
    
    ---------------------------------


    මේ කෝඩ් එක වැඩ කරන්නේ නෑ මම දැන් නිකන් නෝට්පෑඩ් එකේ ලියපුඉ එකක්. කෝඩ් එක එන්න ඕනේ. වෙන විදියක් දන්නා කෙනෙක් ඉන්නවනම් කියලා දෙයි. මම දන්නා විදිය ඕක.

    thnx machn godak

    Mn try karanne
    Eka drop down list ekaka value eka matha thwa dropdown list ekak genrate karanna, But dopdown list dekama thynne form ekak athule, 2weni dropdwn list ekata adala option value tika generate karanne function(class method) ekakakin array ekak widihta, a function ekata thma pass karagnna oni 1weni dropdwn list ake selected value eka.
     

    DJvodka

    Well-known member
  • Mar 31, 2009
    3,375
    292
    83
    A land like no other
    #MYSQL Help එකක් ඕනෙ මචන්ලා.

    Item_id එක table එකේ තියෙන්නෙ එක්තරා format එකකින්.

    1. 0001-AA01-ABC
    2. 0002-AA02
    3. 0003
    4. 0004-XX-...XX-AA03

    ඒ කියන්නෙ user කැමති item_id එකක් ගහනව. ඒ item_id එකට '-' තියෙන්නත් පුලුවන්. ඒත් පස්සෙ item එක save වෙන්න කලින් ඒ item_id එකට තව කොටස් දෙකක් එකතු වෙනව.
    හැබැයි හැම තිස්සෙම කොටස් එකතු වෙන්නෙ නෑ. අවස්තා තුනක් යටතේ තමා ඒ කොටස් එකතු වෙන්නෙ. ඒ මෙහෙමයි.

    1. AA01-ABC
    2. AA02
    3. (මුකුත් නෑ)

    දැන් පැහැදිලි ඇති item_id එකට නිශ්චිත length එකක් නෑ. user කැමති එකක් දෙන්න පුලුවන් නිසා. නමුත් program එකෙන් එකතු වෙන අවස්තා තුනෙන් එකතු වෙන්න උඩ පෙන්නපු format එකට විතරමයි.

    1. මට ඕනෙ '-' ගැන බලන්නෙ නැතුව like query එකකින් items ගන්න.
    0001AA ගැහුවොත් search වෙන්න ඕනෙ උඩ දීපු item code අනුව,


    • 0001-AA01-ABC
    • 0002-AA02

    2.program එකෙන් එකතු වෙන අමතර කොටස ඉවත් කරල GROUP කරගන්න ඕනෙ.


    පුලුවන් කෙනෙක් කියල දෙන්නකෝ.. 10+ :yes:

    simple answer. just reformat the query and send the formatted version to server.
    Eg:

    If user enters 0001AA, format it to corresponding db string like : 0001-AA (Can be simply done by your program using regex). DB will handle the rest.
     

    DJvodka

    Well-known member
  • Mar 31, 2009
    3,375
    292
    83
    A land like no other

    JSP thiyaganna View point ekata,podi podi logic nam JSp eke liwwata kamak na.

    loku loku ewanam servlet ekka deal karapan.

    JSP --> servlet --->compiled

    servlet----> compiled

    dan mokakda methanin wadiyenma efficient.?..........

    step 2k gihin compiled wena JSP da? nathnam directly compiled wena servlet da?

    --------------------------------------------------------------------------------------------------​


    A very basic difference:

    Servlet is html in java
    JSP is java in html


    Other diff are:

    • JSP is a webpage scripting language that can generate dynamic content while Servlets are Java programs that are already compiled which also creates dynamic web content
    • Servlets run faster compared to JSP
    • JSP can be compiled into Java Servlets
    • It’s easier to code in JSP than in Java Servlets
    • In MVC, jsp act as a view and servlet act as a controller.
    • JSP are generally preferred when there is not much processing of data required. But servlets are best for use when there is more processing and manipulation involved.
    • The advantage of JSP programming over servlets is that we can build custom tags which can directly call Java beans. There is no such facility in servlets.
    • We can achieve functionality of JSP at client side by running JavaScript at client side. There are no such methods for servlets.

    jsp compilation happens only once. so efficiency wise they are both the same.
     

    MihiCherub

    Well-known member
  • Sep 14, 2009
    18,861
    1
    9,627
    113
    Gampaha
    Sorry machan ne database schema eka shitty. Update script ekakin aluthin fields dammanam wade lesi.

    Underscore ela Kiyanne single character wild card ekak. Percentage sign eka unlimited characters.

    SELECT * FROM {table} WHERE name LIKE :search_query

    :search_query parameter eka "$search" . "%" Kiyala denna. Ethakota like query eka "starts with" ekak wenne.

    Oya monawa karath machan full scan ekak wena eka nawaththanna amarui. Query eka efficient naha.
    කලිනුත් කිව්ව එක තමයි ආයිත් කියන්න වෙන්නෙ. මේක දීර්ග කාලයක් තිස්සෙ ක්ලයන්ට් ඕන ඕන විදියට එකක එක වෙනස් කම් ලේසියෙන් කරන්න හදපු නිසා තමා මෙහෙම වෙලා තියෙන්නෙ. අනික වෙනස්කම් කලේ පැයක් දෙකක් වගේ සුලු කාලෙකින්. ඒ නිසා ඩිබී වෙනස් කරන එක උත්තරයක් නෙමේ. :no:

    Group karannath one da? Substring karana widiha standard sql walata wada wenas wenawa DB server ekata anuwa. Eth machan oya query eka kawadawath efficient wada karanne na. Parameterized karanna amarui. SQL injection vulnerable.

    Mama ape team eke code review karanne. Mamanam owa kelinma reject karanawa ban.
    පලවෙනි ප්‍රශ්නෙ හරි. පුලුවන් නම් මේක MYSQL වලට convert කරල දෙන්න. මම ඉල්ලන්නෙ එච්චරයි.

    Code:
    String id = "ABCD-LL05-ABC"; 
    String substring = id.replaceFirst("-", "").contains("-") ? id.substring(0, id.lastIndexOf("-", id.length() - 6))                 
    : id.contains("-") ? id.substring(0, id.lastIndexOf("-")) : id;
    ---------------------------------------------------------------------------------------
    No offense. ඒත් දැන් නම් suggestions ඇති වෙලා තියෙන්නෙ. :growl: අහන දේ බැරි නම් එච්චරයි. මොකද දෙන්නගෙම කාලෙ නිකන්ම අපරාදෙ. :sorry:තෑන්ක්ස්.
    :)
     

    MihiCherub

    Well-known member
  • Sep 14, 2009
    18,861
    1
    9,627
    113
    Gampaha
    simple answer. just reformat the query and send the formatted version to server.
    Eg:

    If user enters 0001AA, format it to corresponding db string like : 0001-AA (Can be simply done by your program using regex). DB will handle the rest.
    thanks palaweni eka hari.. deweni eka thama dan 10+ :cool:
     

    Ayeshlive

    Well-known member
  • Jul 1, 2011
    10,570
    943
    113
    *̶͑̾̾​̅ͫ͏̙̤g͛͆̾ͫ̑͆&
    කලිනුත් කිව්ව එක තමයි ආයිත් කියන්න වෙන්නෙ. මේක දීර්ග කාලයක් තිස්සෙ ක්ලයන්ට් ඕන ඕන විදියට එකක එක වෙනස් කම් ලේසියෙන් කරන්න හදපු නිසා තමා මෙහෙම වෙලා තියෙන්නෙ. අනික වෙනස්කම් කලේ පැයක් දෙකක් වගේ සුලු කාලෙකින්. ඒ නිසා ඩිබී වෙනස් කරන එක උත්තරයක් නෙමේ. :no:

    පලවෙනි ප්‍රශ්නෙ හරි. පුලුවන් නම් මේක MYSQL වලට convert කරල දෙන්න. මම ඉල්ලන්නෙ එච්චරයි.

    Code:
    String id = "ABCD-LL05-ABC"; 
    String substring = id.replaceFirst("-", "").contains("-") ? id.substring(0, id.lastIndexOf("-", id.length() - 6))                 
    : id.contains("-") ? id.substring(0, id.lastIndexOf("-")) : id;
    ---------------------------------------------------------------------------------------
    No offense. ඒත් දැන් නම් suggestions ඇති වෙලා තියෙන්නෙ. :growl: අහන දේ බැරි නම් එච්චරයි. මොකද දෙන්නගෙම කාලෙ නිකන්ම අපරාදෙ. :sorry:තෑන්ක්ස්.
    :)

    Mekai machan. Programming kiyanne Q&A newei. Umba PHP karanawanam "Modernizing Legacy Apps PHP" kiyana book eka kiyawapan. Client requirements walata shitty code liyanawa kiyana eka excuse ekak newei.

    Umbe second question ekata answer eka mekai.
    MySQL wala string functions walin one widihata string eka modify karagaththama e select items group by query walatath ganna puluwan.

    Example:
    http://sqlfiddle.com/#!9/5d759/3

    Code:
    SELECT SUBSTRING_INDEX(name, '-', 1) AS item_code, COUNT(name) as cnt FROM items GROUP BY item_code;
    Methana SUBSTRING_INDEX eken name kiyana field eke thiyena first string eka gannawa dash sign ekata kalin thiyena. Eka ayeth GROUP BY clause ekakata use karannath puluwan.
    Meke performance nam charter.
     

    MihiCherub

    Well-known member
  • Sep 14, 2009
    18,861
    1
    9,627
    113
    Gampaha
    otdjsp.jpg
     
    • Like
    Reactions: markhaloce