Noticias Weblogs Foros Wiki Código

RecorteX

» albin
317 usuarios y 202 recortes de código
Usuario

Contraseña
Crear cuenta
Estás viendo los recortes del usuario albin

RSS
Recortes: 29
Registrado: 6/8/2006
Web

Etiquetas:
php (13)
mysql (8)
JavaScript (5)
imagenes (5)
asp (3)
jpg (3)
JS (2)
Ajax (2)
fichero (2)
XMLHttpRequest (2)
MSSQLServer (2)
clase (1)
provincias (1)
forms (1)
elimina-ficheros (1)
sql (1)
importar (1)
existe-registro (1)
valor-minimo (1)
connection (1)
querystring (1)
leer (1)
genera-select (1)
eliminar (1)
svg (1)
aleatorio (1)
onload (1)
javascrip (1)
exportar (1)
variable (1)
cuenta-registros (1)
recordset (1)
link (1)
html (1)
escribir (1)
Transacciones (1)
antispam (1)
xhtml (1)
declarada (1)
registros (1)
MS-SQLServer (1)
imagen-flash (1)
etiqueta (1)
url (1)
plantilla (1)
flash (1)
duplicados (1)
scroll (1)
adodb (1)
event (1)
valor-maximo (1)

Eliminar registros repetidos

Supongamos que tenemos una tabla con emails, y que algunos pueden estar repetidos, queremos hacer un "borrado selectivo" y eliminar solo las repeticiones.
 
DELETE FROM t_table WHERE id IN (SELECT id FROM t_table main WHERE id > (SELECT min(id) FROM t_table WHERE id <> main.id AND Email = main.Email))
 

Conexión ADODB

Elementos básicos para acceder a MS-SQL Server con ASP
 
ConnectionString = "DRIVER=SQL Server;SERVER=localhost;DATABASE=MasterDB;Address=127.0.0.1,1433;Trusted_Connection=Yes;"
 
set conn = Server.CreateObject("adodb.connection")
conn.open ct_ConnectionString
 
conn.execute "INSERT ..."
 
set rs = Server.CreateObject("adodb.recordset")
rs.Open "SELECT ...", conn
 
do until rs.eof
rs.MoveNext: loop
 
rs.Close
set rs = Nothing
 
conn.close
set conn = Nothing
 

Para "descargarte" una bbdd mysql a tu maquina local

A veces interesaría, bien para hacer pruebas reales, o bien para hacer BackUp, descargarte la bbdd de la web que tienes en un servidor a tu máquina local.

Pues bien, cómodamente y con solo dos líneas de código:

mysqldump --add-drop-table -u USER -pPASSWORD -h DOMAIN DDBB_NAME >DDBB_NAME.sql
mysql -u USER -pPASSWORD DDBB_NAME<DDBB_NAME.sql
Siempre y cuando, claro está, hayas dado acceso a tu IP al servidor MySQL. Sino tendrás que usar phpMyAdmin, y es más trabajoso.

Mueve el scroll de una capa al pasar el ratón

Ideal para hacer un carrusel del fotos en una capa de ancho limitado, y que estas se desplacen al pasar el ratón sobre la capa.

El alto de la capa se ajustará al máximo alto de las imágenes que contenga. Estas imágenes se situarán en línea (una detrás de otra) separadas por 5 pixels.

Al pasar el ratón por la derecha o por la izquierda de la capa, se desplazará el contenido de esta para acceder a las imágenes que no aparecen en ese momento.

Código CSS necesario:
 
.st {
	position: relative; /* obligatorio */
	width : 160px;  /* ajustable */
	overflow : hidden; /* obligatorio */
}
 
Código Javascript necesario:
 
<script type="text/javascript">
window.onload = f_init;
 
var oDiv  = null;
var hInt  = null;
var nDir  = 0;
 
function f_init() {
	var nCoordX = 0;
	var nMaxH   = 0;
	var nlDivs  = document.getElementsByTagName("div");
	for(i=0; i<nlDivs.length; i++) {
		var oDiv = nlDivs[i];
		if(oDiv.className=="st") {
			oDiv.onmouseover = f_mover;
			oDiv.onmousemove = f_mmove;
			oDiv.onmouseout  = f_mout;
			oDiv.move        = f_move;
			for(ii=0; ii<oDiv.childNodes.length; ii++) {
				var oImg = nlDivs[i].childNodes[ii];
				if(oImg.tagName=="IMG") {
					oImg.style.position = "absolute";
					oImg.style.left     = nCoordX+"px";
					nCoordX += oImg.width + 5;
					nMaxH    = Math.max(nMaxH, oImg.height);
				}
			}
			oDiv.scrollLeft   = 0;
			oDiv.maxScrollW   = oDiv.scrollWidth - oDiv.offsetWidth;
			oDiv.centerX      = (oDiv.offsetWidth / 2);
			oDiv.style.height = nMaxH+"px";
		}
	}
}
function f_mover() {
	if(hInt != null) window.clearInterval(hInt);
	oDiv  = this;
	hInt  = window.setInterval(f_move, 10);
}
function f_mmove(event) {
	if(event == null) event = window.event;
	var x  = event.clientX - this.offsetLeft;
	if(x < this.centerX && this.scrollLeft>0              ) nDir = -1;
	if(x > this.centerX && this.scrollLeft<this.maxScrollW) nDir = +1;
}
function f_mout() {
	window.clearInterval(hInt);
	hInt = null;
	oDiv = null;
}
function f_move() {
	oDiv.scrollLeft += nDir;
}
 
Y código HTML de ejemplo:

<div class="st">
	<img src="imagen1.jpg" title="thumb #1" />
	<img src="imagen2.jpg" title="thumb #2" />
	<img src="imagen3.jpg" title="thumb #3" />
	<img src="imagen4.jpg" title="thumb #4" />
</div>

Cambia una imagen por otra haciendo un fundido al fondo

Cambia una imagen por otra haciendo un fundido al fondo. Funciona con múltiples imágenes, al llegar a la última regresa a la primera.

<img class="ic" src="imagenes/imagen1.jpg" srcalt="imagen2.jpg;imagen3.jpg" alt="Pulsa sobre la imágen para cambiarla por otra" />
 
window.onload = f_init;
 
var isExplorer = (document.all ? true : false);
var hFade      = null;
var imgFade    = null;
var imgAlfa    = 10;
 
function f_init() {
	var nlImgs = document.getElementsByTagName("img");
	for(i=0; i<nlImgs.length; i++) {
		if(nlImgs[i].className=="ic") {
			var nSlash = 1 + nlImgs[i].src.lastIndexOf("/");
			var sURL   = nlImgs[i].src.substr(0, nSlash);
			nlImgs[i].onclick  = f_changeImg;
			nlImgs[i].step     = 0;
			nlImgs[i].cimg     = 0;
			nlImgs[i].srcalt   = nlImgs[i].getAttribute("srcalt").split(";");
			for(ii=0; ii<nlImgs[i].srcalt.length; ii++)
				nlImgs[i].srcalt[ii] = sURL + nlImgs[i].srcalt[ii];
			nlImgs[i].srcalt[ii] = nlImgs[i].src;
			if(isExplorer)
				nlImgs[i].runtimeStyle.filter = "progid:DXImageTransform.Microsoft.Alpha";
		}
	}
}
 
function f_changeImg() {
	window.clearInterval(hFade);
	if(this.className=="ic") imgFade = this;
	switch(imgFade.step) {
		case 0:
			imgFade.step = 1;
			f_startFadeOff();
			break;
		case 1:
			imgFade.step = 2;
			f_changeSrc();
			break;
		case 2:
			imgFade.step = 3;
			f_startFadeOn();
			break;
		case 3:
			imgFade.step = 0;
			imgFade.onclick = f_changeImg;
			break;
	}
}
 
function f_changeSrc() {
	imgFade.cimg++;
	if(imgFade.cimg == imgFade.srcalt.length) imgFade.cimg = 0;
	imgFade.src = imgFade.srcalt[imgFade.cimg];
	f_changeImg();
}
 
function f_startFadeOff() {
	imgFade.onclick = null;
	hFade   = window.setInterval(f_fadeOff, 100);
}
 
function f_fadeOff() {
	imgAlfa -= 1;
	imgFade.style.MozOpacity = (imgAlfa/10);
	if(isExplorer)
		imgFade.filters.item("DXImageTransform.Microsoft.Alpha").opacity = imgAlfa*10;
	if(imgAlfa==0) {
		f_changeImg();
	}
}
 
function f_startFadeOn() {
	imgFade.onclick = null;
	hFade   = window.setInterval(f_fadeOn,  100);
}
 
function f_fadeOn() {
	imgAlfa += 1;
	imgFade.style.MozOpacity = (imgAlfa/10);
	if(isExplorer)
		imgFade.filters.item("DXImageTransform.Microsoft.Alpha").opacity = imgAlfa*10;
	if(imgAlfa==10) {
		f_changeImg();
	}
}
 

Desplegable de provincias españolas en HTML

Desplegable de provincias españolas con los nombre de las provincias en español:
 
<select name="provincia">
<option value="">- selecciona -</option>
<option value="15">A coru&#241;a</option>
<option value="1">&#193;lava</option>
<option value="2">Albacete</option>
<option value="3">Alicante</option>
<option value="4">Almer&#237;a</option>
<option value="33">Asturias</option>
<option value="5">&#193;vila</option>
<option value="6">Badajoz</option>
<option value="7">Baleares</option>
<option value="8">Barcelona</option>
<option value="9">Burgos</option>
<option value="10">C&#225;ceres</option>
<option value="11">C&#225;diz</option>
<option value="39">Cantabria</option>
<option value="12">Castell&#243;n</option>
<option value="51">Ceuta</option>
<option value="13">Ciudad Real</option>
<option value="14">C&#243;rdoba</option>
<option value="16">Cuenca</option>
<option value="99">Extranjero</option>
<option value="17">Girona</option>
<option value="18">Granada</option>
<option value="19">Guadalajara</option>
<option value="20">Guip&#250;zcoa</option>
<option value="21">Huelva</option>
<option value="22">Huesca</option>
<option value="23">Ja&#233;n</option>
<option value="26">La rioja</option>
<option value="35">Las palmas</option>
<option value="24">Le&#243;n</option>
<option value="25">Lleida</option>
<option value="27">Lugo</option>
<option value="28">Madrid</option>
<option value="29">M&#225;laga</option>
<option value="52">Melilla</option>
<option value="30">Murcia</option>
<option value="31">Navarra</option>
<option value="32">Ourense</option>
<option value="34">Palencia</option>
<option value="36">Pontevedra</option>
<option value="37">Salamanca</option>
<option value="38">Santa cruz de tenerife</option>
<option value="40">Segovia</option>
<option value="41">Sevilla</option>
<option value="42">Soria</option>
<option value="43">Tarragona</option>
<option value="44">Teruel</option>
<option value="45">Toledo</option>
<option value="46">Valencia</option>
<option value="47">Valladolid</option>
<option value="48">Vizcaya</option>
<option value="49">Zamora</option>
<option value="50">Zaragoza</option>
</select>
 

Escala una imágen forzando un alto máximo

Escala una imágen forzando un alto máximo.
 
function f_resizeMaxHeight($file, $height) {
	$imSrc  = imagecreatefromjpeg($file);
	$w      = imagesx($imSrc);
	$h      = imagesy($imSrc);
	if($h>$height) {
		$width = ($w/$h)*$height;
		$imTrg  = imageCreateTrueColor($width, $height);
		imagecopyresized($imTrg, $imSrc, 0, 0, 0, 0, $width, $height, $w, $h);
		imagedestroy($imSrc);
		imagejpeg($imTrg, $file, 95);
		imagedestroy($imTrg);
	} else {
		imagedestroy($imSrc);
	}
}
 

Escalado de una imagen forzando ancho y alto sin deformarla

Escala una imágen al máximo ancho o al máximo alto, según sea su proporción y la proporción deseada, y coge la parte central del resultado garantizando la proporcion deseada.

Dicese, de una imagen de 1600 x 1200, si se solicita 350x300, la escalará a 400x300 y cogerá de 25,0 a 375,300 garantizando un escalado sin distorsión, y las medidas deseadas.

function clipImage($file, $width, $height) {
	$imSrc  = imagecreatefromjpeg($file);
	$w      = imagesx($imSrc);
	$h      = imagesy($imSrc);
	if($width/$height>$w/$h) {
		$nh = ($h/$w)*$width;
		$nw = $width;
	} else {
		$nw = ($w/$h)*$height;
		$nh = $height;
	}
	$dx = ($width/2)-($nw/2);
	$dy = ($height/2)-($nh/2);
	$imTrg  = imageCreateTrueColor($width, $height);
	imagecopyresized($imTrg, $imSrc, $dx, $dy, 0, 0, $nw, $nh, $w, $h);
	imagedestroy($imSrc);
	imagejpeg($imTrg, $file, 95);
	imagedestroy($imTrg);
}

Escala una imágen forzando un ancho máximo

Escala una imágen forzando un ancho máximo.

function f_resizeMaxWidth($file, $width) {
	$imSrc  = imagecreatefromjpeg($file);
	$w      = imagesx($imSrc);
	$h      = imagesy($imSrc);
	if($w>$width) {
		$height = ($h/$w)*$width;
		$imTrg  = imageCreateTrueColor($width, $height);
		imagecopyresized($imTrg, $imSrc, 0, 0, 0, 0, $width, $height, $w, $h);
		imagedestroy($imSrc);
		imagejpeg($imTrg, $file, 95);
		imagedestroy($imTrg);
	} else {
		imagedestroy($imSrc);
	}
}

Escribe el código HTML para una imágen o un flash

Según la extensión del fichero, escribe el HTML correspondiente a un tag "img" o a los tags "object" y "embed" para un fichero Flash.
 
function f_ImageFlash($file, $alt = "", $w = 0, $h = 0, $id = "src") {
	if(substr($file, -3)=="swf") {
		echo "<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0\" width=\"".$w."\" height=\"".$h."\" VIEWASTEXT><param name=\"menu\" value=\"false\"><param name=\"movie\" value=\"".$file."\" /><param name=\"quality\" value=\"high\" /><embed src=\"".$file."\" menu=\"false\" quality=\"high\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" width=\"".$w."\" height=\"".$h."\"></embed></object>";
	} else {
		echo "<img id=\"".$id."\" src=\"".$file."\" alt=\"\" />";
	}
}
 
info@recortex.com - Proyecto: Juanjo Navarro, 2006 - Diseño: Albin