php කාපරයෙක් වෙමු

P_Namal

Active member
  • Oct 19, 2007
    862
    224
    43
    Database එකේ තියන data view කරගමු.

    මේ post එකෙන් මං බලාපොරොත්තු වෙන්නේ කලින් post එකේ දාපු data ටික කොහොමද view කරගන්නේ කියලා. මුලින්ම ඔයාලා කලින් form එකෙන් data set 4ක් 5ක් විතර දාගෙන ඉන්න මොකද අපට display කරගන්න data අවශ්‍ය නිසා.

    data.JPG



    දැන් අලුත් php file එකක් කලින් විදියම හදාගන්න view.php කියලා.

    view.JPG


    මේ page එකට link එකක් දාගෙන ඉමු index එකේ.

    HTML:
    <a href="view.php">View Data</a>

    view+data.JPG


    මේක ඉතින් මෙලෝ රහක් නැති නිසා දාමු පොඩි style එකක්. මුලින්ම මේක div එකකින් වට කරගන්න.


    HTML:
    <div class="link">
    
        <a href="view.php">View Data</a>
    
    </div>


    දැන් මේ style එක දාගන්න.

    Code:
      .link{
    
            margin: auto;
    
            width: 100px;
    
        }
    
        .link a{
    
            border: 1px solid #999;
    
            color: black;
    
            display: block;
    
            font: 12px arial;
    
            padding: 10px;
    
            text-align: center;
    
            text-decoration: none;
    
        }
    
        .link a:hover{
    
            background-color: #999;
    
            color: white;
    
            font-weight: bold;
    
        }


    home.JPG


    මේකෙදීත් අපි database එකත් එක්ක ගනුදෙනු කරන නිසා මුලින්ම කරන්න ඕනි වැඩේ තමයි connection එක හදාගන්න එක. ඊට පස්සේ data සියල්ලම retrieve වෙන MySQL query එක ලියමු.


    PHP:
    <?php
    
    //connecting database
    
    $con = mysql_connect("localhost", "root", "") or die('Cannot connect to the database');
    
    mysql_select_db('phpblog', $con) or die('cannot select the  database');
    
    $result = mysql_query("select * from register");

    මේ MySql query එකේ තරු ලකුණෙන් කියන්නේ database filed හැම එකකම data ගන්න කියලයි. ඒ කියන්නේ ID,NAME,ADDRESS,BIRTHDAY & PHONE කියන filed වල තියෙන ඒවා. එහෙම නැත්තම් අපිට ඕන filed name ටික විතරක් දෙන්නත් පුලුවන්.

    නම විතර නම් : select name from register
    නමයි address එකයි නම් : select name,address from register

    දැන් මේකෙන් එන data ටික අපි සමාන කරගෙන තියෙන $result කියන variable එකට ඇවිල්ලයි තියෙන්නේ.

    මේක නිකමට වගේ echo කරලා බැලුවොත් පෙනෙයි අපිට ඕනි එක නෙවෙයි ඇවිත් තියෙන්නේ කියලා. Resource id #4 වගේ මොකක් හරි තමයි print වෙන්නේ.

    ඉතින් මේකෙන් return වෙන value, array එකකට දාගන්න ඕනි.

    මේ code එකෙන් ඒක කරගන්න පුලුවන්.

    PHP:
    $row = mysql_fetch_array($result)

    දැන් ඔයාලා echo $row කියලා ගහලා බැලුවනම් print වෙන්නේ Array කියලා. Array එකේ තියෙන value print කරගන්නවා නම් print_r($row) කියලා ගහලා බලන්න.

    එත් පොඩි අවුලක් තියෙනවා නේද? එකක් නෙවෙයි 2ක් තියෙනවා. පලවෙනි එක තමයි අපිට data display කරගන්න ඕනි ඔය විදියට නෙවෙයි. ටිකක් ලස්සනට පෙන්නගන්න එපැයි. අනිත් අවුල තමයි ඔතන පෙන්නන්නේ එක row එකයි. අනිත් data ටික නෑ.

    ඇත්තටම database එකෙන් එන data එන්නේ row විදියට. ඒ කියන්නේ database එකේ table එකේ row 5ක් තියෙනවා නම් array 5කට assign වෙනවා වගේ. එතකොට row 5ම පෙන්නන්න ඕනි නම් loop එකක් දාන්න වෙනවා.


    PHP:
    while ($row = mysql_fetch_array($result)) {
    
        echo $row['name'];
    
        echo $row['address'];
    
        echo $row['birthday'];
    
        echo $row['phone'];
    
        echo "</br>";
    
    }

    view+dataunstyle.JPG


    මේ ටික එනවා කියන්නේ වැඩේ සෑහෙන තරමට ගොඩ. මේක table එකකට ඔබා ගත්ත නම් ලස්සන කරලා ගන්න තිබ්බා. ඔන්න එබුවා එහෙනම්.

    PHP:
    echo "<table>";
    
    while ($row = mysql_fetch_array($result)) {
    
        echo "<tr>";
        echo "<td>" . $row['name'] . "</td>";
        echo "<td>" . $row['address'] . "</td>";
        echo "<td>" . $row['birthday'] . "</td>";
        echo "<td>" . $row['phone'] . "</td>";
        echo "</tr>";
    }
    
    echo "</table>";


    මේ style ටිකත් දාලා බලන්නකෝ..

    Code:
     table{
    
            background-color: lightskyblue;
            font: 12px arial;
            margin: 50px auto;
            padding: 10px;
            width: 400px;
        }
    
        table tr:first-child{
            text-align: left;
        }
        table tr td{
            font:12px arial;
    
        }


    පොඩි link එකකුත් දෙමු index page එකට යන්න.

    HTML:
    <div class="link">
        <a href="index.php">Home</a>
    </div>

    Code:
    .link{
            margin: auto;
            width: 100px;
        }
        .link a{
            border: 1px solid #999;
            color: black;
            display: block;
            padding: 10px;
            text-align: center;
            text-decoration: none;
        }
        .link a:hover{
            background-color: #999;
            color: white;
            font-weight: bold;
        }

    view+data+styles.JPG


    download the code

    මහ ලොකු අමාරුකමක් නම් නෑ මේවගේ. මුලදි පුරුදු නැති වුණාම ඒ වගේ දෙයක් දැනෙන්න පුලුවන්. එත් ටික කාලයක් ආසාවෙන් කලාම ඇගටම එනවා. ඊලග post එකේ මේකේ update එකයි delete එකයි කරමු.

    550949_10150900304162520_109057662519_9785185_1660018132_n.jpg



    http://phpkaparayo.blogspot.com/
     
    Last edited:
    • Like
    Reactions: ganidu94

    Ayeshlive

    Well-known member
  • Jul 1, 2011
    10,570
    943
    113
    *̶͑̾̾​̅ͫ͏̙̤g͛͆̾ͫ̑͆&
    නාමල් සහෝදරයාගේ thread එකේ මම පොස්ට් දාන එක හරි නැද්ද මන්ද කියලත් හිතෙනවා. නාමල් ඇතුලේ දේවල් කියනකොට මම කියන්නම් නාමල්ට අත ඇරෙන්න පුළුවන් දේවල් ටිකක්.

    php වලින් web site එකක් හැදුවට පස්සේ වෙබ් site එක live site එකට ගෙන්න කලින් performance එහෙම test කරන්න ඕනේ. ජොබ් එකකට යනවනම් මේක හුගක් වැදගත් වෙඉ.


    මුලින්ම කියන්න මම echo සහ print කියන commands දෙකේ වෙනස.
    මේ දෙකෙන්ම වෙන්නේ එකම දේ thamai. ඒ වුනත් echo කියන එක print කියන එකට වැඩ ස්පීඩ් අතින් ඉස්සරහින් ඉන්නේ.

    $status = print 'OMG I printed this!';

    උද තියෙන code එක ගහල බැලුවම ඔයගොල්ලෝ දකීවි $status කියන variable එකේ TRUE කියන boolean data store වෙලා කියල. නමුත් echo command එකෙන් එහෙම වෙන්නේ නැහැ.
    ඒ නිසා තමි echo කියන එක performance අතින් hondai කියන්නේ.

    තවත් එකක් තමි ' සහ " සලකුණඋ දෙක.

    <?php
    $what = 'rocks';
    print "Ayesh $what ".<br />;
    print 'Ayesh $what ';
    ?>

    Output:
    Ayesh rocks
    Ayesh $what

    මේ විදිහට වෙන්නේ පලවෙනි line එක double quotes අතරේ තියෙන නිසි. ඔයගොල්ලෝ මොකක්හරි text එකක් අස්සේ variable එකකුත් ඔබනවානම් double quotes පාවිච්චි කරන්න පුළුවන්. හබි එක performance අතින් ටිකක් හොඳ නැහැ.

    print 'Ayesh '.$what;

    meka thamai hondama widiha.


    Thawath deyak thamai <?php ?> tags.
    PHP tags <? ?> kiyalath gahanna puluwan. eth ekata purudu wenna epa.
    <?php kiyana eka thamai hondama widiha patanganna.
    Anith eka, php block ekak page eka iwarawenakota ?> kiyala gahala iwara karanna onema na. mamanam puruddak widihata <?php tag walin patan ganne. page eke anthimata ?> kiyala gahanne na.
     
    Last edited:
    • Like
    Reactions: P_Namal

    P_Namal

    Active member
  • Oct 19, 2007
    862
    224
    43
    නාමල් සහෝදරයාගේ thread එකේ මම පොස්ට් දාන එක හරි නැද්ද මන්ද කියලත් හිතෙනවා. නාමල් ඇතුලේ දේවල් කියනකොට මම කියන්නම් නාමල්ට අත ඇරෙන්න පුළුවන් දේවල් ටිකක්.

    php වලින් web site එකක් හැදුවට පස්සේ වෙබ් site එක live site එකට ගෙන්න කලින් performance එහෙම test කරන්න ඕනේ. ජොබ් එකකට යනවනම් මේක හුගක් වැදගත් වෙඉ.


    මුලින්ම කියන්න මම echo සහ print කියන commands දෙකේ වෙනස.
    මේ දෙකෙන්ම වෙන්නේ එකම දේ thamai. ඒ වුනත් echo කියන එක print කියන එකට වැඩ ස්පීඩ් අතින් ඉස්සරහින් ඉන්නේ.

    $status = print 'OMG I printed this!';

    උද තියෙන code එක ගහල බැලුවම ඔයගොල්ලෝ දකීවි $status කියන variable එකේ TRUE කියන boolean data store වෙලා කියල. නමුත් echo command එකෙන් එහෙම වෙන්නේ නැහැ.
    ඒ නිසා තමි echo කියන එක performance අතින් hondai කියන්නේ.

    තවත් එකක් තමි ' සහ " සලකුණඋ දෙක.

    <?php
    $what = 'rocks';
    print "Ayesh $what ".<br />;
    print 'Ayesh $what ';
    ?>

    Output:
    Ayesh rocks
    Ayesh $what

    මේ විදිහට වෙන්නේ පලවෙනි line එක double quotes අතරේ තියෙන නිසි. ඔයගොල්ලෝ මොකක්හරි text එකක් අස්සේ variable එකකුත් ඔබනවානම් double quotes පාවිච්චි කරන්න පුළුවන්. හබි එක performance අතින් ටිකක් හොඳ නැහැ.

    print 'Ayesh '.$what;

    meka thamai hondama widiha.


    Thawath deyak thamai <?php ?> tags.
    PHP tags <? ?> kiyalath gahanna puluwan. eth ekata purudu wenna epa.
    <?php kiyana eka thamai hondama widiha patanganna.
    Anith eka, php block ekak page eka iwarawenakota ?> kiyala gahala iwara karanna onema na. mamanam puruddak widihata <?php tag walin patan ganne. page eke anthimata ?> kiyala gahanne na.

    නියමයි සහෝදරයා... ගොඩක් ස්තුතියි.. ඇත්තටම මට මේක කරනකොට ඔයාලාගෙන් ලැබෙන සහය කියා නිම කරන්න බෑ.:yes::yes::yes: මාත් එක්ක තවත් කට්ටිය ඉන්නකොට මාර ෆිට් එකක් එන්නේ... :D:D:D
     

    Mal Baba

    Well-known member
  • Apr 26, 2009
    106,270
    5,599
    113
    Blob Storage
    www.37innovate.com
    මුලින්ම කියන්න තියෙන්නෙ web site එකක් කියන්නේ magic නෙවෙයි. ඒක හරියට ගඩොලින් ගඩොල තියලා හදපු ගෙයක් වගේ. ඉතින් ඒ ගේ පේන විදියට ලස්සනට හදාගන්න මුල ඉදලම හරියට හදන්න ඕනිනේ. ඉතින් අපි මුල ඉදන් සරලව වැඩේ පටන් ගමුකෝ... තව දෙයක් .! තමන්ම ලියපු code එකක් run කරලා output එක දැක්කම පොඩි kick එකක්, එහෙම නැත්තම් තමන් ගැන අභිමානයක් සතුටක් දැනෙනව නම් විතරක් මේවා කරන්න කියලයි මගේ නම් අදහස. නැත්තම් කාලේ නාස්ති කරගන්නැතුව දැන්ම වැඩේ අතැරලා දාන්න.

    ඇත්තටම PHP කියන්නේ free download කරගන්න පුලුවන් එකක්. open source එකක්. ඔයාලා දන්නවා ඇති ඕනම web site එකක් right click කරල view source ගියාම ඒකේ html, javascript වගේ code පෙන්නනවනේ. එහෙම වෙන්නේ ඒවා execute වෙන්නෙ browser එකේ නිසා. නමුත් php code එහෙම පේන්නෑ. ඒවා run වෙන්නේ web page එක host කරලා තියෙන server එකේ. ඒ කියන්නේ php run කරන්න අනිවා server එකක්ඔ ඕනි කියන එකනේ සරලවම කිවොත්..

    එතකොට web page එකක් internet එකේ run කරන්න online server එකක් ඕනි වෙනවා. ඉතින් ඒකට online hosting servers තියෙනවා ඕන තරම්. Ex: http://www.bluehost.com/ . හැබැයි ගෙවන්න ඕනි.

    ඉතින් ඔයාලට web site එකක් හදන්න ඕනි කියමුකො phpත් දාලා. කොහොමද කරන්නේ? සල්ලි දීලා server එකක් ගන්නවද? ඔයාලට ඔයාගේම computer එකේ server එකක් run කරගන්න පුලුවන්. ඊට පස්සේ පුලුවන් web site එකක් ඔයාගේ com එකේ run කරවගෙන බලන්න. හැබැයි ඒක Internet එකේ පේන්නේ නෑ. එහෙම පේන්න නම් online server එකක් සල්ලි දීලා අරන් ඒ server එකට upload කරන්න ඕනේ.

    හරි දැනට මං කියන්නම් කොහොමද ඔයාලගේ computer එකේ local server එකක් හදාගන්නේ කියලා. තව පොඩි දෙයක් කියන්න අමතක වුනා. මං මේවා ඔයාලට කියලා දෙන්නේ ඔයාලට html, css ගැන පොඩි හරි දැනුමක් ඇති කියලා හිතාගෙන. එහෙම දැනුමක් නැත්තම් මුලින් ඒවා ඉගෙන ගන්න වෙනවා. ඒකට http://www.w3schools.com වගේ site වලින් ඉගෙන ගන්න පුලුවන්.

    මේ වැඩේට හොද software එකක් තියෙනවා WAMP කියලා. මුලින්ම http://www.wampserver.com site එකට ගිහින් අදාල එක download කරගෙන install කරගන්න.

    WampServer-Installation-Guide.jpg


    මේක install කරලා run කරාට පස්සේ ඔයාලට පෙනෙයි යට task bar එකේ "W" අකුරක් ඇති. මේක අනිවා කොල පාට වෙන්න ඕනි. නැත්තම් ඒකියන්නේ server එක ready නෑ කියන එකයි.

    wamp install කරද්දි අපිට web site එක හදන්න ඕනි සියලු දේ install වෙනවා. wamp කියන අකුරු වලින් කියවෙන්නේ ඒවා තමයි. W කියන්නේ නම් windows කියන එක. A කියන්න apache කියන එක. ඒක තමයි server එක. M කියන්නේ MySql. මේක තමයි අපේ database එක. P කියන්නේ PHP කියන එක.

    W - Windows
    A - Apache
    M - My SQL
    P - PHP


    හරි දැන් බලමු පොඩි code එකක් run කරලා. මුලින් බලන්න ඔයා wamp Install කරපු drive එකේ wamp කියලා folder එකක් ඇති. එකේ www කියලා folder එකක් ඇති. ඒ www folder එකට තමයි ඔයා හදන file ඔක්කොම save කරන්න ඕනි.

    www.JPG



    දැන් ඒකේ folder එකක් හදාගන්න කැමති නමකින්. මං හදනවා test කියලා. දැන් ඒ test folder එක ඇතුලට ගිහින් rightclick->new text document එකක් හදාගන්න.

    ඊට පස්සේ ඒ file එකේ මේ code එක type කරන්න.

    PHP:
    <?php
    
    echo "success";
    
    ?>
    දැන් save as යන්න. ඒකේ save as type එක All Files කරන්න. file name එක index.php කියලා දෙන්න. දැන් ok කරන්න.

    හරි දැන් පහල තියෙන WAMP Logo එක left click කරන්න. එකෙන් localhost තෝරන්න.

    wamp.jpg



    එතකොට ඔයාගේ browser එක open වෙලා wamp home page එක පෙන්නයි.


    server.JPG


    ඒකේ පහලින්ම ඇති බලන්න your projects කියන තැන ඔයා www folder එකේ හදපු folder එකේ නම(test). ඒක click කරන්න. දැන් ඔයාට පේනවනම් success කියලා print වෙලා තියෙනවා ඔයා සාර්ථකයි.. :)

    success.JPG


    ඊලග post එකේන් බලමු අපි database එකට data දාන්නේ කොහොමද කියලා PHP වලින්...

    ElaKiri Wage Weda Boss:D