Jump to content
php.lv forumi

Maris-S

Reģistrētie lietotāji
  • Posts

    634
  • Joined

  • Last visited

Everything posted by Maris-S

  1. Codez, tas ka šis kods: $user=DB::q2('SELECT * FROM user WHERE id=%s',$uid); echo "Hello, $user"; ir saprotams neviens neapstrīd, bet kā ir kad Tev vajag atrast metodi kaut kādai konkrētai darbībai no metožu saraksta, kas Tev ir pieejams. Kodā tas viss ir saprotams, bet kā tad sanāks ja situācijai ir jāpieiet no otra gala un jāmeklē metode kas dara darbību, nevis jānosaka darbību ko dara konkrētā metode?
  2. Īsti laikam nesaprotu vairs par ko iet runa, bet vismaz es domāju pašas veidotās metodes nosaukumu, Jūs ar Kaklz izskatās jau vairāk runājiet par to vai vispār taisīt klasi, vai izmantot iebūvētās php funkcijas. Es tieši domāju ka pārlieku lielā saīsināšana metožu nosaukumos nav īsti laba, par to ka klases saīsina kodu un ir ērtāk, to neapstrīdu. Šis piemērs: function articlesByTag(){ $comments=DB::q3('SELECT * FROM comments c, users u WHERE c.uid=u.id and c.aid=%s LIMIT %s,20',$_POST['aid'],$_POST['offset']); echo json_encode($comments); } domāju labāk un saprotamāk izskatītos, ja būtu funkcija nosaukta pilnīgāk: function articlesByTag(){ $comments=DB::query_assoc('SELECT * FROM comments c, users u WHERE c.uid=u.id and c.aid=%s LIMIT %s,20',$_POST['aid'],$_POST['offset']); echo json_encode($comments); } To nosaukumu query_assoc() paņēmu no savas db klases. Tagad sāku domāt par PDO, bet cik atceros pats taisīju nosaukumus, lai saskanētu ar php mysql funkciju nosaukumiem, tā uzreiz intuitīvi varēja saprast un atcerēties ko funkcija dara, nu arī klāt komentāri. Man tās funkcijas bij sekojošas: query_array(), query_assoc(), query_row(), query_value(). Query_value atgrieza vienu vērtību, atbilstoši tam, kas tiek atgriezts ar vaicājumu, pārējās atgriež masīvus. Man nebija koloniņas metodes, bet to es visticamāk nosauktu par query_column(). Cik skatos izplatītāki nosaukumi tieši mysql klasēs ir izmantojot 'fetch' nevis 'query', piemēram fetch_assoc(). Kavacky, diez vai tas daudz ko mainīs, jo tāda pieeja kur skaitlis norāda uz dimensiju noderēs tikai tad ja Tu paskatoties uz q() sapratīsi un zināsi ka tas pilnīgi noteikti ir query, nevis, piemēram quantity. Pie tam, tieši vaicājumu gadījumā, dimensiju skaits var būt vairākiem variantiem viens. Nedomāju ka saīsinot funkcijas nosaukumu līdz vienam simbolam saekonomēsi laiku. Piemēram es burtus rakstu neskatoties uz klaviatūru, rakstot ciparus un iekaviņas gan, tāpēc kopumā pierakstot funkcijas nosaukumus query_assoc() un q0() ar visām iekaviņām laika ziņā neko īpaši neiegūšu. Pie tam kā jau teicu izstrādāšanas vides ļauj izmantot autocomplete un tur, kad atveras saraksts ar metodēm, viena burta metožu nosaukumi gan lielu priekšstatu par funkciju nedos, protams ja zin viņas no galvas un visā klasē ir tikai 5 metodes, tad jā, bet normāla datubāzes klase parasti satur daudz vairāk metodes, ja ne sākumā, tad ar laiku to parasti nākas paplašināt.
  3. Tas ka komentārs norāda ko dara nākošā rindiņa, līdz ar to arī konkrēta metode, ir tikai viens no variantiem, bet gadījumā ja Tu strādā ar svešu klasi un jāatrod kāda konkrēta metode, nevis jāpaskatās ko dara jau kodā izmantotā, tad nosaukumi ar vienu burtu galīgi nederēs. Patiešām Tev taisnība ka jebkurā gadījumā būs jāskatās dokumentācija, lai noskaidrotu visu par konkrēto metodi, bet pēc saprotamiem nosaukumiem Tev būs jāapskata daudz mazāk, lai atrastu ko meklē. Piemēram ja ir funkcijas: get_first_row(), get_first_column(), get_all_results() un Tev jāatrod to, kas izvada visu, tad noteikti neskatīsies pirmās divas, bet ja funkcijas ir q1(), q2(), q3(), tad gan būs jāskatās visas.
  4. Tomēr vairāk piekrītu Kaklz, nezinu vai viņa piedāvātie nosaukumi ir labākais variants, bet tomēr funkciju vai metožu nosaukumiem jābūt intuitīvi saprotamiem, par to cenšas mācīt jebkurā nopietnā programmēšanas literatūrā. Īsos nosaukums (q1, q2, utt.) pilnīgi noteikti ir ātrāk pierakstīt, uzturēt nē, it īpaši strādājot pie sveša koda. Pie tam mūsdienīgas izstrādāšanas vides piedāvā autocomplete, kas pierakstīšanas ātrumu palielina, arī izvadītajā metožu sarakstā, cilvēkam, kas strādā ar noteiktu klasi reti vai pirmo reizi, būs vieglāk saprast ko katra metode dara, ja tai būs saprotams nosaukums.
  5. Laikam īsti nesapratu ko jāpanāk, bet foreach arī var pārtraukt jebkurā laikā ar break, bet ja ļoti vajag while var izmantot kaut vai funkcijas: reset, current, next.
  6. Tāda aizdoma, ka varētu kādu rezultātu panākt, uzliekot indeksu uz wppnol.delby.
  7. Kas konkrēti ir pēc where, group by un order by?
  8. Tu to varētu panākt ar javascript. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Links</title> <style type="text/css"> .outer { width: 300px; height: 200px; background-color: lime; } .outer a { width: 150px; height: 20px; background-color: white; margin-top: 10px; display: block; } </style> <script type="text/javascript"> function cancelEvents(e) { if (!e) e = window.event; e.cancelBubble = true; if (e.stopPropagation) e.stopPropagation(); } </script> </head> <body> <div class="outer" onclick="javascript: document.location.href='http://php.lv';"> <a href="http://php.net" onclick="javascript: cancelEvents(event);">Pirmais</a> <a href="http://php.net" onclick="javascript: cancelEvents(event);">Otrais</a> </div> </body> </html> Pielāgo linkus un CSS savām vajadzībām un viss strādās.
  9. Jā, temats patiešām atrunāts diezgan bieži un plaši, bet man liekās ka runāt par līkām rokām taisot vienāda augstuma kolonas noteiktajos gadījumos ar tabulām ir pavisam nepamatoti. Drīzāk jau neredzēt ērtāko variantu konkrētajā situācijā un uz pašreizējo brīdi ir nepareizi. Protams CSS attīstās un tam vajadzētu spēt nodrošināt izkārtojuma kodēšanu, bet pagaidām viņš nav tik tālu attīstījies, nevis pats CSS nav attīstījies, bet tā atbalsts pārlūkos, savukārt tabulas ir. Pareizi vienā angļu valodas forumā viens cilvēks rakstīja: "paies kāds pus gads kamēr IE ieviesīs normālu atbalstu kādai jaunai lietai CSS un paies vēl 1-2 gadi kamēr visi uzliks IE jaunās versijas, kas atbalsta šo jauno CSS lietu". Tiem, kas tagad aizdomājās par to, ka nav jāizmanto IE, tad Jūsu domas mainīsies, kad taisīsiet kādu nopietnu projektu, nopietnam klientam, kam neinteresē ka IE ir alternatīvas. Pašlaik stingra nostāja, div izmantošanai pilnīgi visur, izskatās principa pēc. Tas nekas ka jāizmanto kaudze hacku un jāpavada kaudze laika googlē, lai sataisītu tikai ar CSS, bet es tak esmu krutais koderis, es neizmantošu tabulu. Nu viss iztērēju gandrīz dienu bet mans sarežģītais dizains tagad ir tikai ar css. Paiet vēl mēnesis un atrodas bugs, tomēr kaut kādā pārlūkā līdz galam tās koloniņas nestaipās, bet es tomēr vienalga esmu krutais koderis un tērēšu vēl pus dienu, lai atrisinātu šo problēmu, bet tikai ne tabulas. CSS pagaidām ir ļoti daudz lietas kas vēl pietrūkst un nevis tāpēc ka viņu nav vispār, bet tāpēc ka līdz CSS3 izmantošanai reālos projektos vēl jāgaida ļoti ilgi. Kā piemēru var minēt, multiple background, kolonas (nevis ar div vai tabulām, bet īstās kolonas), rounded corners un tml.
  10. Jā, starp citu, kā jārēķina, lai sarēķinātu ka kolonas pievienošana tabulai (<td></td>) palielina html ģeometriskajā progresijā, salīdzinot ar <div></div> pievienošanu?
  11. Runa iet par vienādu augstumu. Parastajos variantos patiešām ir vienkāršāk ar div, pat veidojot vienādus augstumus, es personīgi izmantoju div tik tālu kamēr noder "Faux Columns" pieeja, ja jāsāk izmantot pieejas, kas izmanto lielos paddingus un marginus (uz leju), tad labāk iztieku ar tabulām, jo html/css paliek mazliet sarežģītāks, tabulai man šķiet vieglāk tādos gadījumos izsekot līdzi. Pie tam ieraugot <table> Tu vienmēr sapratīsi kam jāseko tālāk un ko nozīmē <tr> un <td>, bet ieraugot iekļautos div, Tev jebkurā gadījumā būs jāpēta kādā veidā viņi tiek organizēti un kāds css viņiem tiek izmantots. Tas ir aktuāli ja dizainu neesi taisījis pats, vai arī taisīts ļoti sen. Protams var arī ar tabulām pacensties sataisīt tādus brīnumus, ka pats nesapratīsi, it īpaši ar iekļautajām tabulām, tā ka vienkārši jāizvēlas labākais variants konkrētajai situācijai.
  12. Jā, es zinu ka tabula nav domāta izkārtojumam, bet nav arī aizliegta. Dažiem izkārtojumiem sanāk tik daudz css un iekļauto divu, ka tabula tomēr vienkāršāk un saprotamāk izskatās, bet nu katram sava pieeja.
  13. Pamēģini pa google paskatīties kaut ko šādu: http://www.google.lv/#hl=lv&source=hp&q=Css+equal+column+height&aq=f&aqi=g1&aql=&oq=&gs_rfai=&fp=bcddc4a5329ba1d0 Ja tomēr dizains ir pārāk sarežģīts un css paliek nepārskatāms, tad var veidot ar parastu tabulu. Protams pret tabulām daudzi protestēs.
  14. Domāju ka Codez ar 20 ls domāja ne tikai hostingu, bet arī klāt uzturēšanu, tā ka nemaz nav tik dārgi.
  15. Pamēģini izmantot ctype_alnum, pats gan neesmu mēģinājis un nezinu kā strādā ar latviešu burtiem.
  16. Tur cik lasīts time_t pāriešanai uz 64 bitiem ir dažas problēmas, tas varētu būt nesavietojams ar pašreizējām sistēmām, ja pareizi esmu sapratis, tā jau 64 bitu sistēmas tagad ir pieejamas, bet to īsti nevar izmantot timestampam. Bet nu līdz 2038. gadam pietiekoši laika to atrisināt.
  17. Jācer ka līdz 2038. gadam šim laika skaitlim jau sāks izmantot 64 bitu integeri.
  18. Maris-S

    $.get();

    Confirm varētu taisīt servera pusē, tas ir papildus apstiprināšanu, tad ar linku tik vienkārši nevarēs izdzēst kaut ko, pat ja esi ielogojies.
  19. Diez vai Liepiņam (smiekliem.lv topika aizsācējam) ir kādas juridiskas autortiesības uz to lapu, bet vienalga nesmuki. Varbūt kļūdos, bet liekās ka pat dizains ir stipri līdzīgs, nemaz nerunājot par smiekliem.lv logo. Vismaz pie tā varēja piestrādāt, lai ir kaut kāds savs unikāls darbs ieguldīts.
  20. Pārfrāzēšu anonīms uzdoto jautājumu. Kāpēc nospēri ideju?
  21. Tev patiešām nekādas kļūdas neizvada? Tev vismaz šis nostrādā: echo $_POST['text'];
  22. <?php error_reporting(E_ALL); ini_set('display_errors', true); //mysql konekts mysql_connect("localhost", "root", "pw")or die(mysql_error()); mysql_select_db("db")or die(mysql_error()); if (isset($_POST['text'])) { echo $_POST['text']; $text_db=mysql_real_escape_string($_POST['text']); $result = mysql_query("INSERT INTO `tabula-txt` (`text`, `time`) values ('$text_db', now())"); if (!$result) echo(mysql_error()); } echo " <form method='post'> Tavs teksts:<br /> <input name='text' type='text' /><br /> <input value='submit' type='submit' /> </form> <!-- Jabut nosledzosajam tagam un nav formas vispar, nezinu vai viss Tu visu html kodu paradiji, bet izskatas ka sis butu labi vien japapildina. --> " ?> Paskaties vai neizvadīs kļūdu?
  23. Īsti nezinu vai tas ir viss kods, bet ja jā, tad tomēr nepilnīgs, būtu jāpapildina. <?php //mysql konekts mysql_connect("localhost", "stopeed", "SGRfruUydyVVmNRd")or die(mysql_error()); mysql_select_db("stopeed_www")or die(mysql_error()); //Tagiem jābūt vienādiem, sākuma un noslēdzošais nevar būt <pre></p>, bet labāk izvadīt mysql kļūdu. if (isset($_POST['text'])) { echo $_POST['text']; $text_db=mysql_real_escape_string($_POST['text']); //Gan drošībai, gan speciālo simbolu esceipošanai. mysql_query("INSERT INTO `tabula-txt` (`text`, `time`) values ('$text_db', now())"); //vērtības jāliek apostrofos nevis `, pašreizējo datumu var iegūt ar mysql funkciju now(), cik saprotu insertam jānotiek tikai kad notiek datu sūtīšanu, tāpēc jābūt šajā ifā. } ?> Tavs teksts: <td><input type="text" name="text"></td> <!-- Jābūt noslēdzošajam tagam un nav formas vispār, nezinu vai Tu visu html kodu parādīji, bet izskatās ka šis būtu labi vien jāpapildina. --> Komentāros nav aprakstītas visas kļūdas, tāpēc pievērs uzmanību atšķirībām un kā jau teicu html daļa izskatās nepilnīga, paskaties kā tiek veidotas htmlā formas (tags <form>). Kodu nepārbaudīju, iespējams nepilnības.
  24. Maris-S

    Veicu gabaldarbus

    Nu bij gan. Gan jau tagad EdgarsA uz mani apvainosies vai brauks virsū, bet kurā vietā te bija izrādīšanās un kāda jēga spriest par programmētāju vecumu? Dažs labs 30 gados nevar sasniegt to ko citi sasniedz un vairākas reizes pārspēj pat nesasniedzot 18 gadus.
  25. Maris-S

    Veicu gabaldarbus

    Piekrītu php newbie, šajā forumā ar vien biežāk parādās ieraksti, kas vienkārši ir bezjēdzīgs uzbrauciens, tā ir tāda pati izrādīšanās kā tā, ko aprakstīja EdgarsA. Protams bieži vien uzbraucēji ir jau ļoti pieredzējuši programmētāji, bet tā vietā, lai parādītu savu gudrību uzbraucot, izdariet to labāk ar labu padomu iesācējiem, liela daļa paši sākot programmēt meklējāt padomus tādos forumos, bet ja negribat dalīties ar savu pieredzi, tad nepiedalieties diskusijās vispār.
×
×
  • Create New...