Jump to content
php.lv forumi

Uldis

Reģistrētie lietotāji
  • Posts

    122
  • Joined

  • Last visited

Everything posted by Uldis

  1. Google atraudu attalumu mērītāju, kas var noderēt visādām vajadzībām - piem., kurjerdienestam vai pastam. Papildus savam vajadzibam pieliku klat google map grafisko daļu - tagad ievadot sakuma un gala merķi dabūsiet gan ciparu "km", gan arī vizuāli redzēsiet maršrutu. Varbūt kādam noderēs :) P.S. nomainiet tikai Google map API. Kartei gan tas nav vajadzīgs, bet teksta daļu nemācēju apiet bez API. Skriptu var iegūt (ņēmu vērā bubu ieteikumu) - http://paste.php.lv/37f92ef0a94708b398a3ba4dd493c205
  2. ņjā, dizains no Ls 100.
  3. drīzāk izskatās pēd DEAD Demo - man lapa neielādējas.
  4. Varbūt kādam noderēs - skripts pārbauda vai epasta forma ir korekta un vai norādītais hosts ir īsts, piem., [email protected] atgriezīs false vērtību. <?php function check_email($mail_address) { $pattern = "/^[\w-]+(\.[\w-]+)*@"; $pattern .= "([0-9a-z][0-9a-z-]*[0-9a-z]\.)+([a-z]{2,4})$/i"; if (preg_match($pattern, $mail_address)) { $parts = explode("@", $mail_address); if (checkdnsrr($parts[1], "MX")){ echo "The e-mail address is valid."; // return true; } else { echo "The e-mail host is not valid."; // return false; } } else { echo "The e-mail address contains invalid charcters."; // return false; } } check_email("[email protected]"); ?>
  5. Viennozīmīgi par pamatu ņemt WP nav sliktākais variants. Ja ir nepieciešams uzcept kādu ideju, tad vienkāršāk ir uzrakstīt 2m skripta, nevis rakstīt visu funkcionalitāti, admina paneli utt.. Vai tiešām būtu vērts katrā projektā visu no jauna rakstīt? Patlaban pats taisu augšā vienu projektu un pamatā izmantoju modificētu WP (izmainītu db struktūru un pašrakstītiem pluginiem).
  6. piekrītu codez. Latvijā visi visu grib praktiski par velti. Tāpat SEO optimizācija sastāv arī no 2 daļām - lapas un mārketinga. Lai tiktu google pie labiem atslēgas vārdiem TOP 1-3 iztērēju 6 mēnešus, lai dabūtu 300 K bakclinkus (unikālie baklinki ap 120). PS tāpat zeltarokām nepārspļaut lietos darba sludinājuma portālus, jo tiem būs arī augstāks google PR, kam tomēr kāda nozīmē arī ir.
  7. Es jau to palagu nerakstīju. Izmantoju gatavu skriptu, pielāgoju tik savām vajadzībām
  8. Problēma nav tikai, ja pa tiešo atlasu datus. Ja vēlos, lai dati parādās drop down listē(un izmantoju js), tad ķeburi tāpat rādās.
  9. Vai nepareizajam kodējumam par pamatu nevar būt js, kurš izsauc augstāk minēto php failu.. ?? var ajaxBox_offsetX = 0; var ajaxBox_offsetY = 0; var ajax_list_externalFile = 'http://www.planotajs.laulibas.lv/pilsetas.php'; // Path to external file var minimumLettersBeforeLookup = 2; // Number of letters entered before a lookup is performed. var ajax_list_objects = new Array(); var ajax_list_cachedLists = new Array(); var ajax_list_activeInput = false; var ajax_list_activeItem; var ajax_list_optionDivFirstItem = false; var ajax_list_currentLetters = new Array(); var ajax_optionDiv = false; var ajax_optionDiv_iframe = false; var ajax_list_MSIE = false; if(navigator.userAgent.indexOf('MSIE')>=0 && navigator.userAgent.indexOf('Opera')<0)ajax_list_MSIE=true; var currentListIndex = 0; function ajax_getTopPos(inputObj) { var returnValue = inputObj.offsetTop; while((inputObj = inputObj.offsetParent) != null){ returnValue += inputObj.offsetTop; } return returnValue; } function ajax_list_cancelEvent() { return false; } function ajax_getLeftPos(inputObj) { var returnValue = inputObj.offsetLeft; while((inputObj = inputObj.offsetParent) != null)returnValue += inputObj.offsetLeft; return returnValue; } function ajax_option_setValue(e,inputObj) { if(!inputObj)inputObj=this; var tmpValue = inputObj.innerHTML; if(ajax_list_MSIE)tmpValue = inputObj.innerText;else tmpValue = inputObj.textContent; if(!tmpValue)tmpValue = inputObj.innerHTML; ajax_list_activeInput.value = tmpValue; if(document.getElementById(ajax_list_activeInput.name + '_hidden'))document.getElementById(ajax_list_activeInput.name + '_hidden').value = inputObj.id; //var f1=setTimeout('ajax_list_activeInput.focus()',1); //var f2=setTimeout('ajax_list_activeInput.value = ajax_list_activeInput.value',1); ajax_options_hide(); } function ajax_options_hide() { if(ajax_optionDiv)ajax_optionDiv.style.display='none'; if(ajax_optionDiv_iframe)ajax_optionDiv_iframe.style.display='none'; } function ajax_options_rollOverActiveItem(item,fromKeyBoard) { if(ajax_list_activeItem)ajax_list_activeItem.className='optionDiv'; item.className='optionDivSelected'; ajax_list_activeItem = item; if(fromKeyBoard){ if(ajax_list_activeItem.offsetTop>ajax_optionDiv.offsetHeight){ ajax_optionDiv.scrollTop = ajax_list_activeItem.offsetTop - ajax_optionDiv.offsetHeight + ajax_list_activeItem.offsetHeight + 2 ; } if(ajax_list_activeItem.offsetTop<ajax_optionDiv.scrollTop) { ajax_optionDiv.scrollTop = 0; } } } function ajax_option_list_buildList(letters,paramToExternalFile) { ajax_optionDiv.innerHTML = ''; ajax_list_activeItem = false; if(ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()].length<=1){ ajax_options_hide(); return; } ajax_list_optionDivFirstItem = false; var optionsAdded = false; for(var no=0;no<ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()].length;no++){ if(ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()][no].length==0)continue; optionsAdded = true; var div = document.createElement('DIV'); var items = ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()][no].split(/###/gi); if(ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()].length==1 && ajax_list_activeInput.value == items[0]){ ajax_options_hide(); return; } div.innerHTML = items[items.length-1]; div.id = items[0]; div.className='optionDiv'; div.onmouseover = function(){ ajax_options_rollOverActiveItem(this,false) } div.onclick = ajax_option_setValue; if(!ajax_list_optionDivFirstItem)ajax_list_optionDivFirstItem = div; ajax_optionDiv.appendChild(div); } if(optionsAdded){ ajax_optionDiv.style.display='block'; if(ajax_optionDiv_iframe)ajax_optionDiv_iframe.style.display=''; ajax_options_rollOverActiveItem(ajax_list_optionDivFirstItem,true); } } function ajax_option_list_showContent(ajaxIndex,inputObj,paramToExternalFile,whichIndex) { if(whichIndex!=currentListIndex)return; var letters = inputObj.value; var content = ajax_list_objects[ajaxIndex].response; var elements = content.split('|'); ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()] = elements; ajax_option_list_buildList(letters,paramToExternalFile); } function ajax_option_resize(inputObj) { ajax_optionDiv.style.top = (ajax_getTopPos(inputObj) + inputObj.offsetHeight + ajaxBox_offsetY) + 'px'; ajax_optionDiv.style.left = (ajax_getLeftPos(inputObj) + ajaxBox_offsetX) + 'px'; if(ajax_optionDiv_iframe){ ajax_optionDiv_iframe.style.left = ajax_optionDiv.style.left; ajax_optionDiv_iframe.style.top = ajax_optionDiv.style.top; } } function ajax_showOptions(inputObj,paramToExternalFile,e) { if(e.keyCode==13 || e.keyCode==9)return; if(ajax_list_currentLetters[inputObj.name]==inputObj.value)return; if(!ajax_list_cachedLists[paramToExternalFile])ajax_list_cachedLists[paramToExternalFile] = new Array(); ajax_list_currentLetters[inputObj.name] = inputObj.value; if(!ajax_optionDiv){ ajax_optionDiv = document.createElement('DIV'); ajax_optionDiv.id = 'ajax_listOfOptions'; document.body.appendChild(ajax_optionDiv); if(ajax_list_MSIE){ ajax_optionDiv_iframe = document.createElement('IFRAME'); ajax_optionDiv_iframe.border='0'; ajax_optionDiv_iframe.style.width = ajax_optionDiv.clientWidth + 'px'; ajax_optionDiv_iframe.style.height = ajax_optionDiv.clientHeight + 'px'; ajax_optionDiv_iframe.id = 'ajax_listOfOptions_iframe'; document.body.appendChild(ajax_optionDiv_iframe); } var allInputs = document.getElementsByTagName('INPUT'); for(var no=0;no<allInputs.length;no++){ if(!allInputs[no].onkeyup)allInputs[no].onfocus = ajax_options_hide; } var allSelects = document.getElementsByTagName('SELECT'); for(var no=0;no<allSelects.length;no++){ allSelects[no].onfocus = ajax_options_hide; } var oldonkeydown=document.body.onkeydown; if(typeof oldonkeydown!='function'){ document.body.onkeydown=ajax_option_keyNavigation; }else{ document.body.onkeydown=function(){ oldonkeydown(); ajax_option_keyNavigation() ;} } var oldonresize=document.body.onresize; if(typeof oldonresize!='function'){ document.body.onresize=function() {ajax_option_resize(inputObj); }; }else{ document.body.onresize=function(){oldonresize(); ajax_option_resize(inputObj) ;} } } if(inputObj.value.length<minimumLettersBeforeLookup){ ajax_options_hide(); return; } ajax_optionDiv.style.top = (ajax_getTopPos(inputObj) + inputObj.offsetHeight + ajaxBox_offsetY) + 'px'; ajax_optionDiv.style.left = (ajax_getLeftPos(inputObj) + ajaxBox_offsetX) + 'px'; if(ajax_optionDiv_iframe){ ajax_optionDiv_iframe.style.left = ajax_optionDiv.style.left; ajax_optionDiv_iframe.style.top = ajax_optionDiv.style.top; } ajax_list_activeInput = inputObj; ajax_optionDiv.onselectstart = ajax_list_cancelEvent; currentListIndex++; if(ajax_list_cachedLists[paramToExternalFile][inputObj.value.toLowerCase()]){ ajax_option_list_buildList(inputObj.value,paramToExternalFile,currentListIndex); }else{ var tmpIndex=currentListIndex/1; ajax_optionDiv.innerHTML = ''; var ajaxIndex = ajax_list_objects.length; ajax_list_objects[ajaxIndex] = new sack(); var url = ajax_list_externalFile + '?' + paramToExternalFile + '=1&letters=' + inputObj.value.replace(" ","+"); ajax_list_objects[ajaxIndex].requestFile = url; // Specifying which file to get ajax_list_objects[ajaxIndex].onCompletion = function(){ ajax_option_list_showContent(ajaxIndex,inputObj,paramToExternalFile,tmpIndex); }; // Specify function that will be executed after file has been found ajax_list_objects[ajaxIndex].runAJAX(); // Execute AJAX function } } function ajax_option_keyNavigation(e) { if(document.all)e = event; if(!ajax_optionDiv)return; if(ajax_optionDiv.style.display=='none')return; if(e.keyCode==38){ // Up arrow if(!ajax_list_activeItem)return; if(ajax_list_activeItem && !ajax_list_activeItem.previousSibling)return; ajax_options_rollOverActiveItem(ajax_list_activeItem.previousSibling,true); } if(e.keyCode==40){ // Down arrow if(!ajax_list_activeItem){ ajax_options_rollOverActiveItem(ajax_list_optionDivFirstItem,true); }else{ if(!ajax_list_activeItem.nextSibling)return; ajax_options_rollOverActiveItem(ajax_list_activeItem.nextSibling,true); } } if(e.keyCode==13 || e.keyCode==9){ // Enter key or tab key if(ajax_list_activeItem && ajax_list_activeItem.className=='optionDivSelected')ajax_option_setValue(false,ajax_list_activeItem); if(e.keyCode==13)return false; else return true; } if(e.keyCode==27){ // Escape key ajax_options_hide(); } } document.documentElement.onclick = autoHideList; function autoHideList(e) { if(document.all)e = event; if (e.target) source = e.target; else if (e.srcElement) source = e.srcElement; if (source.nodeType == 3) // defeat Safari bug source = source.parentNode; if(source.tagName.toLowerCase()!='input' && source.tagName.toLowerCase()!='textarea')ajax_options_hide(); }
  10. Ok, pēdējā skriptā ieliekot mysql_query("set names utf8"); simboli nāk arā korekti. Nesaprotu kāpēc tad pirmajā gadījumā "set names" nepalīdz
  11. Mazliet vienkāršoju skriptu, bet tāpat iegūstu "Ventspils Varak??ni Vangaži Valmiera Valka Valdem?rpils Tukums" -" ž " laikam ir vienīgais simbols, kas normāli izvadās. DB visas pilsētas izskatās normāli, bet vai tas varētu būt saistīs ar CSV importu ? Nekur taču papildus nav kodējumi, kuri norāda kādos dati tabulā tiek glabāti? <? $conn = mysql_connect("mysql","user","pass"); mysql_select_db("forest",$conn); $res = mysql_query("select ID,pilseta from pilsetas ") or die(mysql_error()); while($inf = mysql_fetch_array($res)){ echo $inf["pilseta"]; } ?>
  12. IT kā visi bija caur Notepad++ uzlikti kā UTF-8, mēģināju caur ISP Manager uzlikt atkārtoti UTF-8 servera pusē, tā kā 100% jābūt visiem failiem.
  13. Uldis

    AJAX

    Tā kā tā lapa mazliet bremzējas, tad iekopēju skriptu, lai nav jāgaida 2 min :) Ceru, ka tas ir tas, ko meklēji INDEX.HTML <html> <head> <title>AJAX Tutorial</title><script language="JavaScript" src="ajax.js"></script> <script language="JavaScript"> function doSomethingWithData(str) { document.getElementById('MyID').innerHTML = str; } </script> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css"> <!-- body,td,th { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; color: #666666; } --> </style></head> <body> <b>AJAX Tutorial: Example 1</b><br /> This example shows how to dynamically retrieve data from a JavaScript file.<br /><br /> <a href="#" onClick="loadScript('Data1.js')">Data File 1</a><br /> <a href="#" onClick="loadScript('Data2.js')">Data File 2</a><br /> <a href="#" onClick="loadScript('Data3.js')">Data File 3</a><br /> <br /> <div id="MyID"> </div> </body> </html> AJAX.JS function loadScript(scriptURL) { var newScript = document.createElement("script"); newScript.src = scriptURL; document.body.appendChild(newScript); } function loadData(URL) { // Create the XML request xmlReq = null; if(window.XMLHttpRequest) xmlReq = new XMLHttpRequest(); else if(window.ActiveXObject) xmlReq = new ActiveXObject("Microsoft.XMLHTTP"); if(xmlReq==null) return; // Failed to create the request // Anonymous function to handle changed request states xmlReq.onreadystatechange = function() { switch(xmlReq.readyState) { case 0: // Uninitialized break; case 1: // Loading break; case 2: // Loaded break; case 3: // Interactive break; case 4: // Done! // Retrieve the data between the <quote> tags doSomethingWithData(xmlReq.responseXML.getElementsByTagName('quote')[0].firstChild.data); break; default: break; } } // Make the request xmlReq.open ('GET', URL, true); xmlReq.send (null); } Data1.JS doSomethingWithData("Text Data 1 - Hello World"); Data2.JS doSomethingWithData("Text Data 2- Happy Ajaxing"); Data3.JS doSomethingWithData("Data 3 - Example");
  14. Uldis

    AJAX

    Lai nav jāpārkopē teksti - http://www.techmynd.com/load-external-file-data-with-ajax/
  15. Ok, atšķirību zinu starp JAVA un JS, parasti abas gan saucu par javām, turpmāk centīšos laboties, lai nejauktu visiem galvu :)
  16. Izmantoju ajax dinamisko drop down listi, bet atkal esmu strupceļā, jo no datubāzes neielasa LV simbolus. DB tabula ir UTF8, php fails, kura skripts zemāk redzams, arī ir UTF8. Vai man pirms echo $inf["ID"]."###".$inf["countryName"]."|"; nepieciešama vēl kāda konvertācija? Pieļauju, ka vaina ir tieši šajā skripta daļā, jo JS failos nekur dati netiek ielasīti. <? $conn = mysql_connect("host","username","password"); mysql_select_db("dbName",$conn); if(isset($_GET['getCountriesByLetters']) && isset($_GET['letters'])){ $letters = $_GET['letters']; $letters = preg_replace("/[^a-z0-9 ]/si","",$letters); $res = mysql_query("select ID,countryName from ajax_countries where countryName like '".$letters."%'") or die(mysql_error()); #echo "1###select ID,countryName from ajax_countries where countryName like '".$letters."%'|"; while($inf = mysql_fetch_array($res)){ echo $inf["ID"]."###".$inf["countryName"]."|"; } } ?> Izmantotais skripts - atrodas šeit - http://www.dhtmlgoodies.com/scripts/ajax-dynamic-list/ajax-dynamic-list.zip
  17. Paldies, abi padomi noderīgi. Es vairāk bāzējos tikai uz php un gribēju iztikt bez javas vai citām valodām, bet laikam jau tikai ar php nepietiks. Paldies!
  18. Sveiki, varbūt kādam azotē ir aizķēries kāds gatavs skripts. Tātat nepieciešama ir tāda lieta kā dinamiska liste, kas tiek izdota no DB - piem., www.kadastrs.lv meklējot īpašumu - varat ievadīt pilsētas pirmo burtu un dabūt sarakstu, kas sākas ar šo burtu. Tālāk vadot burtus liste sašaurinās.
  19. Tnx Swear par atsaucību. Gribēju jau pats rakstīt, ka esmu atrisinājis problēmu. Pastudēju mazliet citus piemērus un rezultātā dabūju šādu skriptu - <?php $page_contents = file_get_contents("http://www.planotajs.laulibas.lv/tests12.htm"); $matches = array(); preg_match('/<td class="value">([0-9,]+)/', $page_contents, $matches); echo $matches[0]; ?> Šķiet, ka tas vien ir tas pats, ko tu piedāvāji.
  20. Sveiki, zinu, ka daudziem tāpat nav laika un iespējams neviens neizlīdzēs, bet tāpat gribēju lūgt zinošāku cilvēku atbalstu. Lieta tāda, ka nepieciešams skripts, kas atgrieztu no ārējās lapas vienu vienīgu vērtību. Kaut ko no php zinu un mācos, bet šo atrast nevaru. Piem.,gribu no lapas abcd.lv atrodošās tabulas dabūt ārā vērtību. <table class="data-table"> <tr> <td class="cv_v">1001</td></tr></table>
×
×
  • Create New...