В примере 3 первых элемента.
$arr=array_slice($arr,0,2);
В примере 3 первых элемента.
$arr=array_slice($arr,0,2);
$arr=array_unique($arr);
Формируется массив, каждый элемент которого отдельная строка.
$arr=preg_split("/[\n\r]+/s",$text);
Целое число дней между сегодняшней датой и любой другой:
floor((strtotime("now")-strtotime("2010-01-20"))/86400)
Вариант 1. Дату получаем на PHP:
Вариант 1.1.
$time=mktime(date('H'),date('i'),date('s'),date('m'),date('d')-1,date('Y')); $yd=date("Y-m-d",$time);
Вариант 1.2.
$yd=date("Y-m-d",time()-3600*24);
Вариант 1.3.
$yd=date('Y-m-d',strtotime('yesterday'));
Вариант 1.4.
$yd=date('Y-m-d',strtotime('-1 day'));
из всех этих вариантов последний наверное самый нормальный.
Ну и сама выборка
$query=mysql_query("SELECT fieldname FROM tablename WHERE datefield='".$yd."'");
И вариант 2. где только sql-запрос. Самый правильный в данном случае.
$query=mysql_query("SELECT fieldname FROM tablename WHERE datefield = DATE_SUB(CURDATE(), INTERVAL 1 DAY)");
Вот нужно например из файла http://static.wipmania.com/static/countries.txt получить 2 массива: массив кодов стран и масиив кодов стран с названиями. Как сделать быстро:
Итак файл в формате:
AC Ascension Island AD Andorra AE United Arab Emirates AF Afghanistan ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ZA South Africa ZM Zambia ZW Zimbabwe
а нужно:
$arr1=array('AC','AD','AE','AF','AG','AI','AL','AM','AN','AO','AQ','AR','AS','AT','AU','AW','AX','AZ','BA','BB','BD','BE','BF','BG','BH','BI','BJ','BL','BM','BN','BO','BR','BS','BT','BV','BW','BY','BZ','CA','CC','CD','CF','CG','CH','CI','CK','CL','CM','CN','CO','CR','CU','CV','CX','CY','CZ','DE','DJ','DK','DM','DO','DZ','EC','EE','EG','EH','ER','ES','ET','FI','FJ','FK','FM','FO','FR','GA','GB','GD','GE','GF','GG','GH','GI','GL','GM','GN','GP','GQ','GR','GS','GT','GU','GW','GY','HK','HM','HN','HR','HT','HU','ID','IE','IL','IM','IN','IO','IQ','IR','IS','IT','JE','JM','JO','JP','KE','KG','KH','KI','KM','KN','KP','KR','KW','KY','KZ','LA','LB','LC','LI','LK','LR','LS','LT','LU','LV','LY','MA','MC','MD','ME','MF','MG','MH','MK','ML','MM','MN','MO','MP','MQ','MR','MS','MT','MU','MV','MW','MX','MY','MZ','NA','NC','NE','NF','NG','NI','NL','NO','NP','NR','NU','NZ','OM','PA','PE','PF','PG','PH','PK','PL','PM','PN','PR','PS','PT','PW','PY','QA','RE','RO','RS','RU','RW','SA','SB','SC','SD','SE','SG','SH','SI','SJ','SK','SL','SM','SN','SO','SR','ST','SV','SY','SZ','TC','TD','TF','TG','TH','TJ','TK','TL','TM','TN','TO','TR','TT','TV','TW','TZ','UA','UG','UM','US','UY','UZ','VA','VC','VE','VG','VI','VN','VU','WF','WS','YE','YT','ZA','ZM','ZW');
и
$arr2=array('AC'=>'Ascension Island', 'AD'=>'Andorra', 'AE'=>'United Arab Emirates', 'AF'=>'Afghanistan', ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 'ZA'=>'South Africa', 'ZM'=>'Zambia', 'ZW'=>'Zimbabwe');
И так решение:
<?php $ish = "AC Ascension Island AD Andorra AE United Arab Emirates AF Afghanistan ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ZA South Africa ZM Zambia ZW Zimbabwe "; $arr1=preg_replace("/\t.+\n/", "\n",$ish); $arr1=preg_replace("/\n/","','",$arr1); echo "<pre>"; echo '$arr1=array(\''; echo substr($arr1,0,-2); echo ');'; echo "</pre>"; echo "<br/><br/>"; $arr2=preg_replace("/\t/","'=>'",$ish); $arr2=preg_replace("/\n/","',\n\t'",$arr2); echo "<pre>"; echo '$arr2=array(\''; echo substr($arr2,0,-4); echo ');'; echo "</pre>"; ?>
ну а дальше копи-паст в исходник :)
Часть формы где у нас инпут для логина:
echo "<input type='text' id='login' name='login' onblur='checkName(this.value, \"\")'/>"; echo " — <label for='login'>LOGIN</label><br/>"; echo "<span class='hidden' id='nameCheckFailed'>NOT AVAILABLE</span>"; echo "<span class='hidden' id='nameCheckOK'>AVAILABLE</span><br/>";
Яваскрипт, подключенный например где-то в head:
function checkName(input,response) { if (response != '') { failtext=document.getElementById('nameCheckFailed'); oktext=document.getElementById('nameCheckOK'); if (response == '1') { failtext.className='failtext'; oktext.className='hidden'; } else { failtext.className='hidden'; oktext.className='oktext'; } } else { if (input != '') { url='http://hostname/xml/checkUserName.php?q='+input; loadXMLDoc(url); } else { failtext.className='hidden'; oktext.className='hidden'; } } } var req; function loadXMLDoc(url) { if (window.XMLHttpRequest) { req = new XMLHttpRequest(); req.onreadystatechange=processReqChange; req.open("GET",url,true); req.send(null); } else if (window.ActiveXObject) { req = new ActiveXObject("Micrisoft.XMLHTTP"); if (req) { req.onreadystatechange=processReqchange; req.open("GET",url,true); req.send(); } } } function processReqChange() { if (req.readyState == 4) { if (req.status == 200) { response=req.responseXML.documentElement; method=response.getElementsByTagName('method')[0].firstChild.data; result=response.getElementsByTagName('result')[0].firstChild.data; eval(method + '(\'\', result)'); } else { alert("There was a problem retrieving the XML data:\n"+req.statusText); } } }
Файл /xml/checkUserName.php (в первой строчке инклуд подключения к БД, если не знаем что там и как — гуглим, еще конечно должна существовать таблица users с полем username, в которое пишутся логины)
<?php include ($_SERVER['DOCUMENT_ROOT']."/include/dbconfig.php"); header('Content-Type: text/xml'); echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>'; function nameInUse($q) { $query=mysql_query("SELECT COUNT(*) FROM users WHERE username='".$q."'"); $result=mysql_fetch_array($query); switch($result[0]) { case '1' : return '1'; break; default: return '0'; } } echo '<response> <method>checkName</method> <result>'.nameInUse($_GET['q']).'</result> </response>'; ?>
И CSS:
span.hidden { display:none; } span.failtext { display: inline; background: #ffebea; } span.oktext { display: inline; background-color: #efffea;; }
На основе: http://wmdn.ru/javascript/example-of-check-login-using-ajax/
Вариант от WMDN: http://wmdn.ru/javascript/example-of-check-login-using-ajax/