Jump to content
php.lv forumi

Morphius

Reģistrētie lietotāji
  • Posts

    150
  • Joined

  • Last visited

Posts posted by Morphius

  1. Kaut ko sapratu, kaut ko nē, bet sapratu pilnībā to ka man vēl daudz jāmācas :D

    Cik es cenšos rakāties pa manuāli, rezultātu īpaši nekādu, it sevišķi ja ir kāds nopietnas dabas jautājums...sāk likties ka tas manuālis ir vai nu pieredzējušiem, vai arī tā ir viela atkārtošanai, ja kas ir aizmirsies! Bet ne katrā ziņā viela no kuras mācīties... un ja vēl eng valoda klibo, tad it sevišķi sarežģīts process :)

     

     

    Par atšķirību starp while ($a = b()) un while (b()) - pirmajā gadījumā funkcijas b() rezultāts piešķiras mainīgajam $a, otrajā nē.

     

    Šī rinda ko Tu uzrakstīji ir ābece, bet jautājuma doma bija tāda, ka kamdēļ funkcija jāpiesaista mainīgajam, ja tas mainīgais netiks nekur izmantos? Piemēram ja pārbaudam 'login' paroli...varam pārbaudīt gan:

    if($_POST["pass"] == md5($row["pass"]))

     

    gan arī:

    $pass=md5($row["pass"];
    if($_POST["pass"] == $pass)

     

    respektīvi mana loģika ir tāda ka nav obligāti jāpiesaista funkcijai mainīgais jā šī funkcija arī bez mainīgā izpildīsies korekti...vai ne tā? :) Nu it kā domu loģiski izklāstīju...:)

    Tad kāpēc "while($row=mysql_fetch_assoc($result))" strādā korekti, bet "while(mysql_fetch_assoc($result))" nē? Tikko paeksperimentēju...man iekš db ir 8 ieraksti, while ar mainīgo izvada visas tabulas ar datiem korekti, bet savukārt while bez mainīgā izvada tukšas 8 tabulas bez jebkādiem datiem :D WTF

     

    Zinu ka manā augstāk minētajā loģikā ir kļūda un arī neba jau php izstrādātāji būs ūdeņus nolaiduši...nu bet gribētos dzirdēt kādu ne pārāk sarežģītu skaidrojumu bez liekiem uzbraucieniem :D

  2. Hmm... Jāmācās jāmācās, par cikliem jāmācās. Klasisks jautājums - ar ko atšķiras cikls:

    do
    {
    } while()

    no

    while()
    {
    }

     

    Pričom te cikli kā tādi, 'mārcis' jau augstāk izskaidroja ar ko atšķiras šie cikli un tik daudz arī es zinu, bet ne ko vairāk! Izskaidro man kāpēc viens koda gabals izvada visus ierakstus, bet tāds pats līdzīgs ne visus?! a? Kāpēc lieka rindiņa "$row=mysql_fetch_assoc($result)", ietekmē uz izvadi? It kā problēma nav būtiska, bet tomēr interesē? Kur ir tas āķis?

     

    O, vel viens jautājums, kamdēļ "while($row=mysql_fetch_assoc($result))" un "while(mysql_fetch_assoc($result))" ir tik ļoti atšķirīgi! Es vienreiz nevarēju iebraukt, kāpēc 'while' nevēlas ciklēties...izrādas mainīgo nebiju piemetis! Bet vai tad funkcija bez mainīgā piesaistes nefunkcionē? Man, kā iesācējam, tā ir kārtējā mistika...

  3. $result=mysql_query("tiripiri");
    while($row=mysql_fetch_assoc($result))
    {
      printf("Šo forumu apskata lietotājs %s", $row["username"]);
    }

     

     

    ??? Kapec izvadiji sho kodu? Tip atrodi 10 atskiribas? :)

  4. Tev tur kaut kas ir līks, rādi sākot ar mysql_query() izpildi.

    Tavā gadījumā pirmais ir ieraksts uz ekrāna tiktu izmests "Šo forumu apskata lietotājs ", jo $row nemaz vēl nav definēts.

     

     

     

    Shis kods izvada visus ierakstus:

    $result=mysql_query("tiripiri");
    $row=mysql_fetch_assoc($result);
    do
    {
      printf("Šo forumu apskata lietotājs %s", $row["username"]);
    }
    while($row=mysql_fetch_assoc($result));

     

     

    Shis kods neizvada pirmo ierakstu!

     

    $result=mysql_query("tiripiri");
    $row=mysql_fetch_assoc($result);
    
    while($row=mysql_fetch_assoc($result))
    {
      printf("Šo forumu apskata lietotājs %s", $row["username"]);
    }

  5. Interesanti... Varbūt parādi kā tu izvadi datus lietojot while() ?

     

    Palasot while un do-while manuāļus, saprotam, ka while strādā, kamēr nosacījums ir spēkā, bet do-while sākumā dara un tad pārbauda vai nosacījums ir spēkā.

     

    Mārci, tas piemērs, ko Tu man te iedevi izvada DB ierakstus, izņemmot pirmo, bet ja izmantoju do...while tad izvada visus!

     

    Šāds do...while cikls izvada visus esošos ierakstus iekš DB

    do
    {
      printf("Šo forumu apskata lietotājs %s", $row["username"]);
    }
    while($row=mysql_fetch_assoc($result));

     

    Gribi teikt ka man vienam gadījās aš 2-vas reizes tāds pārpratums? Nus kungi, kāds būs rezumējums? Ļausiet iesācējam izprast šo pārpratumu?

  6. Низкий поклон jums kungi, beidzot pieleca :D

     

    ja tavā kodā nav while tad varbūt ir foreach ?

     

    Manā kodā ir while...tik daudz jau apjēdzu! Neiet runa par galīgu stulbumu, iet runa par to ka esmu sācis kodēt 1.5 mēnesi atpakaļ un grūti to domāšanu virziīt pareizajā virzienā! Piemēram "kechums" ieteica ar <div> tegiem un es nekādīgi nevarēju iebraukt ko viņš ar tiem <div> bija domājis, kamēr cienītais mārcis neizšpļāva sekojošo tekstu:

    Piemēram, ja tu izvadīsi vienu elementu pēc otra un pēc css noteikumiem tam ir noteikts platums, tad loģiski, ka tas automātiski pārleks jaunā rindā.

    Pēc šī, bilde momentā palika skaidra! :) It kā sīkums, bet...

     

    Nu labi, ne par šo ir šis stāsts, turpinam ar iesākto tēmu :D

     

    Manā mazajā praksē jau divreiz esmu nonācis pie vienas neskaidrības, ar kuru vēlētos tagad tikt skaidrībā.

     

    Izmantojot 'while() {}' netiek izvadīts pirmais ieraksts no DB, bet savukārt 'do {} while();' izvada pilnībā visus ierakstsu...kadēļ tas pliks while tā uzvedas? A?

     

    PS

     

    Retais prot atšķir trokšņus un vēl jo vairāk spēj noregulēt aizdedzi :D

  7. <form method="post" action="http://lapa.lv">
    // input lauki ieskaitot submit
    </form>

    Nospiežot submit būs automātisks action uz noteikto lapu, bet vai ir iespēja aizsūtīt formas laukus un paliekot tajā pašā lapā?

     

    Vienkarshi:

     

    Lapas augshpusee ieliec kodu

    if (!isset($_POST["tava_input_lauka_name"]))
    {
    //Ja neeksistee post, tad izvadam vienkarshi formu
    echo  "<form method='post' action='http://lapa.lv'>
    </form>";
    }
    else 
    {
    //ja tomeer eksistee, tad apstraadaajam datus taalaak
    $tava_input_lauka_name=$_POST["tava_input_lauka_name"];
    }

  8. while starp iekavām vajag izteiksmi ibio ... tu tak teici ka rindiņā no db maaki izvadiit datus ....

     

    Nevajag tachu trakot...kas tev liekas elementaari man iespejam liekas nepaveicami, tapec arii prasu lai paradat kaa tas kodaa izskataas, lai vaardos nepaarprastu! Taa "ibio" vietaa buutu labaak ielicis realu piemeru :)

     

    Tu kad autinjam atver kapotu, uzreiz vari pateikt ka iespeejams varsti klaudz, vai arii pec motora darbibas momentali nosaki cik precizi ir noreguleta aizdedze, vai par velu vai agru, vai varbut siksna ir parlekusi pa zobu? :) Vel pasaki...tip kursh tad to nemak ;) Cerams domu gajiens ir skaidrs ;)

  9. Es tev pat piemēru uzrakstīju kā izskatīsies kods, kad būs tabula ar 5 kolonām. Ciklā, ik pa 5 ierakstiem, tu veidosi jaunu rindu, tas arī viss.

     

    Es sapratu ka tiks pievienota jauna rinda...jautaajums bija kaa tajaa pirmajaa rindaa izvadiit produktus katraa atsevishkaa shuunaa bez <div> tegiem? Kaa tas izskataas koda veidaa? Es jau mineeju ka katraa shunaa ieliku while ciklu un ieksh db kverija uzliku limit=1...rezultaats bija taads ka tika izvadiits viens produkts pirmajaa shuunaa, bet paareejaas 4 bija tukshas!

     

    BTW tavam piemeeram ir kluuda(3. rindaa)...vari izlabot...es ilgi shtukoju, bet taa arii nepieleca kaa to var izlabot!

  10. Padomāt tikai vajag :)

     

    Ar div elementiem būs vienkāršāk aiz tāda iemesla, ka nav jāseko līdzi izvadāmo ierakstu skaitam, atliek css'ā sarakstīt attiecīgās vērtības attiecīgajam elementam. Piemēram, ja tu izvadīsi vienu elementu pēc otra un pēc css noteikumiem tam ir noteikts platums, tad loģiski, ka tas automātiski pārleks jaunā rindā.

    Ja nu tomēr tabula, tad jāizdomā, ko jāizvada ciklam. Loģiski, katram elementam nebūs vajadzīga jauna tabula, tātad <table> tagiem jāatrodas ārpus cikla. Arī <tr> tagus nav jāizvada līdz ar katru ierakstu, taču ik pa noteiktam ierakstu skaitam gan. Tad nu jāsāk lietot izdoma.

    $i = 0;
    echo '<table><tr>';
    while(){
     echo '<td> </td>';
     if(++$i%5==0){ // ja šī ieraksta kārtas numurs dalās ar 5 bez atlikuma, tad taisam jaunu rindu
    echo '</tr><tr>';
     }
    }
    echo '</tr></table>'

     

    Nu ja...ar <div> ir pavisam vienkārši :)

     

    Bet ja atgriežamies pie tabulām... ja piemēram sataisa <table> ar 1 rindu u 5-cām kolonnām, tad ar ciklu ieliekam katrā šūnā pa vēl vienai tabulai jau ar produkta saturu?! Tikai jautājums kā tas izskatās koda veidolā? Es jau minēju ka meģināju cikliski izvadīt katrā šūnā pa produktam..bet man kaut kā nesanāk tas pasākums...

  11. Es skatos ka dažiem labiem ir šādi tādi interesanti statusi kā Koda Dievs, māceklis, vai vēl kā savādāk... Jautājums, kā tiek pie šādiem statusiem? ;) Ar postu skaitu pavairošanu, vai gudru tekstu postošanu? :)

  12. Viens no variantiem varētu būt ar DIV'u palīdzību, liekot ciklā. Ar tabulām šķiet nebūs vairs tik vienkārša padarīšana.

     

    Ok, bet kā tas izskatās uz paīra ar visu ciklu? Cik saprotu, Tu man parādīji kā nostilēt <div> tegu?! ;)

     

    Ar tabulām es mēģināju darīt sekojoši:

    • Izveidoju tabulu
    • Katrā šūniņā ieliku do...while ciklu ar limit=1
    • izvadīju
    • un aplauzos

     

    Respektīvi vienā šūnā izvadījās prece, bet pārējās palika tukšas, kaut gan tajās bija ierakstīta cikla funkcija! Kāpēc? Varbūt ir kāda cita funkcija, kas pārbauda vai ir jau izvadīts kaut kas un tad tiek izvadīts nākamais ieraksts?

  13. Es kā iesācējs uzrāvos uz vienas, it kā, elementāras lietas, bet man pagaidām nesaprotamas un neziāmas. Velos izvadīt preces tabulā, kā par piemēru paņemsim salidzini.lv preču katalogu. Tur ir redzams ka tabula sastāv no 3 rindām un 5 kolonnām. Man datubāzē pieņemsim ir 22 preces. Respektīvi pirmajā lapā 15 un otrajā 7. Es māku cilklā izvadīt preces, kuras tiek viena aiz otras pakārtotas(kā komentāri), nevis smuki tabulāri... Lūgums, izvadiet man kādu elementāru piemēru kā man ar ciklu palīdzību aizpildīt tabulu ar 15 vai 7 precēm! Savādāk bez piemēriem nespēju iebraukt šajā zinātnē...vai varbūt te ar cikliem nav nekāda saistība?!

  14. tava gadijumaa buus javeido 2 DB tabulas, jo 1 glabasies IP otra tikai pliks skaits..

    Pilniigi bezjedziigs piegaajiens ...

    vienkarsak ir izmantot contera skriptu tikai pielagot lai piefiksee faila ID ( ja faili maz tad vinjus var glabaat arii masiivaa ), nevis lappusi kura apmekleeta ...

    ------------

     

    uj...tik daudz es nemaku ieksh php...es saakumaa dariitu kaa es uzrakstiiju un cilveekam kam vajadzigs shis skripts tagad un tulit, vinam pofig cik lauku tabulaa ir...galvenais lai stradaa :)

  15. nevajag neko sarežģīt, vai kāds var uztaisīt šo skriptu? man viņš būs nepieciešams tikai 5 vai 6 failiem.

    vēlreiz saku gribu lai izskatās šādi:

    fails

    Download (267 downloads)

    citā vietā atkal tā pat, gribu, lai tur tas skaits nav vienkārši uz click reizēm, bet, lai tikai no vienas ip pieskaitas 1 reize un, lai viņš šos datus glabā datubāzē, nevis kaut kādā tur .txt failā!

     

    Nu par to ka jaregistree ip pie downloada shajaa gadiijumaa ir pilniigi bezjeedziiga padariishan...

     

    u tad taa...izveidpo datubaazee ierakstu "count"

    Kad tiek dots pieprasiijums uz download (if(isset(tiripiri))) izvadi no datubaaze count veertiibu un piepluso 1 (count++), tad update datubazi ar jaunu 'count' veertiibu!

     

    Ja nu taa ip tik tieshaam vajadziiga tad pirms taisiit update ar jauno count vertibu parbaudam vai datubaazee neeksiste esoshaa ip adrese...

     

    Man ar failiem nav bijusi dariishana, tapec es koda veidaa nevaru shito paraadiit...bet domaaju ka ar savu iesaaceeja praksi es to dabutu gatavu...risinaajums ir skaidrs, tikai jazin valoda lai to paarveerstu kodaa...

  16. smags gadijums...

     

    man liekas ka Tu pat necenties saprast...tada sajuta ka uz dullo tiek kaut kas, kaut kur likts...

     

    Shie portaali ir ar templateem un nav tik vienkaarshi njemt kaut ko un izmainiit!

    Piedaavaaju risinaajumu kaa atrast failu kuaa ir tas ziedot links...

     

    Lai atvieglotu sho patiesi sarezgjiito darbu kaa viena linka atrashanu entajos failos piedaavaashu Tev risinaajumu! Nokachaa Open versiju htmlEditor http://www.tswebeditor.tk/ Shajaa produktaa ir taada funkcijaa kaa fraazhu mekleeshana starp noraadiitajiem failiem! Respektiivi noradi sava saita mapi un noradi ka jaatrod links "ziedot"! Programma meklees sho fraazi starp visiem failiem ko busi noraadiijis!

     

    PS

     

    Gribeeju piemetinaat ka ja iet runa par adminpaneljiem tad tik vienkaarsha taa linka pievienoshana nebuus...Tev tas links bus japievieno manuaali nevis caur adminpaneli! Tev jaatrod tas navigacijas bloks, kuraa tie linki tiek raditi un tad tajaa blokaa iemet to linku, kuru Tev te izmisigi censhas iesmeereet! Varu sadereet ka naakamais jautaajums buus: Kur atrodas tas navigaacijas bloks? Izmanto manis piedaavaato programmu un ar daznedazaadiem atsleegas vaardiem meegini atrast to bloku! Ka pirmos atslegas vardus izmanto "SMS navigacija"! tad soli pa solim rocies dzilaak!

  17. problema elementara!!! nav pareizi sastadita DatuBaze!

     

    Izveido tabulu 'plus_signup' kuraa ietilpst rindas (userid,password,email,name,sex)

     

    Ja nezini kaa to izdarit, tad attiecigi arii pajautaa un risinaasim sho problemu taalaak :)

  18. Man ir spele Muonline ar muweb.0.9,visu sataisiju bet mani uzhakoja vienu reizi webu otro reizi sql datubazes

    Varbut kads varetu man pateikt ka lai es uzstadu labu prethakosanas sistemu un ka uztaisit ta lai nevaretu uzlaust manu portalu un neka nojaukt!? un ar sql man jau vienreizs uzlauza taka nacas speli taisit par jaunu!?

    ja kads var palidzet rakstat:edza.vas.ems

     

     

    Saakumaa parliecinies vai ir Firewall un pie tam pareizi nokonfigurets...veel svariigs siikums ir tas ka pie MySQL drikst piekonekteeties tikai no locahost, nevis piemeeram no all hosts!!! Veel var php kodaa izlikt aizsardziibas kodu kursh nelauj nodot globaalos mainiigos shai vai tai lapai, nu protams jaatlauj tikai tos mainigos kuri vajadziigi!

     

    Protams, droshi vien ir veel fiichas kas nelauj nohakot, bet man kaa iesaaceejam taadas nav zinaamas!

×
×
  • Create New...