Выборка из mysql значений со вчерашней датой. Варианты.

Вариант 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)");

javascript: падающий снег

var snowmax=35;
var snowcolor=new Array("#aaaacc","#ddddff","#ccccdd","#f3f3f3","#f0ffff");
var snowtype=new Array("Arial Black","Arial Narrow","Times","Comic Sans MS");
var snowletter="*";
var sinkspeed=0.6; //0.3-2
var snowmaxsize=22;
var snowminsize=8;
var snowingzone=1; //1-4
var snow=new Array();
var marginbottom;
var marginright;
var timer;
var i_snow=0;
var x_mv=new Array();
var crds=new Array();
var lftrght=new Array();
var browserinfos=navigator.userAgent;
var ie5=document.all&&document.getElementById&&!browserinfos.match(/Opera/);
var ns6=document.getElementById&&!document.all;
var opera=browserinfos.match(/Opera/);
var browserok=ie5||ns6||opera;
function randommaker(range) {
	rand=Math.floor(range*Math.random());
	return rand;
}
function initsnow() {
	if (ie5 || opera) {
		marginbottom=document.body.clientHeight;
		marginright=document.body.clientWidth;
	}
	else if (ns6) {
		marginbottom=window.innerHeight;
		marginright=window.innerWidth;
	}
	var snowsizerange=snowmaxsize-snowminsize;
	for (i=0;i<=snowmax;i++) {
		crds[i]=0;
		lftrght[i]=Math.random()*15;
		x_mv[i]=0.03+Math.random()/10;
		snow[i]=document.getElementById("s"+i);
		snow[i].style.fontFamily=snowtype[randommaker(snowtype/length)];
		snow[i].size=randommaker(snowsizerange)+snowminsize;
		snow[i].style.fontSize=snow[i].size+"px";
		snow[i].style.color=snowcolor[randommaker(snowcolor.length)];
		snow[i].sink=sinkspeed*snow[i].size/5;
		if (snowingzone==1) {snow[i].posx=randommaker(marginright-snow[i].size)}
		if (snowingzone==2) {snow[i].posx=randommaker(marginright/2-snow[i].size)}
		if (snowingzone==3) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/4}
		if (snowingzone==4) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/2}
		snow[i].posy=randommaker(2*marginbottom-marginbottom-2*snow[i].size);
		snow[i].style.left=snow[i].posx+"px";
		snow[i].style.top=snow[i].posy+"px";
	}
	movesnow();
}
function movesnow() {
	for(i=0;i<=snowmax;i++) {
		crds[i]+=x_mv[i];
		snow[i].posy+=snow[i].sink;
		snow[i].style.left=snow[i].posx+lftrght[i]*Math.sin(crds[i])+"px";
		snow[i].style.top=snow[i].posy+"px";
		if (snow[i].posy>=marginbottom-2*snow[i].size || parseInt(snow[i].style.left)>(marginright-3*lftrght[i])) {
			if (snowingzone==1) {snow[i].posx=randommaker(marginright-snow[i].size)}
			if (snowingzone==2) {snow[i].posx=randommaker(marginright/2-snow[i].size)}
			if (snowingzone==3) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/4}
			if (snowingzone==4) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/2}
			snow[i].posy=0;
		}
	}
	var timer=setTimeout("movesnow()",50);
}
for (i=0;i<=snowmax;i++) {
	document.write("<span id='s"+i+"' style='position:absolute;top:-"+snowmaxsize+"px;'>"+snowletter+"</span>");
}
if (browserok) {
	window.onload=initsnow;
}

http://forum.ru-board.com/topic.cgi?forum=31&topic=4208
2011-01-05 обновлено, исправлены ошибки, теперь снег падает во всех браузерах :)

php: преобразуем данные в нужный формат

Вот нужно например из файла 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>";
?>

ну а дальше копи-паст в исходник :)

Joomla: отключить загрузку mootools.js и caption.js

Чтобы при создании нового шаблона не загружались стандартные яваскрипты mootools.js и caption.js при подключении

<jdoc:include type="head" />

в index.php создаваемого шаблона пишем:

$user = & JFactory::getUser();
if ($user->get('guest') == 1) {
	$headerstuff = $this->getHeadData();
	$key1 = JURI::base(true). '/media/system/js/mootools.js';
	$key2 = JURI::base(true). '/media/system/js/caption.js';
	unset($headerstuff['scripts'][$key1], $headerstuff['scripts'][$key2]);
	$this->setHeadData($headerstuff);
}

http://joomlaforum.ru/index.php?topic=101107.0