Jump to content
php.lv forumi

Alnis

Reģistrētie lietotāji
  • Posts

    113
  • Joined

  • Last visited

Posts posted by Alnis

  1. Sakiet, kādā veidā ar javascriptu var padot mainigā vērtību ar indexu:

     

    form.document.getElementById("input_lauka_id_nosaukums[i]").value = input_lauka_id_nosaukums.toFixed(2);

     

    Tur kaut kads knifs ar sintaksi laikam ir, kuru es nepārzinu js :(

    Piemrēram viena bridi nodot input_lauka_id_nosaukums[0], citā input_lauka_id_nosaukums[2]. Tatad gribu, lai input lauks sanemtu no funkcijas vērtību, piemēram pirmajā gadījumā vertību sanemtu tas input lauks, kuram id=input_lauka_id_nosaukums[0], bet pēc tam input_lauka_id_nosaukums[2].

     

    to i vērtību es padošu izsaucot funkciju!

     

    kā to var izdarīt?

     

    paldes

  2. nu tas ir , kas ir mysql_fetch_array , piem mainigais[0] - pirma rindiņa ; mainigais[1] - otra rindina ... untt!

     

    da nē, man vajadzīgs indexa numurs masīvam!, nē nu protams ir variants ciklā ielikt ++$i; un tā pēc kārtas šķetināt indexa numuru! man nevajag mainīgā vērtībās, bet indexa numurs

  3. bet līdz nobela prēmijai man vēl atlicis atrisināt vēl vienu probzu :D

     

    tātad, esmu ielicis divus input laukus, kuros ierakstītot vērtības parādās reizinājums trešajā input laukā. Pirmā rinda smuki reizinās, bet klonētājās rindās nekas nereizinās :( Viss penteris izskatās šādi (cerams neatraušos pa pa knābi šeit izliekot visu kodu):

     

    <script language="JavaScript" type="text/javascript">
    function reizinajums(formz)
    {
    sum_result = (form.sum_result.value);
    vienscipars = document.getElementById("nododamais_txt1[]").value;
    otrscipars = document.getElementById("nododamais_txt2[]").value;	
    //sum_result= (viens * divi);
    sum_result= (vienscipars * otrscipars);
    //document.write("sum_result")
    // ar so nododam formai, kurai jaaparada aprekinata vertiba
    form.document.getElementById("sum_result").value = sum_result.toFixed(2);
    }
    </script>
    
    <form id="form" name="form" method="get">
    <span id="sample">
    <? 
    tfunkc();
    function tfunkc(){
    ?>
    Text1:<input  id="nododamais_txt1[]" name="nododamais_txt1[]" onkeyup="reizinajums(this.formz)"  />
    Text2:<input  id="nododamais_txt2[]" name="nododamais_txt2[]" onkeyup="reizinajums(this.formz)"  />
    Text3:<input  id="sum_result[]" name="sum_result[]" READONLY />
    <?
    }
    ?>
    
    <script>reizinajums(this.form, '1', '1');</script>
    
    </span>
    <input id="plus" style="display:none" type="button" value="+" onclick="plusone()">
    <div id="added"></div>
    
    <input type="submit" value="iesniegt"></input>
    </form>
    
    <script type="text/javascript">
    function byid(id)//atgriež objektu pēc tā id
    {
    if (document.getElementById)
    return (document.getElementById(id));
    if (document.all)
     return document.all[id];
    if (document.layers)
     return document.layers[id];
    return false;
    }
    function remove(elt)
    {
    /* pēc elementu pievienoſanas mums sanāk
    <div id="added">
     <div>
      <input faila pievienoſanai>
      <input mīnuss>
     </div>
    </div>
    funkcija "iziet augſā" ->
    no input mīnuss uz aptveroſo divu > div.added, un izdzēſ aptveroſo divu
    ar tā input apakſelementiem*/
    elt.parentNode.parentNode.removeChild(elt.parentNode);
    }
    function plusone()
    {
    //izveidojam jaunu <div> elementu, pagaidām tikai atmiņā
    div=document.createElement('div');
    var template = byid('sample').cloneNode(true);
    template.getElementsByTagName('input')[0].value = '';
    template.getElementsByTagName('input')[1].value = '';
    template.getElementsByTagName('input')[2].value = '';
    innerHTML=template.innerHTML;
    div.innerHTML='<div>'+template.innerHTML+'<input type="button" onclick="remove(this)" value="-" /></div>';
    
    //pievienojam diva ar id="added" beigās izveidoto divu, htmlā
    byid('added').appendChild(div);
    }
    if (document.body.innerHTML)
    byid('plus').style['display']='inline';
    </script>
    </body>
    </html>

     

    template.getElementsByTagName('input')[2].value = ''; šito pieliku, lai reizinājuma inout laukā nerādītos pirmo lauku reizinājuma klons. Ja pareizi saprotu, tad klonētajiem DIViem netiek izsaukta funkcija tfunkc(). Ja mēs paskatamies tālāk, tad man to reizinājumu lauki beigās būs jāsaskaita, moš šis risinājums nav tas labākais un kaukā savādāk jābetonē? Paldies par helpu :)

     

    Vai tik probza nav tajā, ka izaucot funkciju reizinajums() netiek padota vērtība sum_result[]??? nu tobiš ar konkrēto indexu?

  4. Tas byid() tev atgriež elementu pēc ID. Un tā kā tu viņu kopē, tad visi atribūti arī tiek nokopēti. Arī value.

     

    OK, tatad atgriež visu elementu tāds kāds ir, bet es nesaprotu:

    1. kāpēc viņš neatgriež input=file vērtību?

    2. kā es varētu unsetot atgrieztā elementa vērtību:

    2.1. ok, sākumā, es viņu nokopēju;

    2.2. talāk, pirms izvades vajadzētu vērtību nodzēst, kā tas darāms?

     

    ja es lietas sarežģīju, tad nevajag iespring, jo vajadzīgais rezultāts it kā tika rasts, vienīgi radās spotiska interese par to unestošanu nokopētajam elementam!

  5. nekas nav mainījies, viss ir kā http://paste.php.lv/1880, tikai iekš <span> ieliku vēl vienu Text input fieldu:

     

    <span id="sample">
    Text:<input type="text" name="nododamais_txt[]" />
    File:<input type="file" name="img[]" /></span>
    </span>

     

    ja pareizi saprotu, tad šī rinda:

    div.innerHTML='<div>'+byid('sample').innerHTML+'</div>'

    nokopē esošos formas elementus, kas ir iekš tagiem <span id="sample">! Bet kādā veidā text input fieldam unsetot vērtību, nemāku :(

     

    EDIT:

    neesmu pārliecināts vai viss strādā, bet atrisināju šitā: rindu

    div.innerHTML='<div>'+byid('sample').innerHTML+'<input type="button" onclick="remove(this)" value="-" /></div>';

    nomainīju uz:

    div.innerHTML='<div>Text:<input type="text" name="nododamais_txt[]" />File:<input type="file" name="img[]" /><input type="button" onclick="remove(this)" value="-" /></div>';

    mīnus protams ir tāds, ka, ja es iekš <span> gribēšu ielikt vēl kādu elementu, man tas būs jāiebaksta arī jaunradītajā rindā! Visādi citādi izskatās, ka vērtības tiek nodotas un ar $_REQUEST smuki arī nolasās! no ķēdes tika izslēgta function byid(id), man tā arī neizdevās saprast, ko viņa īsti dara :D

  6. ok, paldies.

     

    Radās vēl viena jautājums, es pievienoju klāt vienu text unput lauku (kopā man tagad 2, faila un txt). Problēma tajā, ja es aizpildu pirmo input text lauku un spiezu plusinu, man pievienojas jauns input lauks, bet ar to pasu saturu neviss tukss, ar Faila cela input lauku viss kārtībā, tas pieviebojās klāt tukš. Kurā vietā jaunais input lauks tiek attīrīts no esošā satura?

  7. http://paste.php.lv/1880

    vienkārši pieliek jaunu elementu ar name img[], lai pie submittošanas tiktu izveidots augšlādēto failu masīvs

     

     

    es pieliku klāt submit pogu un submitēju un skatos linku:

     

    http://localhost/web/invoice2/Proba1.html?
    &img%5B%5D=Masha
    &img%5B%5D=Pasha
    &img%5B%5D=kasha
    &img%5B%5D=Dasha

     

    va tas nozīmē to pašu kā šis:

    http://localhost/web/invoice2/Proba1.html?
    &img[0]=Masha
    &img[1]=Pasha
    &img[2]=kasha
    &img[3]=Dasha

     

    nu tipa masīvs?

  8. paturpināšu problēmu. Ar IE viss strādā labi, bet ar OPERU un kaut kādu LINUX standarta browseri netieku pāri šadam kodam

     

    if(!($_FILES['userfile']['type']=="image/pjpeg")) {
    echo "nav JPG bilde<br>";
    
    echo var_dump($_FILES['userfile']['error']);
    exit;
    }

     

    man izvada:

     

    nav JPG bilde
    int(0)

     

     

    vai tas nozīmē, ka priekš dažādiem browseriem man jāveic savādāka faila tipa pārbaude???

  9. Nu jā, bet kā lai es nodefinēju to 4mainigo? jo viņš var būt jebkāds, varbūt iekš php ir kāda funkcija, kas var sadalīt šo url pa daļām, teiksim pie katras / rodas jauna daļa, ko savukārt jau varētu nodefinēt.. :/ Ar php ilgi nedarbojos, tāpēc nezinu vai ir tāda iespēja..

     

    explode() skatījies? ar to var sadalīt stringu pa daļām!

  10. Tu pēc tam saglabā kā jpg ? Cik lielu kvalitāti norādi ?

     

    Par tiem izmēriem - pārbaudi arī post_max_size.

     

    post_max_size 8M

    uplodoju jpg un saglabaju jpg

     

    bildes kvalitāti nenoradīju- defaultais laikam ir 75 intervāla no 0-100. Tikko uzliku kvaliatti simts un bilde tiek saglabata ar izmeru jau 230 kb- laikam te bus taa shtele :)

     

    Par tiem izmēriem - pārbaudi arī post_max_size. Kā arī pārbaudi kāda kļūda notiek (var_dump($_FILES['fails']['error']) un http://lv2.php.net/manual/en/features.file...oad.errors.php), kad uploadē.

     

    izmeta int(2) , kas nozīmē Value: 2; The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form. un protams, tur es esmu ielipinājis 2 Mb limitu, vot auns :D

  11. Tātad, es uplodoju bildes un samazinu tās ar imagecopyresampled()

     

    Samazināšanai izmantoju http://lv.php.net/manual/en/function.imagecopyresampled.php piemērā minēto skriptu. Samazinu tādā izmērā, kādā es pēc tam vēlos parādit, proti, kad izvadu, vairs augstumu un platumu nenorādu (lai ietaupās vieta uz diska un lai bildes būtu vieglākas ielādei). Uplodoju bildes kas iekļaujās rāmī 650*650 pixeļi. rezultātā bildes tiek samazinatas lidz 40-80 kb, viss butu labi, bet kvalitate manami pieklibo :(

     

    Vai ir kada atskiriba, ja izvadu lielu bildi caur img src noradot augstumu un platumu 650;650, proti, bilde tiek samazinata un ja izvadu bildi, kurai izmeri jau ir 650*650- bez samazināšanas?

     

    ja pareizi sapratu manuāli, tad sliktātu kvalitāti veido ši funkcija imagecopyresized()

     

     

    un vēl tāds jautājums, es skriptā neesmu uzlicis uplodējamā faila maksimumu, php.ini man stāv upload_max_filesize 15M, eny vej es nevaru uploadod bildes kas lielākas par 1.9 M. Kas tur par šteli, nav jāskatās vēl kāds uzstādījums php.ini, teiksim uploda laiks kaut kāds? jo kad lielāka bilde, ilgāk uplodojās.

  12. pamēģini šitā:

     

    if(!(mysql_query('UPDATE tabula SET vieta=0'))) die (mysql_error());
    for($x=1;$x<=4;$x++){
    	if(!(mysql_query(
    					"UPDATE tabula AS t1 SET 
    					vieta = $x 
    					WHERE t1.id IN (
    						   SELECT id FROM tabula AS t2
    						   WHERE t2.vieta = 0
    						   ORDER BY RAND() LIMIT 1)"
    	))) die (mysql_error());
    
    }

     

     

    Man jau škiet, ka tava tabula nesaucas `tabula`

×
×
  • Create New...