Jump to content
php.lv forumi

hu_ha

Reģistrētie lietotāji
  • Posts

    423
  • Joined

  • Last visited

Posts posted by hu_ha

  1. ar ko tiek veiktas izmainjas? tb ar PHP vai javascript.

    Ja lietotaajs ievada datus vienaa lapaa un tad aiziet uz citu, tad izmainiitaa informaacija ir kaut kur jaasaglabaa un tad attieciigi jaariikojas.

     

    lapa x

     

    aizeju uz y

     

    ierakstu vaardu un nospiezhu pogu

     

    tieku mests uz lapu x

     

    lapaa x piefikseeju - ja ir ievadiits vaards un nospiesta poga, tad raadiit kaut ko citu..

     

     

    Taa nu tas izskataas shematiski un es tieshaam nezinu kas tev notiek tajaa briidii, kad tiek nospiests refresh.

    Lai paliidzeetu atbildeet ko tuvaak, tad ir jaaredz lapas kods vai arii apstaasti bik detalizeetaak, kaa un kas tiek realizeets...

  2. Tad nu ar abām rokām un kājām metos OOP virzienā. Vienkāršas klases, kas tiek izmantotas vienas, vai atvasinātās klases ir skaidras. Bet problēmas rodas, kad ir izveidots objekts un nepieciešams ar citas klases funkciju iegūt vērtības no šī objekta.

     

    Izveidoju divas testa klases A un B:

    class A {
    var $a1;
    
    function A () {
     return $this->a1=55;
    }
    
    function getA() {
    return $this->a1;
    }
    
    function setA($a) {
     $this->a1=$a;
    }
    
    function echoA() {
     echo 'A1 ir: '.$this->a1.'<br/>';
    }
    
    function &instance(){
     static $instance=false;
     if(!$instance){
    	 $instance = new A();
     }
     return $instance;
    }
    } //class a beigas
    
    class B {
    var $b1;
    var $b2;
    
    function B() {
     $this->b1=10;
     $this->b2=20;	
    }
    
    function setB() {
     $this->b1=30;
     $aa=A::instance();  //variants 1
     $this->b2=$aa->getA();
     
     $aa= new A(); 	 //variants 2
     $this->b2=$aa->getA();
     
     $this->b2=A::getA();	//variants 3
    }
    
    function setB2($b) {
     $this->b2=$b;
    }
    
    function echoB() {
     echo 'B1 ir: '.$this->b1.'<br/>';
     echo 'B2 ir: '.$this->b2.'<br/>';
    }
    } //class B beigas

    Kas tiek izsauktas sekojoši

    $a = new A();
    $a->echoA();
    $a->setA(100);
    $a->echoA();
    
    $b = new B();
    $b->echoB();
    $b->setB();
    $b->echoB();

    Dodot rezultātu:

    A1 ir: 55    //konstruktors
    A1 ir: 100  //izmana veertiibu
    B1 ir: 10   //konstruktors
    B2 ir: 20   //konstruktors
    B1 ir: 30   // funkcija setB();
    B2 ir: 55 // funkcija setB();  vajag lai buutu 100

     

    Jautājums sekojošs:

    Izveidoju objektu A, kur tiek klases mainīgā a1 vērtība piešķirta 100.

    Izveidoju objektu B un vēlos ar funkciju setB() piešķir b2 vērtību tādu, kāda ir uz doto brīdi a1, tas ir 100. Izmēģināju 3 variantus (pie funkcijas ir minēti), bet bez rezultātiem.

    Kaa panāk šādu rezultātu?

     

    protams, var izmantot konstrukciju:

     

    $tmp=$a->getA();
    $b->setB2($tmp);

    Bet tas jau ir galvenajā programmā, bet kā to var panākt klases funkcijas iekšienē?

  3. nu tu pastaasti kaa tev tie raksti tiek glabaati. Ja teksta failaa, tad pienjemu, ka tiek visi vienaa failaa (ir redzeets arii ka katrs savaa)

    Nu tad liekot ciklaa un lasot no faila lieto kaadu skaitiitaaju...

     

    $id=0,1,2,3...

     

    if ($id==0) $id=1; //ja nav id noraadiits, tad reekjina kaa 1
    
    $i=$id*20; //no kura ieraksta izvadiit
    $j=$i+20; //liidz kuram izvadiit (tb 20 vienaa lapaa)
    
    $k=0;
    while (nav faila beigas && $k<=$j ) {   //faila beigas vai 20 ieraksti
       if ($k>=$i && $k<=$j) {   //raksti kas ir vajadziigajaa diapazonaa
       izvada uz ekraana ierakstu
       }
    $k++;
    }

     

    tas ir viens no variantiem. tik vajag piesliipeet un padomaat. gan jau ka var uzcept ko labaaku kaa par sho 3 minuushu domu gaajienu..

     

    p.s. veel bik pielabojam... (varbuut veel kas atrodas kljuudains)

  4. nu to var veidot izmantojot vienkāršu formu, proti, ideja sekojoša:

    1) tiek nospiesta poga dzēst ierakstu (vai links whatever);

    2) if nosacījums, ka poga nospiesta un tiek izvadīta forma ar divām pogām yes/no

    iespējams vajadzīgs kāds hidden lauks vai sesija, kur saglabāt dzēšamo ierakstu (ieraksta numuru);

    3) nolasa kura no pogām nospiesta un attiecīgi veic darbības datu bāzē.

  5. nu es nez par query, bet shitas neizskataas peec taa kas ir domaats:

    if ($rez = 0) vajag if ($rez == 0) un ieteicams rakstiit:

    if (0 == $rez) - taa vieglaak atrast kljuudu...

     

    paprovee query ar mysql CC un paskaties vai tad ir kaa vajag un kaadu error met etc

  6. nu parasti jau uzraksta kas tieshi neiet.. lai to paarbaudiitu parasti dara shaadi:

    1) error_reporting(E_ALL); koda saakumaa

    2) liekam echo uz visiem vaicaajumiem un mainiigajiem, lai redzam, ka tiem ir taadas veertiibas, kaadas sagaidam;

    3) paskatamies vai datu baazee ir tas, ko mees gribam tur atrast (lauki, tabulas etc.)

     

    kas kriit aciis ir:

    $_POST['rinda'] tiek pieshkjirta veertiiba - to labaak veidot izmantojot $mainiigais (es pat nez vai taa var pieshkjrt, mosh var, bet nelietoju un nesuudzos :) )

    visdriizaak probleemas ar vaicaajumu...

    taapat nav zinaams, kas tev ir tajaa mysql.php failaa...

     

    taa kaa roc vien pac...

  7. nu tad meklee arii peec pirmaa lielaa burta

    $pirmais_b=$substr($test,0,1);

    $pirmais_b=strtoupper($pirmais_b);

    $paareejais=$substr($test,1,strlen($test)-1);

    $test=$pirmais_b.$paareejais;

    kaut vai taa... droshi vien ka ir arii racionaalaaki varianti kaa to izdariit, bet tos domaa pac...

×
×
  • Create New...