domingo 1 de febrero de 2009

Video Tutorial Diseño web muy sencillo



Bueno podemos intentar varias cosas mas despues de hacer el diseño depende de que queramos hacer para lograr nuestro objetivo.

sábado 31 de enero de 2009

Boton Gel en photoshop

Creamos un archivo con un tamaño de 400x400.



Creamos un rectángulo con la herramienta Rounded rectangle
tool (herramienta de rectángulo redondeado) del tamaño que usted desee.


pagLuego le damos doble clic a la capa del cuadro para entrar a
las layer style (estilo de capa) y elegimos gradient overley
style='mso-spacerun:yes'> y le ponemos un color que sea ejemplo rojo de
oscuro a claro, los usados en el ejemplo son: 63c2f0
, 2773bb, 06164d.



pagAhora creamos una nueva capa y teniendo seleccionada la
capa le damos clic + control a la imagen del rectángulo.



pagLuego elegimos la herramienta de selección y sin
deseleccionar presionamos alterna y retiramos la cantidad de recuadro que lo
queremos seleccionar



Luego rellenamos la selección con blanco y usando la herramienta warp movemos la parte
de abajo un poco para formar una pequeña curva. Luego de damos a enter y le bajamos la opacidad a unos 9% o 15% de
pendiendo.







Bueno luego creamos otra capa en esta capa volvemos a
seleccionar la luz pero estando en la capa nueva, luego con la herramienta
gradient le damos un gradient de blanco a transparente en una parte pequeña del
recuadro.






Bueno espero que mi
tuto les ayude en algo cualquier problema no duden en preguntar hasta luego

miércoles 28 de enero de 2009

Manejo de XML en PHP con SIMPLEXML

bueno aqui les traigo una manera sencilla de llamar un xml y usar sus datos en php(como una data) bueno lo primero es crear nuestro xml de ejemplo.

data.xml
<?xml version='1.0'?>
<mensajes>
  <mensaje>
    <asunto>Hola</asunto>
    <texto>Hola, que tal?</texto>
  </mensaje>
  <mensaje>
    <asunto>Re: Hola</asunto>
    <texto>Bien, gracias.</texto>
  </mensaje>
</mensajes>


luego crearemos nuestra pequeño programa.


data.php
<?php
$data='data.xml';

$xml = simplexml_load_file($data);
foreach ($xml->mensaje as $mensaje){
  echo $mensaje->texto.' ';
  }
  
  ?>


bueno como vieron use un foreach para poder manejar el arreglo en cuestion si no me comprenden les explicare, digo arreglo es porque el XML en su estructura siempre sus TAG son repetitivos es decir que < mensaje > se repetiria varias veces por la cantidada de mensajes que esten el XML. Al pasar esto a php debemos separarlo en un arreglo que contenga todos sus elementos por TAG mas informacion del foreach

viernes 16 de enero de 2009

Aprendiendo Ajax

Antes de comenzar con todo eso de los programas en ajax es mejor saber que es ajax,

AJAX, acrónimo de Asynchronous JavaScript And XML (JavaScript asíncrono y XML), es una técnica de desarrollo web para crear aplicaciones interactivas o RIA (Rich Internet Applications). Estas aplicaciones se ejecutan en el cliente, es decir, en el navegador de los usuarios mientras se mantiene la comunicación asíncrona con el servidor en segundo plano. De esta forma es posible realizar cambios sobre las páginas sin necesidad de recargarlas, lo que significa aumentar la interactividad, velocidad y usabilidad en las aplicaciones.

Ajax es una tecnología asíncrona, en el sentido de que los datos adicionales se requieren al servidor y se cargan en segundo plano sin interferir con la visualización ni el comportamiento de la página. JavaScript es el lenguaje interpretado (scripting language) en el que normalmente se efectúan las funciones de llamada de Ajax mientras que el acceso a los datos se realiza mediante XMLHttpRequest, objeto disponible en los navegadores actuales. En cualquier caso, no es necesario que el contenido asíncrono esté formateado en XML.

Ajax es una técnica válida para múltiples plataformas y utilizable en muchos sistemas operativos y navegadores dado que está basado en estándares abiertos como JavaScript y Document Object Model (DOM). Mas informacion

bueno ya sabiendo que nos espera comenzaremos por un ejemplo sencillo algo con lo cual podremos ver como funciona.

Primero comenzaremos con un html que contendra un formulario
formname.html

<script src="name.js" type="text/javascript" language="javascript"></script>
<form>
Nombre: <input type="text" id="texto" name="texto" />

<input type="submit" value="enviar" onclick="return buscar()">
</form>

<div id="loading">
</div><div id="resultados">
</div>


ahora crearemos un .js con el nombre de name.js, que si nos fijamos bien lo estamos buscando en la parte del script....

name.js

function xmlhttp(){
var xmlhttp;
try{xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");}
catch(e){
try{xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}
catch(e){
try{xmlhttp = new XMLHttpRequest();}
catch(e){
xmlhttp = false;
}
}
}
if (!xmlhttp)
return null;
else
return xmlhttp;
}

function buscar(){
var A = document.getElementById('resultados');
var B = document.getElementById('loading');
var C = document.getElementById('texto').value;

var ajax = xmlhttp();

ajax.onreadystatechange=function(){
if(ajax.readyState==1){
B.innerHTML = "<img src='loading.gif' alg='Loading...'>";
}
if(ajax.readyState==4){
A.innerHTML = ajax.responseText;
B.innerHTML = "";
}
}
ajax.open("GET","nombre.php?c="+C,true);
ajax.send(null);
return false;
}

<div id="loading">
</div><div id="resultados">
</div>


en la funcion xmlhttp() esta funcion se encarga de crear los objetos necesarios para que surja la magia ahora bien el objeto de XMLHttpRequest es utilizado por los fuertes Firefox, Opera 8.0+, Safari en cambio el objeto ActiveXObject es solo utilizado por Internet Explorer....

bueno continuacion vemos la funcion buscar en esta parte veremos como capturo y declaro tres variables las cuales estaban en el formulario(todas estan capturadas por el id)
luego veremos como la variable ajax es igualada al xmlhttp() es decir que con llamar la variable ajax podremos usar la funcion.

en la funcion de aqui abajo nos sirve para saber si hay o no respuesta desde el servidor (asp o php)
ajax.onreadystatechange=function(){
if(ajax.readyState==1){

}
if(ajax.readyState==4){

}
}


si queremos tener mas control sobre los estados de de respuesta les dejare los estados que se utilizan.







Estado Descripción
0 La solicitud no está inicializado
1 La solicitud se ha creado
2 La solicitud ha sido enviada
3 La solicitud está en proceso
4 La solicitud está completa



ahora crearemos el archivo de php llamado nombre.php en este archivo simplemente creare un arreglo con los datos que le demos entrada es algo sencillo y luego los imprimire en su mismo lugar de entrada para mantener los datos vigentes utilice las sessiones en php.

nombre.php
<?php
session_start();
$q1 = $_GET['c'];

$_SESSION['count']=$_SESSION['count']+1;
$count=$_SESSION['count'];
$_SESSION['name'][$count]=$q1;

for($i=0;$i<=$count;$i++){
echo $_SESSION['name'][$i]."<br />";

}

?>




ahora lo unico que falta es introducir lo que el servidor (PHP o Asp) nos respodio directamente a html para eso usamos esto responseText y el innerHTML para introducirlo dentro de una etiqueta.

y esto es todo por ahora luego les traere mas cosas nos vemos y espero que les sirva de algo se cuidan

martes 6 de enero de 2009

Crear una paginacion con clases

primero crearemos una conexion muy sencilla para este ejemplo estoy usando la base de datos de mysql llamada mysql :P.

Conexion.php

<?php
$host='localhost';
$user='root';
$pass='';
$dbase='xphp';


$link=@mysql_connect($host,$user,$pass) or die('<b>error 1:</b> No es posible conectar el servidor SQL.');
@mysql_select_db($dbase,$link) or die ('<b>Error 2:</b> No es Posible conectar la base de datos');
?>


luego llamaremos la clase con el siguiente codigo.
example.php


<?php
include("conexion.php");
include("php_pageclass.php");
echo "
Forma 1
";
$class_page=new page();
$class_page->table="help_topic";
$class_page->link="example.php";
$class_page->gen_query();

//estos son los demas codigos que podemos usar para hacer una busqueda o una consulta mas detallada.

echo "

Forma 2
";
$class_page->fields="h.name";
$class_page->where="h.name like '%j%'";
$class_page->order="h.help_topic_id desc";
$class_page->start=1;
$class_page->length=1;
$class_page->table="help_topic h";
$class_page->link="example.php";
$class_page->gen_query();

?>



y por ultimo y no menos importante la clase en si

php_pageclass.php
<?php
/////////////////////////////////////////////////////////////////////////
// CLASE DE PAGINACION EN PHP
//
// Clase para generar la paginacion de las paginas desde una consulta de datos MySQL
//
//////////////////////////////////////////////////////////////////////////////

/**
* @CLASE DE PAGINACION EN PHP
* @autor   Haendel De Jesus
*/

class page{

public $fields;
public $where;
public $order;
public $table;
public $link;
public $start;
public $length;

function gen_query(){

$hasta = (int) $this->length;
$hasta= isset($this->length) ? $this->length : "5";
$inicios=(int)$this->start;
$inicios= isset($this->start) ? $this->start : "0";
$donde= isset($this->where) ? "WHERE $this->where" : "";
$order= isset($this->order) ? "ORDER BY $this->order" : " ";
$campos= isset($this->fields)? $this->fields : "*";
$tables= isset($this->table) ? $this->table : "1";
$link= isset($this->link) ? $this->link : "1";
$resultado= "";
$nopag=0;

if ($tables==1)echo "ERROR TABLAS NO DECLARADAS";
elseif ($link==1)echo "ENLACE NO DECLARADO";
else
$pagina = $_GET["page"];
if (!$pagina) {
$inicio = 0;
$pagina=1;
}
else {
$inicio = ($pagina - 1) * $hasta;

}
$sql= "SELECT $campos FROM $tables $donde $order";

$resultado=mysql_query($sql);
$num_total_registros = mysql_num_rows($resultado);
//calculo el total de páginas
$total_paginas = ceil($num_total_registros / $hasta);



if ($total_paginas >= 1){


if ($pagina>=2){
echo " <a href='".$link."?page=".($pagina-1)."'>Anterior</a> ";
  }


for ($i=1;$i<=$total_paginas;$i++){

if ($pagina == $i) {

//si muestro el índice de la página actual, no coloco enlace
echo " ".$pagina . " ";


}else {

//si el índice no corresponde con la página mostrada actualmente, coloco el enlace para ir a esa página
echo " <a href='".$link."?page=".$i."'>" . $i . "</a>";


}
}          

if ($pag==0){
$pag=1;}
if ($pagina!=$total_paginas and $total_paginas>1){
echo " <a href='".$link."?page=".($pagina+1)."'>Siguiente</a>";
  }


}




}
}




?>


esto es una clase que hice y que uso para paginar en php espero que les sirva cualquier problema me dejan un comentario.