Jump to content


- - - - -

PHP և MySQL


20 replies to this topic

#1 SkyFlyer

    Administrator

  • Admin
  • PipPip
  • 941 posts

Posted 08 September 2007 - 08:42 PM

Այստեղ կարող ենք օգնել միմյանց ավելի կատարյալ ու հնարամիտ ծրագրեր ստեղծելու հարցում։
Հատկապես կուզենայի նշել, որ այստեղ կարող եք տեսնել ամենապարզ ու տրիվյալ հարցերից մինչը ամենաբարդ ու փորձառություն պահանջող հարցեր։ Ցանկացած հարցի խնդրում եմ վերաբերվել հավասար էնտուզիազմով ու դրանք չբաժանել ըստ ձեր փորձառության ուշադրության «արժանի» կամ «անարժան» հարցերի։ Մի մոռացեք, որ ինչ որ մի ժամանակ գաղափար անգամ չունեինք թե ինչ է նշանակում ասենք $c++՝ դրամական միավոր թե ծրագրավորման լեզու։

Առանձին առանձին մենք ուղակի ծրագրավորողներ ենք, միասին՝ ծրագրավորողների թիմ, որը կարող է ոչնչից արժեք ստեղծել ու էական այն է, որ մենք միասին ավելին գիտենք՝ քան առանձին վերցրած։ Կարծում եմ հայտնագործություն չարեցի ;)

Դե ինչ, սկսեցի՞նք...
:girl_smile:
Մի՛ եղէց անպտուղ ի փոքր վաստակոյս`
Իբր ապաջան սերմանող անբերրի երկրի:
Նարեկացի

#2 ՆԱՎԱՎԱՐ

    Member

  • Members
  • PipPip
  • 137 posts

Posted 08 September 2007 - 08:59 PM

Շնորհակալություն Սերգեյ,
մինչև այժմ ինչքան կայքեր էի գրում հավեսի համար, միշտ օգտվում էի ձրի կայքերի-հոստինգներից, որտեղ ամեն ինչ պատրաստի է,...դրանք իմանալու կարիք չկար.
հիմա զուտ հետաքրքրության համար սկսել եմ ուսումնասիրել XHTML, php..
ստացվեց միչև հասա MySQL...ինչպես կարդամ, հանեմ իմ հավաքածները... base de données,BDD -ի միջից..
չի ստացվում, չգիտեմ ինչու...խնդրում եմ նայիր ... որտեղ է իմ սխալը...






Posted Image

սեղմում եմ sql ի վրա , գրում եմ ռեքետը


Posted Image

հետո տակի Exécuter ի վրա եմ սեղմում..այսպիսի տեսք է ստանում

Posted Image


գրում եմ php կոդը և անվանում test1


Posted Image





tes1.php բացում եմ ... ոչ մի բան չկա...էջը դատարկ է...որտե՞ղ է սխալս
Կյանքը մի օվկիանոս է, իսկ մենք բոլորս նավավարներ.....Մենք ենք, մեր նավակն ու առագաստները

#3 ՆԱՎԱՎԱՐ

    Member

  • Members
  • PipPip
  • 137 posts

Posted 08 September 2007 - 09:17 PM

Արդյունքը պետք է այսպես լինի..



Jeu : Super Mario Bros
Le possesseur de ce jeu est : Florent, et il le vend à 4 euros !
Ce jeu fonctionne sur NES et on peut y jouer à 1 au maximum
Florent a laissé ces commentaires sur Super Mario Bros : Un jeu d'anthologie !

Jeu : Sonic
Le possesseur de ce jeu est : Patrick, et il le vend à 2 euros !
Ce jeu fonctionne sur Megadrive et on peut y jouer à 1 au maximum
Patrick a laissé ces commentaires sur Sonic : Pour moi, le meilleur jeu au monde !

Jeu : Zelda : ocarina of time
Le possesseur de ce jeu est : Florent, et il le vend à 15 euros !
Ce jeu fonctionne sur Nintendo 64 et on peut y jouer à 1 au maximum
Florent a laissé ces commentaires sur Zelda : ocarina of time : Un jeu grand..........և այլն...և այլն
Կյանքը մի օվկիանոս է, իսկ մենք բոլորս նավավարներ.....Մենք ենք, մեր նավակն ու առագաստները

#4 SkyFlyer

    Administrator

  • Admin
  • PipPip
  • 941 posts

Posted 09 September 2007 - 03:45 AM

ՆԱՎԱՎԱՐ ջան,

Երկու նորություն ունեմ քո համար մեկը լավ մեկը վատ։ Կարծում եմ տեղին կլինի սկսել լավից։
Շատ լավ է, որ հենց սկսել ես PHP+MySQL սովորել ու նույնիսկ սերվեր ունես հատուկ դրա համար։ Դա շատ խոստումնալից սկիզբ է։ Բացի այդ կարող ես այստեղ հարցնես ցանկացած հարց, որի պատասխանը չես գտնում տարբեր գրականությունների մեջ (շատ խորհուրդ կտամ կարդալ կամ պնտրել պատասխանները, նախքան հարցնելը, դա կօգնի ավելի արագ սովորելու)։

Վատ նորությունն ել այն է, որ ծրագրում սխալ կա, սակայն չի ցուցադրվում և չգիտենք որտեղ փնտրել այն (ես գլխի եմ ընկնում ինչումն է խնդիրը)։

Հիմա սկսենք ամենահետաքրքիր մասից՝ դեբագինգից, կամ հայերեն ասած սխալների ուղղումից։
Նախ և առաջ, ասեմ, որ եթե ոչ մի բան չես տեսնում բրոուզերի պատուհանում, ապա դրա ամենահավանական պատճառը ծրագրային սխալն է, որը խոչընդոտում է ծրագրի կատարմանը ինչ որ մի փուլում (տվյալ դեպքում ամենասկզբում, երբ ոչինչ չի ուղարկվել բռոուզերին) և դրանից բացի համոզված եմ, որ PHP կոնֆիգուրացիայում անջատված է սխալների ցուցադրումը display_errors=Off կամ error_reporting=0:

Այս պարզելու համար նոր ֆայլ սարքի սերվերիտ սկզբնական դիրեկտորիայում (root directory) phpinfo.php և հետևյալ բովանդակությամբ։
<?php phpinfo(); ?>

Աշխատեցնելով այն (բրոուզերի հասցեում գրելով նրա հասցեն ասենք www.myhost.com/phpinfo.php) կտեսնես PHP կոնֆիգուրացիոն տվյալները։ Այնտեղ կգտնես նաև display_errors և error_reporting ու կտեսնես, որ դրանցից մեկը անջատված է։ Սովորաբար արտադրական միջավայրում սերվերներում անյատվում է display_errors և դրա փոխարեն միացվում է log_errors, որը գրում է սխալների մասին ինֆորմացիան ֆայլի մեջ, հետագա ուսումնասիրման ու սխալների ուզզման համար։

Ի՞նչպես փոխել դրանց արժեքները։
Կա մի քանի ձևեր դրա համար։

Ողղակի փոփոխման մեթոդ

Քիչ առաջ ստեղծած phpinfo.php աշխատեցնելով, PHP կոնֆիգուրացիոն տվյալների ամենասկզբում գտնում ենք "Configuration File (php.ini) Path" դիրեկտիվը և կարդում թե որտեղ գտնել կոնֆիգուրացիոն ֆայլը (օրինակ իմ տան սերվերի համար դա /etc/php.ini). Բացելով այդ ֆայլը տեքստային խմբագրիչով (editor) փոփոխում ենք մեր ցանկացած դիրեկտիվը և հիշում (save) ֆայլը։ Մնում է վերագործարկենք (restart) սերվերը և բոլոր փոփոխությունները կսկսեն գործել։
Այս մեթոդի միակ վատ կողմը նրանում է, որ գրեթե միշտ հոստինգի օգտագործողները իրավունք չունեն ուղղել այդ կոնֆիգուրացիոն ֆայլը քանի որ այն կազդի բոլոր հաշիվների վրա, որոնք գտնվում են այդ սերվերի վրա։

Ծրագրային մեթոդ

PHP–ում կա ini_set() ֆունկցիան, որի միջոցով հնարավոր է ռեալ ռեժիմում (ծրագրի աշխատանքի ընթացքում) փոփոխել կոնֆիգուրացիոն դիրեկտիվները։ Քո ծրագրի ամենասկզբում կանչելով այս ֆունկցիան համապատասխան պարամետրերով, կարելի է փոփոխել այդ արժեքները, նախքան բուն ծրագրի աշխատանքը, որը հնարավորություն կտա մեզ տվյալ դեպքում տեսնել բոլոր սխալները և ուղղել դրանք։
<?php
ini_set('display_errors','On');
ini_set('error_reporting','E_ALL');
... մնացած կոդը

Apache–ի htaccess ֆայլի միջոցով

Եթե դուք իրավունք ունեք ոգտագործելու այս ֆայլը սերվերի վրա (շատ անգամ սա նույնպես անջատում են Apache–ի AllowOverride none դիրեկտիվի միջոցով), ապա տվյալ դիրեկտորիայում, որտեղ գտնվում է ֆայլը, որի վրա ուզում եք ազդել, ստեղծեք .htaccess անեւնով մի ֆայլ (նկատեք դիմացի կետը, որը ըստ պայմանավորվածության սերվերի ֆայլային համակարգում ունեն թագնված ֆայլերը, որոնք տեսանելի չեն Linux–ի ls հրամանի դեպքում)։
Այդ ֆայլի մեջ մնում է ավելացնել հետևյալ դիրեկտիվները և ամեն ինչ պատրաստ է։
php_value display_errors On
php_value error_reporting E_ALL

ՆԱՎԱՎԱՐ ջան,

Եթե սրանցից մեկը անես, ապա այնպայման կտեսնես սխալի տեքստը, որը շատ կոգնի քեզ լուծելու այն։ Փորձի, հետո գտնելով սխալը փորձի այն նույնպես լուծել, հետո կպատմես ստացվեց թե ոչ։ Որպես հուշում ասեմ, որ իմ կարծիքով քո ծրագրի սխալը կայանում է տվյալների բազայի օգտագործողի իրավունքների հետ։
Քանի դեռ սովորում ես, կարող ես միացրած պահել սխալները, երբ արտդրական միջավայրի անցնես, չմոռանաս անջատել այն քանի որ կարող է շատ վտանգավոր ինֆորմացյա ցուցադրել հաճախորդներին սխալի դեպքում (հակերները կանխամտածված սխալներ կանեն դրանք ստանալու համար)։

Բացի այդ շատ կարևոր մի խորհուրդ։

Quote

Երբեք մի օգտագործիր ծրագրերիտ աշխատանքում root օգտագործողին։ Դա այն օգտագործողն է, որը ունի անսահմանափակ իրավունքներ ու եթե այն ընկնի ինչ որ մեկի ձեռքը ապա կարող ես սերվերտ գցել հոսող ջրի մեջ, որ տանի գլխացավանքն ել հետը։ Նման դեպքում փրկություն չկա՛։ Նույնը կասեմ նաև օպերացիոն համակարգեր օգտագործելու համար։ Միշտ ստեղծիր նոր օգտագործող մինիմալ իրավունքներով, որը կբավարարի տվյալ խնդրին (օրինակ եթե ծրագրում չես օգտագործում DELETE հարցումը, ապա կարող ես արգելել այդ օգտագործողին այն աշխատացնելու իրավունքից, դրանով իսկ ավելի ապահովվելով անվտանգությունը)։

Մի՛ եղէց անպտուղ ի փոքր վաստակոյս`
Իբր ապաջան սերմանող անբերրի երկրի:
Նարեկացի

#5 ՆԱՎԱՎԱՐ

    Member

  • Members
  • PipPip
  • 137 posts

Posted 09 September 2007 - 09:15 PM

Շնորհակալություն Սերգեյ, չի ստացվում.. :girl_smile:
գիտեմ որ ինչ որ մի բան սխալ եմ անում. ;) . արդեն հիասթափվում եմ, իհարկե մասնագետների համար դա հեշտ է հասկանալ...
Արի ինձ ասա միանգամից որտեղ եմ սխալվել,
ռեքետը ճիշտ տեղ եմ գրել?
տվյալների բազայի անունը ճիշտ եմ գրել?

քանի որ լոկալհոստ է, դրա համար օգտագործում եմ root

"Որպես հուշում ասեմ, որ իմ կարծիքով քո ծրագրի սխալը կայանում է տվյալների բազայի օգտագործողի իրավունքների հետ"

չգիտեմ....այստեղից եմ օգտվում..


http://www.siteduzer...es-donnees.html
Կյանքը մի օվկիանոս է, իսկ մենք բոլորս նավավարներ.....Մենք ենք, մեր նավակն ու առագաստները

#6 ՆԱՎԱՎԱՐ

    Member

  • Members
  • PipPip
  • 137 posts

Posted 09 September 2007 - 09:40 PM

վերջապես......
գոնե սխալները գրեց....

Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root@localhost'@'localhost' (using password: NO) in C:\wamp\www\tests\test2.php on line 10
Warning: mysql_select_db() [function.mysql-select-db]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\wamp\www\tests\test2.php on line 11
Warning: mysql_select_db() [function.mysql-select-db]: A link to the server could not be established in C:\wamp\www\tests\test2.php on line 11
Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\wamp\www\tests\test2.php on line 13
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\wamp\www\tests\test2.php on line 13
Access denied for user 'ODBC'@'localhost' (using password: NO)

որոշ փոփոխություններ կատարեցի, հիմա այսպիսի սխալ է ցույց տալիս...

Parse error: syntax error, unexpected T_WHILE in C:\wamp\www\tests\test2.php on line 16

16- րդ գծում սա է գրված...ուրեմն այստեղ է սխալը?

While ($donnees = mysql_fetch_array($reponse) )
Կյանքը մի օվկիանոս է, իսկ մենք բոլորս նավավարներ.....Մենք ենք, մեր նավակն ու առագաստները

#7 ՆԱՎԱՎԱՐ

    Member

  • Members
  • PipPip
  • 137 posts

Posted 09 September 2007 - 10:10 PM

Չէ....աչքերիս չեմ հավատում.....վերջապես ստացվեց.. :o
շնորհակալություուուուուուուուուն :girl_smile: ;)
Կյանքը մի օվկիանոս է, իսկ մենք բոլորս նավավարներ.....Մենք ենք, մեր նավակն ու առագաստները

#8 SkyFlyer

    Administrator

  • Admin
  • PipPip
  • 941 posts

Posted 10 September 2007 - 01:27 AM

View PostՆԱՎԱՎԱՐ, on Sep 9 2007, 03:10 PM, said:

Չէ....աչքերիս չեմ հավատում.....վերջապես ստացվեց.. :o
շնորհակալություուուուուուուուուն :girl_smile: ;)
Անպայման ստացվելու էր ու կարծում եմ սա քեզ կօգնի հետագայում հիշելու, որ

Quote

յուրաքան տվյալների բազայի համար պետք է նշանակել օգտագործողներին այն օգտագործելուց առաջ այլապես դիմելու դեպքում կստանաք հետևյալ զգուշացումը՝
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root@localhost'@'localhost' (using password: NO)
Դա կարելի է անել թե առանձին հարցումների միջոցով և թե phpMySQL–ի միջոցով մտնելով նշված տվյալների բազայի "Privileges" բաժինը։

Իսկ "Parse error: syntax error, unexpected T_WHILE in C:\wamp\www\tests\test2.php on line 16" տեսակի զգուշացումը հիմնականում արդյունք է դրա նախորդ տողում (15 տողում) կետ–ստորակետը ( ; ) չդնելուն։ Այսինքն այս զգուշատսումը եթե թարգմանենք կստացվի «փարսերը 16 տողում մեկ այլ բան էր սպասում տեսնել, սակայն այնտեղ "while" է հանդիպել»։
Մի՛ եղէց անպտուղ ի փոքր վաստակոյս`
Իբր ապաջան սերմանող անբերրի երկրի:
Նարեկացի

#9 ՆԱՎԱՎԱՐ

    Member

  • Members
  • PipPip
  • 137 posts

Posted 11 September 2007 - 09:59 AM

գիտես ինչ եմ մտածում մեկ մեկ.. :o
ասում եմ էս ծրագրավորողները տեսնես այսքան կոդ ու բալիզներ
ինչպես են մտապահում. ;)
ես աննդհատ գրքերին եմ նայում, չեմ կարող մտապահել.. :girl_smile:
Կյանքը մի օվկիանոս է, իսկ մենք բոլորս նավավարներ.....Մենք ենք, մեր նավակն ու առագաստները

#10 SkyFlyer

    Administrator

  • Admin
  • PipPip
  • 941 posts

Posted 11 September 2007 - 05:53 PM

View PostՆԱՎԱՎԱՐ, on Sep 11 2007, 02:59 AM, said:

գիտես ինչ եմ մտածում մեկ մեկ.. :o
ասում եմ էս ծրագրավորողները տեսնես այսքան կոդ ու բալիզներ
ինչպես են մտապահում. ;)
ես աննդհատ գրքերին եմ նայում, չեմ կարող մտապահել.. :girl_smile:
Իսկ ով ասեց, որ հնարավոր է մտապահել այդ ամբողջը (մոտ 2800 ֆունկցիա 80 ընդարձակումներում extension)։
Դրա համար ծրագրավորողի ամենալավ բարեկամը դա ավտոնոմ աշխատող օգնական (help) ծրագիրն է կամ նույնիսկ կարող ես օգտվել օնլայն օգնության էջերից հենց php.net
Այդ օգնական ծրագրերը գրված տարբեր լեզուներով կարող ես գտնել
Բեռնավորվող PHP օգնության ծրագիր

Բացի այդ կարող ես ցանկացած ֆունկցիա գտնել php.net/+ֆունկցիայի անունը։ Այսինքն եթե ուզում ես կարդալ ասենք print հրամանի մասին ապա բավական է գնալ php.net/print
Օնլայն օգնությունը ունի մի մեծ առավելություն՝ այնտեղ կարող ես գտնել նաև օգտագործողների նշումներն ու կարծիքները, որոնք շատ հետաքրքիր են։ Նույնիսկ կարելի է գտնել տվյալ թեմային վերաբերող տարբեր լուծումներ։

Օգտագործողների նշումներն ու կարծիքները կարող ես ունենալ նաև բեռնավորվող աուտոնոմ օգնության ծրագրի հետ, սակայն այդ դեպքում պիտի վերցնես "Extended HTML Help" տարբերակը, որը միայն անգլերեն է։

Բացի այդ...

Երբեք մի փորձի մտապահել ամեն ինչ, որ կարդում ես։ Դա գրեթե անհնար է, իհարկե եթե արտասովոր ընդունակություններ չունես։ Ծրագրավորման մեջ ամենա արժեքավոր բանը դա մտածելակերպն է։ Այսինքն քո մտքերի ընթացքը որևէ խնդիր լուծելիս։ Օրինակ մեր առօրյա կյանքում մենք բազմատիվ խնդիրներ ենք լուծում ու տարբեր ալգորիթմներ ունենք արդեն մեր գլխում, որը մշակել ենք մեր կյանքի փորձով։ Ամեն մեկս ել ասենք գնում է ամեն օր խանութ ու գնում ասենք հաց։ Տարբեր մարդիք այդ տրիվյալ հարցին մոտենում են տարբեր կերպ։ Արի մտավոր կազմենք այդ գործողության մոտավոր ալգորիթմը։

Հաց առնելու համար մենք պետք է.
  • դուրս գանք տանից
  • գնանք խանութ
  • գնենք հաց
  • վերադառնանք
Բայց եթե ուշադիր հետևենք մեր շրջապատի մարդկանց, ապա կտեսնենք որ դրանցից ոմանք հետաքրքիր լուծումներ են գտնում այն օպտիմիզացնելու համար (քիչ ժամանակ և ռեսուրսներ վատնելու նկատառումով)
Օրինակ մեկը կարող է իր տան կողքի խանութից առնելու փոխարեն գնալ մի քանի փողոց այն կողմ, քանի որ այնտեղ ավելի էժան է (դրամի խնայողություն)
Մյուսը կարող է իր հարևանի հետ պայմանավորվել և շաբաթվա 3 օրը ինքը գնա ու գնի իր և հարևանի հացի իսկ մյուս 3 օրը իր հարևանը անի դա (ժամանակի խնայողություն)
Իսկ մեկ ուրիշն ել կարող է լավաշ գնել շատ էժան կողքի գյուղից մի ամբողջ ամսվա համար ու պահել սառնարանում (դրամի և ժամանակի խնայողություն)
Այս բոլորն ել ունեն իրենց առավելություններն ու թերությունները, սակայն էականը նա է, որ մենք գիտենք այդ բոլոր լուծումները և կարող ենք դրանք ոգտագործել տվյալ պահին մեր նախընտրանքի՝ եթե դրամի պակասություն ունենք, ապա կօգտվենք առաջին լուծումից։ Եթե ժամանակի պակասություն ապա երկրորդից։ Իսկ եթե կա և ժամանակի և դրամի սղության ապա երրորդ մեթոդից։

Մեկ ուրիշ, ավելի ռեալ օրինակ` ֆակտորիալի հաշվարկը։
Դա կարելի է անել երկու հիմնական ալգորիթմներով՝ տվյալ շարքի թվերը բազմապատկելով միմյանց հետ ցիկլի միջոցով և դրա կատարումը ռեկուրսիվ ֆունկցիայի միջոցով։

Ռեկուրսիվ ֆունկցիա (ռեկուրսիվ անվանում են այն ֆունկցիաներին, որոնք կանչում են իրենք իրենց կատարման ընթացքում)
 <?php
function factorial($number)
{
		if ($number == 0) return 1;
		return $number * factorial($number - 1);
}

print factorial(6);
?>

կամ շարքի թվերը բազմապատկելով միմյանց հետ ցիկլի միջոցով
 <?php
function factorial($number)
{
	if ($number == 0) return 1;
	for($i=1, $n=1; $i<=$number; $i++) 
	{
		$n = $n * $i;
	}
	return $n;
}

print factorial(6);
?>

Միևնույն արդյունքը, սակայն տարբեր ռեսուրսներ օգտագործող լուծումներով։ Իսկ թե ինչպես գրել այն ու հրամցնել համակարգչին՝ դա լիովին տեխնիկական հարց է։ Այսինքն եթե դու գիտես ֆրանսերենի քերականությունը, ապա տառերն ու կետադրությունը սովորելը դառնում է տրիվյալ մի բան, իսկ եթե գիտես միայն տառեռն ու կետադրություն, ապա դժվար թե դրանից մի բան դուրս գա ու կարողանաս ասել թե ֆրանսերեն գիտես կամ կարողանաս օգտագործել այն։ Այդպես ել ոմանք անգիր անելով որևէ ծրագրավորման լեզվի ֆունկցիաները, կարծում են թե արդեն ծրագրավորող են ու մենակ դափնիներն են պակասում։ Իսկ կան մարդիք, որոնք ունակ են տրամաբանորեն լուծել զանազան խնդիրներ ու ծանոթ են համակարգչի մտածողության մոդելին։ Այդպիսիները կարող են ամիսը մի լեզու սովորել և սա չափազանցություն չէ։

Այնպես որ հանգիստ կարդա քո գրքերն ու անպայման փորձիր հասկանալ այնտեղ բերված օրինակները։ Իսկ եթե չես հիշում այն ինչ կարդացել ես, ապա հոգ չէ, քանի որ եթե հասկանալով ես կարդացել, ապա այն քո ենթագիտակցության մեջ է ու մի որ ծառայելու է քեզ։
Մի՛ եղէց անպտուղ ի փոքր վաստակոյս`
Իբր ապաջան սերմանող անբերրի երկրի:
Նարեկացի

#11 Հայք

    Member

  • Members
  • PipPip
  • 262 posts

Posted 05 November 2007 - 09:10 PM

Հարգելի ծրագրավորողներ ունեմ ձեր օգնության կարիքը։
Խնդրի դրվածքը։
Գոյություն ունի կայք, որը պատրաստված է PHP լեզվով։ Կայքը լեհերեն է։ Գոյություն ունեն կայքի անգլերեն տարբերակի տեքստերը։
Հարց.
_Ոչ մասնագետը կարո՞ղ է արդյոք ստեղծել (փոփոխելով հին սկրիպտերը) կայքի անգլերեն տարբերակը։
Կամ ինչի՞ց սկսել։
Նախապես շնորհակալություն։
Ողջ լերուք...

#12 SkyFlyer

    Administrator

  • Admin
  • PipPip
  • 941 posts

Posted 06 November 2007 - 12:35 AM

View PostՀայկ, on Nov 5 2007, 01:10 PM, said:

Հարգելի ծրագրավորողներ ունեմ ձեր օգնության կարիքը։
Խնդրի դրվածքը։
Գոյություն ունի կայք, որը պատրաստված է PHP լեզվով։ Կայքը լեհերեն է։ Գոյություն ունեն կայքի անգլերեն տարբերակի տեքստերը։
Հարց.
_Ոչ մասնագետը կարո՞ղ է արդյոք ստեղծել (փոփոխելով հին սկրիպտերը) կայքի անգլերեն տարբերակը։
Կամ ինչի՞ց սկսել։
Նախապես շնորհակալություն։
Միանշանակ կարող է եթե...
Այդ «եթե» պատասխանը կախված է նրանից թե ինչքան գրագետ է գրված սկրիպտը։ Ինչքան հասկացա այն իսկզբանե նախատեսված չի եղել լինել բազմալեզու։ Եթե այդպես է, ապա խնդիրը կբարդանա։ Այն կդժվարանա նաև եթե ինտենսիվ կերպով JavaScript օգտագօրծված լինի։ Բայց եթե ուզում ես իմանալ թե ինչպես «չագուճ զուբիլի» տարբերակով անել դա, ապա պիտի իմանաս թե ինչպես են գրվում տեղտերը PHP–ում։
Ահա դրանց տարբերակները, որոնք այդքան ել շատ չեն՝

Եզակի չակերտների մեյ գրվածը։
'text'

Կրկնակի չակերտների մեյ գրվածը։
"text"

այն ամենը ինչը <?php ... ?> –ից դուրս է
text <?php script ?> text

Այն ամենը ինչ «««ՈՐԵՎԵՏԵՔՍՏ ... ՈՐԵՎԵՏԵՔՍՏ; –ի միջև է ընկած
<<<HEREDOCSTYLE
text
HEREDOCSTYLE;

Այսինքն բացում ես ֆայլերը հերթով ու թարգմանում այն ամենը ինչը լեհերեն է։ Իսկ եթե կայքը օգտագործում է նաև տվյալների բազա, ապա պիտի թարգմանես նաև այնտեղ գտնվող ինֆորմացիան։
Վերջում եթե շիլաշփոթ չստացվի ուրեմն կունենաս այն ինչ ուզում էիր :wacko:
Մի՛ եղէց անպտուղ ի փոքր վաստակոյս`
Իբր ապաջան սերմանող անբերրի երկրի:
Նարեկացի

#13 Հայք

    Member

  • Members
  • PipPip
  • 262 posts

Posted 10 November 2007 - 08:33 AM

Շնորհակալություն Սերգե ջան արձագանքելու համար:
Այդ կայքն ստեղծողն ասում է, որ փոփոխություններն անհրաժեշտ է կատարել սերվերի վրա online, ինչքանով որ ճիշտ հասկացա SSH–ի միջոցով։ B)
Ողջ լերուք...

#14 SkyFlyer

    Administrator

  • Admin
  • PipPip
  • 941 posts

Posted 22 November 2007 - 07:11 AM

View PostՀայկ, on Nov 10 2007, 12:33 AM, said:

Շնորհակալություն Սերգե ջան արձագանքելու համար:
Այդ կայքն ստեղծողն ասում է, որ փոփոխություններն անհրաժեշտ է կատարել սերվերի վրա online, ինչքանով որ ճիշտ հասկացա SSH–ի միջոցով։ B)
Այդ ստեղծողը երևի չի լսել FTP մասին ;)
Բացի այդ կարելի է նաև ավելի կատարելագործված տարբերակ օգտագործել։ Դա այսպես կոչված ռեպոզիտորիան է (svn կամ cvs)։ Դրանք պահում են իրենց մեջ ֆայլերի հին տարբերակները ը սխալվելու դեպքում շատ հանգիստ կարող ես հետ գնալ հին տարբերակին։ Բացի այդ մի հրամանով կարելի է ամբողջը միանգամից աշխատանքային տարածքի մեջ լցնել։ Մի խոսքով շատ տարբերակներ կան, որոնք շատ ավելի հեշտ է օգտագործել քան SSH + vim
Մի՛ եղէց անպտուղ ի փոքր վաստակոյս`
Իբր ապաջան սերմանող անբերրի երկրի:
Նարեկացի

#15 Հայք

    Member

  • Members
  • PipPip
  • 262 posts

Posted 11 November 2008 - 04:16 PM

ՀԱՐՑ ԾՐԱԳՐԱՎՈՐՈՂՆԵՐԻՆ.
ԻՆՉ editor ՕԳՏԱԳՈՐԾԵԼ ՀԱՅԵՐԵՆ unicode ԿԱՅՔ ՍՏԵՂԾԵԼՈ ՀԱՄԱՐ?
Ողջ լերուք...

#16 SkyFlyer

    Administrator

  • Admin
  • PipPip
  • 941 posts

Posted 11 November 2008 - 05:12 PM

View PostՀայք, on Nov 11 2008, 08:16 AM, said:

ՀԱՐՑ ԾՐԱԳՐԱՎՈՐՈՂՆԵՐԻՆ.
ԻՆՉ editor ՕԳՏԱԳՈՐԾԵԼ ՀԱՅԵՐԵՆ unicode ԿԱՅՔ ՍՏԵՂԾԵԼՈ ՀԱՄԱՐ?
Պատասխան սկսնակներին :sarcastic:
Օգտագործիր այն ինչ ձեռքիտ տակ ունես և այլ բան մի փնտրի (մեջբերում «8 0 օր աշխարհի շուրջը» մուլտֆիլմից)։
Ես գրեթե միշտ օգտագործում եմ EditPlus + Notepad համակցությունը։ Առաջինը հոյակապ է ծրագրավորման իսկ երկրորդը Յունիկոդի համար։ Կարելի է նույնիսկ միայն վերջինով յոլա գնալ, սակայն բավական միապաղաղ ու շուտ հոգնեցնող միջավայր է։
Ամեն դեպքում խուսափիր այն խմբագրկան ծրագրերից, որոնք ունեն ամեն ինչ իրենց մեջ, որտեղ միայն օգտագործողն է պակասում։ Դրանք ավելորդ ուշադրության շեղում կբերեն միայն, քանի որ իրենք արդեն սովորելու մեծ ժամանակ ու պոտենցյալ պահանջող ծրագրեր են ու ամենակարևորը՝ ահավոր դանդաղ։

Կատարելիությունը պարզության մեջ է...
Մի՛ եղէց անպտուղ ի փոքր վաստակոյս`
Իբր ապաջան սերմանող անբերրի երկրի:
Նարեկացի

#17 Հայք

    Member

  • Members
  • PipPip
  • 262 posts

Posted 11 November 2008 - 06:24 PM

View PostSkyFlyer, on Nov 11 2008, 06:12 PM, said:

Պատասխան սկսնակներին :)
Օգտագործիր այն ինչ ձեռքիտ տակ ունես և այլ բան մի փնտրի (մեջբերում «8 0 օր աշխարհի շուրջը» մուլտֆիլմից)։
Ես գրեթե միշտ օգտագործում եմ EditPlus + Notepad համակցությունը։ Առաջինը հոյակապ է ծրագրավորման իսկ երկրորդը Յունիկոդի համար։ Կարելի է նույնիսկ միայն վերջինով յոլա գնալ, սակայն բավական միապաղաղ ու շուտ հոգնեցնող միջավայր է։
Ամեն դեպքում խուսափիր այն խմբագրկան ծրագրերից, որոնք ունեն ամեն ինչ իրենց մեջ, որտեղ միայն օգտագործողն է պակասում։ Դրանք ավելորդ ուշադրության շեղում կբերեն միայն, քանի որ իրենք արդեն սովորելու մեծ ժամանակ ու պոտենցյալ պահանջող ծրագրեր են ու ամենակարևորը՝ ահավոր դանդաղ։

Կատարելիությունը պարզության մեջ է...

ԴԵ ՄԻՆՉ ԱՅԺՄ ՕԳՏԱԳՈՐԾԵԼ ԵՄ Crimson Editor, ՈՐԸ Ի ՏԱՐԲԵՐՈԻԹՅՈԻՆ EditPlus-Ի ԱՆՎՃԱՐ Է!!!
ԲԱՅՑ ԵՐԲ ԴՐԱ ՄԵՋ ՀԱՅԵՐԵՆ ԵՄ ՓՈՐՁՈԻՄ ԳՐԵԼ, ԱՊԱ ՀԱՅԵՐԵՆ ՏԱՌԵՐԻ ՓՈԽԱՐԵՆ ???????-ԵՆ ԳՐՎՈԻՄ :sarcastic:
Ողջ լերուք...

#18 SkyFlyer

    Administrator

  • Admin
  • PipPip
  • 941 posts

Posted 11 November 2008 - 10:11 PM

View PostՀայք, on Nov 11 2008, 10:24 AM, said:

ԴԵ ՄԻՆՉ ԱՅԺՄ ՕԳՏԱԳՈՐԾԵԼ ԵՄ Crimson Editor, ՈՐԸ Ի ՏԱՐԲԵՐՈԻԹՅՈԻՆ EditPlus-Ի ԱՆՎՃԱՐ Է!!!
ԲԱՅՑ ԵՐԲ ԴՐԱ ՄԵՋ ՀԱՅԵՐԵՆ ԵՄ ՓՈՐՁՈԻՄ ԳՐԵԼ, ԱՊԱ ՀԱՅԵՐԵՆ ՏԱՌԵՐԻ ՓՈԽԱՐԵՆ ???????-ԵՆ ԳՐՎՈԻՄ :sarcastic:
Շատ նման է իմ ասածին ու կարծես EditPlus–ի ազդեցությունն է կրում (սեմ, որ երկուսն ել Կորեական արտադրության են)։ Իսկ յունիկոդով գրելու համար շատ ավել բան է պետք քան սրանք ներդնում են։ Ծրագիրը պետք է դրա համար ստեղծված լինի, այլապպես ընթացքում մենակ կկարողանա կարդալ։ Օրինակ EditPlus չի գրում, բայց կարողանւմ է կարդալ ու կարող ես paste անել տեքստը մեջը, իսկ քո ասած Crimson Editor ոչ մի ձև չաշխատեց յունիկոդի հետ, հետո ել գրել են թե՝

Other useful features
support Unicode & UTF-8 encoding, drag & drop text editing,
Մի՛ եղէց անպտուղ ի փոքր վաստակոյս`
Իբր ապաջան սերմանող անբերրի երկրի:
Նարեկացի

#19 Ogan

    Newbie

  • Members
  • Pip
  • 2 posts

Posted 18 October 2012 - 07:34 PM

Նախ և առաջ շնորհակալություն հայալեզու ֆորումի համար (ավելի լավ կլիներ, որ ամբողջությամբ հայացնեիք) ։
Կա ասյպիսի պրոբլեմ կապված MySQL - հետ


mysql> SELECT (SELECT `sh_name` from `categor_hy` WHERE `id` = `kat_id` ) AS 'Cat', `id`, `VerGir` FROM `nyuter` ORDER BY (`lang` = 'hy') DESC, `date` DESC LIMIT 20;
+------+----+----------------------------------------------------------------+
| Cat | id | VerGir |
+------+----+----------------------------------------------------------------+
| NULL | 35 | "Ժառանգություն"-"Ազատ Դեմոկրատներ" |
| NULL | 34 | Վիկիլիկս |
| NULL | 33 | Վտանգված մայրենի |
| NULL | 32 | "Հրապարակ" N-204 |
| NULL | 31 | Հրապարակ N203 |
| NULL | 30 | Զբաղվածություն |
| NULL | 29 | Պերլիտ |
| NULL | 28 | Արամ Առաջին |
| NULL | 25 | "Երկրի հարցը" Արմեն Ռուստամյան |
| NULL | 26 | Կիլիկիո աթոռ |
| NULL | 24 | "Հրապարակ" N202 |
| NULL | 23 | "Երկրի հարցը" Միքայել Մելքումյան |
| patm | 19 | Կիլիկյան պետության անկումը։ |
| patm | 11 | Առաքելոց վանքի կռիվը 4։ |
| patm | 12 | Առաքելոց վանքի կռիվը 5։ |
| patm | 13 | Առաքելոց վանքի կռիվը։ |
| patm | 10 | Առաքելոց վանքի կռիվը 3։ |
| patm | 9 | Կիլիկյան Հայաստանի արքայացանկը։ |
| patm | 8 | Կիլիկյան Հայաստան. Ամփոփում։ |
| patm | 7 | Կիլիկյան պետության անկումը։ |
+------+----+----------------------------------------------------------------+
20 rows in set (0.00 sec)

Եթե նկատեցիք tvvid ի փոխարեն NULL ենք ստանում։ Ու ես հիմարության պատճառով կայքս չեմ կարողանում վերջացնել։
//////////////////////////////////////////////////////////////////////////////////
`categor_hy` աղյուսակի կառուցվացքը


--
-- Структура таблицы `categor_hy`
--

CREATE TABLE IF NOT EXISTS `categor_hy` (
`id` smallint(3) unsigned NOT NULL AUTO_INCREMENT,
`sh_name` tinytext NOT NULL,
`name` varchar(100) NOT NULL,
`title` varchar(255) NOT NULL,
`meta_k` varchar(255) NOT NULL,
`meta_d` varchar(255) NOT NULL,
`text` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;

--
-- Дамп данных таблицы `categor_hy`
--

INSERT INTO `categor_hy` (`id`, `sh_name`, `name`, `title`, `meta_k`, `meta_d`, `text`) VALUES
(1, 'patm', 'Պատմություն', 'Պատմություն', 'Պատմություն', 'Պատմություն', 'Պատմություն'),
(2, 'web', 'Վեբ', 'Վեբ', 'Վեբ', 'Վեբ', 'Վեբ'),
(3, 'tvvid', 'TV', 'TV', 'TV', 'TV', '');
/////////////////////////////////////////////////////////////////////////////

`nyuter` աղյուսակի կառուցվացքը

CREATE TABLE IF NOT EXISTS `nyuter` (
`id` int(9) unsigned NOT NULL AUTO_INCREMENT,
`date` date NOT NULL,
`lang` set('hy','ru','en') NOT NULL,
`kat_id` set('1','2','3') NOT NULL,
`bajin_id` set('1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23') NOT NULL,
`VerGir` varchar(50) NOT NULL,
`title` varchar(255) NOT NULL,
`KeyWords` varchar(300) NOT NULL,
`meta_k` varchar(255) NOT NULL,
`meta_d` varchar(300) NOT NULL,
`desc` varchar(300) NOT NULL,
`text` text NOT NULL,
`mini_img` varchar(255) NOT NULL,
`aycer` int(11) unsigned NOT NULL,
`hexinak` varchar(255) NOT NULL,
`gnahatakan` decimal(3,2) unsigned NOT NULL DEFAULT '3.00',
`bl_nav` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
FULLTEXT KEY `desc` (`desc`),
FULLTEXT KEY `title` (`title`),
FULLTEXT KEY `KeyWords` (`KeyWords`),
FULLTEXT KEY `text` (`text`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Կայքի նյութերը' AUTO_INCREMENT=40 ;

#20 Ogan

    Newbie

  • Members
  • Pip
  • 2 posts

Posted 18 October 2012 - 09:40 PM

`kat_id` set('1','2','3') NOT NULL
set -ը դարձրեցի varchar և սկսեց աշխատել։
Լավ է , որ աշխատեց, բայց դժգոհ եմ, որ չգիտեմ ինչո՞ւ ։Եթե կարող ասեք։
CMS ներից չեմ օգտվում դրա համար ամեն մանրուք ( եթե սա մանրուք է) ինձ համար կարևոր է։