Jump to content
php.lv forumi

bubu

Administratori
  • Posts

    8,897
  • Joined

  • Last visited

Everything posted by bubu

  1. Ja pareizi sapratu, tad: SELECT ieraksti.title FROM ieraksti JOIN vert1 ON ieraksti.id = vert1.ier_id WHERE vert1.vert1_config_id IN (1,2,3,4,5,...) Tajās iekavās saliec tos vajadzīgos ID atdalītus ar komatiem. Ā nē laikam nepareizi sapratu, vajag no otrās tabulas izvēlēties tikai tos ierakstus, kuriem trešajā tabulā ir piesaistītie ID ir virskopa ieķeksētajiem čekbokšiem, ja?
  2. bubu

    splitoshana

    Nu ja nestrādā, tad jākustina smadzenes un jādomā jauns variants, nevis smagi jāpūš: preg_match_all('@"[^"]+"|\S+@', ... );
  3. Ja daudz JavaSkriptosi, tad skati te: http://www.mozilla.org/docs/dom/domref/dom_el_ref.html Tur labas lietas var atrast :)
  4. var tags=document.getElementById('phon_lett').getElementsByTagName('a'); if (window.addEventListener) { for (var i=tags.length-1; i>=0; --i) tags[i].addEventListener('mouseover', showTgLink, true); } else if (window.attachEvent){ for (var i=tags.length-1; i>=0; --i) tags[i].attachEvent('onmouseover', showTgLink); }
  5. Un tu vēl brīnies, ka kautkas nestrādā kā vajag.. Šādi izmantojot kodu, kad nesaproti kā tas darbojas, vai pat tikai to, ko tas dara, cits rezultāts nemaz nav gaidāms. gh :) Nox, un nevajag uzreiz uz PM pārvākties. Man tas skripts neko neizsaka. Tas ir tikai mazs gabaliņš no lielākas sistēmas (cutenews laikam saucās). Jālasa tā dokumentācija par pareizu šī skripta pielietošanu. Kautgan man jau nu personīgi liekās, ka vienkārši tā lapa, kurā includo šos skriptus ir nedaudz līka sanākusi.
  6. A kas ir šie? forum/lastforum.php cutenews/show_news.php Un tu vispār zini, ko tie php skripti dara? Vai vienkārši ar copy&paste tehniku nodarbojies?:)
  7. Tak ko man tas html kods dos. Sourci vajag!
  8. Visu var ja labi grib. To ko tu gribi panākt ļoti atkarīgs no taviem php skriptiem. Ja tie nav gari, iemet paste.php.lv (īpaši to daļu, kur tu saki, ka links nestrādā), paskatīsimies, kas pa vainu :)
  9. Var iztikt bez $incr: $m_arr[] = $f_name;
  10. Te tu mainīgajama $m_arr piešķir stringu $f_name, tātad tā tips būs string, nevis masīvs. Bet sort() funkcija sagaida parametrā masīvu, kas arī ir saprotams no kļūdas teksta "Wrong datatype..." (tas pats arī ar otro tavu kļūdu).
  11. Nu to tev pašam būtu vajadzējis izdomāt, paskatoties MySQL manuālī UPDATE sintaksi, ja jau ņemies ar šādām lietām: UPDATE tabula SET datefrom = DATE_FORMAT(STR_TO_DATE(datefrom,'%d/%m/%y'), '%Y-%m-%d') Pie tam, daudz labāk būtu, ja nomainītu kolonnas tipu uz datuma tipu, nevis varcharu atstātu.
  12. bubu

    CMS

    Tas jau nav CMS, ko tu gribi, bet gan WYSIWYG HTML online-editors. CMS ir satura vadības sistēma.
  13. SELECT DATE_FORMAT(STR_TO_DATE(datefrom,'%d/%m/%y'), '%Y-%m-%d') as datefrom FROM tabula (tas pats ar otro kolonnu) Diemžēl STR_TO_DATE() ir tikai sākot no MySQL 4.1.1. Ja kas, sliktākā gadījumā var jau php pusē apstrādāt to tekstu, ko dabū no DB.
  14. Ko nozīmē pārlabot masīvu?
  15. Advancēts veids - XSLT, vienkāršāks ar SimpleXML (ja ir php5), vai arī DOM/SAX parseriem (ja ir php4). Visas fjas darbībai ar xml var manuālī atrast.
  16. Es laikam nesaprotu ideju tai pārbīdei.. Cik biju no tava koda sapratis, tad augšējais elements tiek ielikts apakšējā elementa vietā, bet visi elementi, kas bija pa vidu, tie tiek pārbīdīti par vienu uz augšu. Vai kautkā citādi vajadzēja? Edited: pamēģini šādu ch_items() fju. Tā vajag? function ch_item(event) { var target = (event.currentTarget?event.currentTarget:event.srcElement); if (lastElem == '') { // pirmā reize lastElem = target.id; target.style.backgroundColor = '#CCC'; } else if (lastElem == target.id) { // otrā reize uz tā paša elementa lastElem = ''; target.style.backgroundColor = '#FFF'; } else { // otrā reize uz cita elementa document.getElementById(lastElem).style.backgroundColor = '#FFF'; // atrod elementu indeksus var idx1 = selected.indexOf(lastElem); var idx2 = selected.indexOf(target.id); var selectedDIV = document.getElementById('selectedDIV'); var child1 = document.getElementById(lastElem); // ņems ārā var child2 = document.getElementById(target.id); // liks pirms šī elementa var tmp = null; // aiz kā ielikt izņemto elementu var first = selected[idx1]; // pārbīdīšanā pārrakstīsies pirmais elements if (idx1<idx2) { tmp = child2.nextSibling; for (var i=idx1; i<idx2; i++) // pārbīda masīvā selected[i] = selected[i+1]; } else { tmp = child2; for (var i=idx1; i>idx2; i--) // pārbīda masīvā selected[i] = selected[i-1]; } selected[idx2] = first; // atjauno pirmo elementu // pārbīda uz ekrāna child1 = selectedDIV.removeChild(child1); if (tmp) selectedDIV.insertBefore(child1, tmp); else selectedDIV.appendChild(child1); // sāk flešošanu lastElem = ''; flash(0, selected[idx1], selected[idx2]); } }
  17. Ja nu tā fīča vajadzīga manā kodā, tad jāpamaina add_item() funkcija: function add_item(event) { var itemsDIV = document.getElementById('itemsDIV'); var selectedDIV = document.getElementById('selectedDIV'); if (lastElem=="") { // jāpārnes uz kreiso pusi var target = (event.currentTarget?event.currentTarget:event.srcElement); // pārvieto masīvos var obj = getItem(target.id); selected.unshift(obj[0]); // pārvieto uz ekrāna target = itemsDIV.removeChild(target); target = selectedDIV.insertBefore(target, document.getElementById(selected[1])); removeEvent(target, 'mousedown', add_item); addEvent(target, 'mousedown', ch_item); } else { // jāpārnes uz labo pusi var target = document.getElementById(lastElem); target.style.backgroundColor = '#FFF'; // pārvieto masīvos var idx = selected.indexOf(target.id); items.unshift([selected[idx]]); for (var i=idx; i<selected.length-1; i++) selected[i] = selected[i+1]; // pārvieto uz ekrāna target = selectedDIV.removeChild(target); target = itemsDIV.insertBefore(target, document.getElementById(items[1][0])); removeEvent(target, 'mousedown', ch_item); addEvent(target, 'mousedown', add_item); lastElem = "" } } Un kas domāts ar to kārtošanu no augšas uz apakšu? Tipa, pie pievienošanas no labās puses elementiem tos liek nevis kreisajā pusē augšā, bet apakšā? tad add_items() fjā šīs divas rindiņas: selected.unshift(obj[0]); target = selectedDIV.insertBefore(target, document.getElementById(selected[1])); aizstāj ar: selected.unpop(obj[0]); target = selectedDIV.appendChild(target);
  18. Ja rindām ir patvaļīgs garums, tad nav tik vienkārši - jālasa viss fails pēc kārtas, uzskaitot rindas (\n simbolus), līdz ko tiek atrasts trešais, tad var rakstīt, pirms tam pārliecinoties, ka garums ir mazāks vai vienāds, kā pašlaik esošās rindas garums, citādi tiks pārrakstīta vēl 4.rinda. Īsāk sakot - liels čakars. Vai nu ņem to file() veidu, vai arī fiksēta garuma rindas (tādā gadījumā - fseek($f, $rindas_garums_simbolos*3); fwrite($f, $rinda); )
  19. Visvienkāršāk - nolasi visu failu atmiņā(masīvā ar file() fju), aizvieto vajadzīgo elementu, un ieraksti atpakaļ. Sarežģītāk - lieto fiksēta garuma rindas, tādējādi varēsi aizseekot (fseek) uz vajadzīgo rindu, kad vajadzēs tai rakstīt pa virsu. (atverot failu r+ režīmā).
  20. Piebilde - nelabs kods izmantojot globālus mainīgos, pamēģini paklikšķināt tajā kreisajā pusē, kamēr notiek tā flašošana (tb mirkšķināšanās). Kods kautkā liekās lieki sarežģīts. Kautkā slinkums mēģināt iebraukt tajā :) Neņem ļaunā, bet es būtu darījis apmēram šādi (skat beigās linku), ja saprotu tavu domu. Tb tev iekš DB ir kautkādas konstantes, tie elementi, un ir kautkādi izvēlētie elementi, kurus tad jūzeris var pamainīt. Nu tad man tie izvēlētie elementi glabājas selected[] masīvā, bet visi pārējie iekš items[] (kurš sākumā ir aizpildīts pilnībā) skat kodu: http://paste.php.lv/1984
  21. bubu

    splitoshana

    laikam šādi: preg_match_all('@\S+|"[^\s"]+"@', ...
  22. Skaitu māki dabūt? gan jau ka māki. nu un padomā, ja tev ir 0,1,2,...,$count-2,$count-1 ieraksti, tad kā dabūt pēdējos izmantojot vienkāršu matemātisku operāciju (-)
  23. Nesapratu? Tu gribi atsevišķi atdalīt to ielasi no izvada? t.b šādi: <?php ... // ielasam datus ?> <html><body>.... <-- html kods kautkāds <?php echo $arr[1]... // izvada kautko kas sākumā ielasīts ?> Tā taču protams, ka var darīt. Tā tak ir viena no php iespējām atdalīt html kodu no php koda.
  24. echo "Otrais lielums bija".$arr[4][3]; vai echo "Otrais lielums bija {$arr[4][3]}"; Kautgan man personīgi otrais variants nepatīk.
  25. bubu

    splitoshana

    hmm, man nezkāpēc mans piemērs strādā... Īsti nesapratu, tev vajag visus enterus, kuri atkārtojās aizstāt ar vienu (kam arī rakstīju to regexpu)? Vai ja ir 3 vai vairāk enter, tad aizstāt tos ar diviem? Ja pēdējais variants, tad takš loģiski drusku pamaini izteiksmi: preg_replace("@[\r\n]{3,}@m", "\r\n\r\n", $text);
×
×
  • Create New...