Archive for the 'php' Category

Hola mundo con JSON y Jquery

Wednesday, December 23rd, 2009

Saludos.

Hace chingos no pasaba por aqui, disculpas.

Desde el dia de ayer, me estuve rompiendo la cabeza para cargar y leer los datos de un XML, utilizaba la funcion de jquery $.ajax y hasta el dia de hoy di con el error, se trataba de el dataType, pues yo le asignaba el valor “xml”, y vagando por diferentes blogs, di con la solucion. Cuando cargas, lees o como sea, un archivo XML , si lo haces desde tu servidor local, lo que obtienes es texto plano, aun asi el archivo sea XML, porque pasa?…no lo se…pero lo solucione al cambiar el dataType a “text” .

Junto a mi epica busqueda de la razon por la cual no podia leer los datos del XML, pense en JSON, ya habia oido sobre el, mas nunca lo habia usado, asi que me puse a investigar y poco a poco me fui enamorando de la sintaxis y forma de estructurar los datos. Asi pues, acabo de hacer mi primer “Hola Mundo” en JSON; y no fue nada dificil.

Empecemos con el tutorial.

  1. Primero, necesitamos saber como se estructuran los datos en JSON.

Los datos en JSON tienen la siguiente forma:

{

"campo" : "valor",

"campo" : "valor"

}

Y tambien puede haber combinaciones como esta:

{

"campo" : "valor",

"campo" : [{

"campo" : "valor",

"campo" : "valor"

}]

}

2. Ahora que ya sabemos como se estructuran los datos en JSON, debemos crear el codigo en php que nos devuelva una cadena con los datos formateados en JSON. Para esto he creado el archivo llamado getJson.php, y contiene el siguiente codigo:

<?php
$json="{'items':[{'mensaje':'hola'},{'mensaje':'mundo'}]}";
echo $json;
?>

3.  Ahora crearemos el siguiente archivo, el cual llamaremos json.html, que contiene el siguiente codigo:

<html>
<head>
 <script src="http://code.jquery.com/jquery-latest.js" ></script>
 <script>
    $(document).ready(function(){
           $.getJSON("getJson.php", function(data){
                     $.each(data.mensaje, function(i,item){
                     alert(item.cosa);
                     });
             });
    });
 </script>
 </head>
<body>
hola mundo de JSON
</body>
</html>

Cuando entremos y veamos el resultado, obtendremos dos alert’s, mostrano el hola mundo; decidi partir la oracion en dos partes, para mostar la forma de acceder a los datos.

Como pueden ver Jquery tiene una funcion especial para obtener datos del tipo JSON remotamente, $getJSON, recibe como parametros la url del script que nos arrojara los datos, y opcionalmente datos que deseemos enviarle al servidor, y un callback, para ejecutar algo de codigo cuando recibamos los datos.

Practicamente lo que hacemos es decirle a jquery que busque el dato “items” y por cada elemento encontrado dentro de el acceda al campo “mensaje” y lo muestre en un alert. ña variable “i” es el contador de numero de elementos que se van encontrando.

Espero que este mini tutorial sea de ayuda para aquellos que deseen empezar a trabajar con JSON

Foro CI en español, en http://www.codeigniterdirectory.com

Friday, September 18th, 2009

Pues nada mas para anunciar que nuestro humilde foro de CI en español fue aceptado en http://www.codeigniterdirectory.com/

Mas info aqui:
Foro CI en htto://www.codeigniterdirectory.com

Saludos.

Ejemplo Ajax con jQuery en CodeIgniter

Saturday, July 25th, 2009

Bueno como saben hace poco abrimos un foro para CodeIgniter en español aqui mismo en aliviana, en la direccion http://aliviana.com/foro, bueno este es el primer post mas o menos intersante que hago, aqui la URL (no postee aqui por que no tiene caso repetir la info, pero si sirve para anunciarlo y mantener separado foro (cosas sobre CodeIgniter) del blog. Pueden leerlo aqui :http://aliviana.com/foro/index.php?topic=42.0

Saludos a todos.

Conectar sql anywhere con PHP

Monday, February 16th, 2009

Para realizar la conexión de SQL Anywhere con PHP ( Desde Windows )

Descargar la versión más reciente de SQL Anywhere desde la web oficial ( en este momento, la versión 11 )
Descargar el controlador de acuerdo al sistema operativo y a la versión de PHP, ( phpinfo() ) desde aqui
http://www.sybase.com/detail?id=1019698

Colocar el controlador en la carpeta C:\AppServ\php5\extras
reinicial el servidor.
Arrancar la base de datos. con el archivo .db ( generalmente el usuario y contraseña son dba y sql respectivamente )
Realizar la conexión con PHP, generalmente:
$cnxSy = sqlanywhere_connect(“eng=nombredeladb;uid=dba;pwd=sql;links=tcpip{host=localhost;port=2638}”);

Documentacion Codeigniter 1.6.3 en español, esp

Sunday, November 30th, 2008

Pues aqui les dejo los links de la documentación en español de este gran FrameWork para PHP, en su versión 1.6.3, ya que al parecer no hay mucho de donde agarrarse sino masticamos bien la lengua inglesa  :P

http://www.conocimientovirtual.edu.co/descargas.html

Aqui el link de la wiki de CI referente a la traducción del framework

http://codeigniter.com/wiki/Language_Translation/

Saludos y espero le sirva a alguien que no la haya visto por ahi, y tampoco la documentación :D


Guardar acentos en base de datos MySQL y mostrarlos en una página usando CodeIgniter

Friday, October 17th, 2008

He visto y sido victima de los problemas que generan los acentos en sistemas web, llevo un tiempo usando CodeIgniter como framework de desarrollo para PHP, por ventajas que algunos ya conocerán, pero que no son el motivo del post (aunque es verdad tiene sus pro y contras, hoy les hablo de un pro), el punto es GUARDAR Y MOSTRAR ACENTOS en una página web, lo cual es sumamente sencillo, solo tienen que configurar su archivo system/application/database.php  de forma correcta, lo cual depende de la configuracion de su base de datos, veamos un ejemplo:

bd

bd

Aqui tenemos que nuestra base de datos usa el cotejamiento de caracteres latin1_swedish_ci al igual que nuestra tabla:

tabla

tabla

Entonces debemos poner nuestra configuracion de la siguiente manera(solo muestro la parte importante lo demás dependeria de su base de datos, usuario,etc):

$db['default']['char_set'] = "latin1";
$db['default']['dbcollat'] = "latin1_swedish_ci";

Que es la configuracion de nuestra base de datos. Esto como pueden ver es muy sencillo, si alguien sabe hacerlo en php duro y puro pues comente o postee mejor registrarse no cuesta, en realidad no se que tan dificil sea, pero yo no le investigado.

También podria ser necesario que cambienalgo en el archivo system/application/config.php pero a mi me funcionó sin hacerlo todo depende ocm odice el comentario, si se usan metodos que requieren de un charset

/*
|--------------------------------------------------------------------------
| Default Character Set
|--------------------------------------------------------------------------
|
| This determines which character set is used by default in various methods
| that require a character set to be provided.
|
*/
$config['charset'] = "latin1";

Esta es una alternativa a quienes tienen problemas usando htmlentities o la funcion de utf8_decode() (y su contraparte utf8_encode()), ah y no olviden indicar en el header de su pagina que juego de caracteres están usando, para que los muestre correctamente, para este caso seria el iso-8859-1, hasta ahora no he tenido mayores problemas asi que si están desesperados pueden intentar esta opción (debo suponer que no es forzoso el uso de codeigniter, pero como dije antes yo no se hacerlo en php, y de nuevo los invito a participar).

Si gustan probar solo creen un controlador con el nombre de guardaracentos.php en la carpeta controllers aqui está el fuente de ese controlador:

load->helper('form');
		$this->load->database();
	}

	function guardar(){

		extract($_POST);
		$insertar = $this->db->query("UPDATE pruebas SET acentos='$acentos' where id=1;");

		$sacar = $this->db->query("SELECT acentos from pruebas where id=1;");
		$acentosdb = $sacar->row();
		$mensajes = array('mensaje' => 'Mostramos con un simple echo ni utf_decode ni htmlentities tal cual es guardado y mostrado', 'mensaje2' => $acentosdb->acentos);

		$this->load->view("welcome_message", $mensajes);
	}

}
?>

y pueden utilizar la vista de ejemplo que trae codeigniter welcome_message.php con el siguiente codigo:

Welcome to CodeIgniter

Guardando acentos

'acentos','name' => 'acentos'); echo form_open('guardaracentos/guardar'); echo "Ingresa un string con acentos:".form_input($atributosForm, 'Usa acentos'); echo form_submit("guardar","Guardar"); echo form_close(); if ((isset ($mensaje)) and (isset($mensaje2))) echo "

".$mensaje."

. ".$mensaje2." "; ?>

Y de una vez la tabla que usé:

| Table   | Create Table

                                |
+---------+-----------------------------------------------
----------------------------------------------------------
--------------------------------+
| pruebas | CREATE TABLE `pruebas` (
  `id` tinyint(4) NOT NULL auto_increment,
  `acentos` varchar(10) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=latin1 |

Alternar colores en una tabla con PHP y CSS

Saturday, September 27th, 2008

Bueno hace poco surgio la necesidad de alternar colores en una tabla, vi algunos scripts que usaban una variable para el color de background de los renglones, pero era dentro de la tabla, aunque poco despues se me ocurrio (bueno se nos ocurrio, nose a quien primero) meter el nombre de una clase CSS que es para un color, en una variable tipo cadena de php, cambiarla a cada ciclo mediante una condicion por la otra clase con el otro color, y concatenarla en el “echo” que crea la tabla con php en cada ciclo. Gracias al Miguel quién es el que “le mueve” al CSS.Aqui el codigo php:

<html>
<head><title></title>
<LINK REL = "stylesheet" TYPE = "text/css" HREF = "estilo.css">
</head>
<body>
<table border="1">
<?php
$ciclos = 1;//iniciamos la variable del ciclo
$claseCss = 'class = "renglon1"'; // la variable que guarda el nombre de una de las clases de CSS
banderaClase = 1;//una banderola diria Miguel para cambiar a cada pasada el valor de $claseCSS
for ($ciclos=1;$ciclos<10;$ciclos++){
if ($banderaClase == 0){
//si es 0 pues la cambiamos a 1 y asigamos un valor a $claseCSS con el
//nombre de una de las clases, //aqui de una vez inclui la palabra "class"
$banderaClase = 1;
$claseCss = 'class = "renglon1"';
}
else{
//caso contrario pues cambiamos la bandera y el valor de
//$claseCSS para usar la clase que guarda se //encarga de mostrar el segundo color
$banderaClase = 0;
$claseCss = 'class = "renglon2"';
}
//un echo para ir formando los renglones de la tabla
echo "<tr ".$claseCss."><td>Colores intercalados en los renglones (filas) de una tabla
      </td><td>Con php y css</td>
</tr>";
}
?>
</table>
</body>
</html>

y aquí el codigo css:

/*Sin muchos lios solo un par de clases una para cada color de renglon*/

.renglon1{
background-color:lightgreen;

}
.renglon2{
background-color:darkgreen;
}

Por útimo el resultado de ese archivo php y el css (para probarlo solo ponlos en alguna carpeta de prueba, y en la barra del navegador ingresa al archivo php).

colores alternados con php y css en una tabla

colores alternados con php y css en una tabla

simplePolls PHP – encuestas en php

Thursday, September 18th, 2008

simplePolls

Description from sourceforge:

PHP simplePoll is a polling script made to be easily integrated into any existing website without the hassle of dealing with a database. It uses only text-files and cookies as a back-end for storing data. Setup of the poll is done through an admin panel.

front-end simplePolls php

front-end simplePolls php

SimplePolls es un script hecho en php para poner una encuesta en tu sitio web o en algún proyecto personal, sin usar bases de datos, en realidad es una versión muy preliminar, a pesar de ellos cuenta con:

  • Un panel de administración protegido con contraseña para personalizar la encuesta (la pregunta de la encuesta, las posibles respuestas, incluso modificar los valores.
  • Usa sesiones para entrar al panel de administración.
    admin-simplePolls php

    admin-simplePolls php

  • Usa archivos de texto para guardar los resultados
  • Usa cookies en el back-end de la aplicación (para evitar que votes más de una ocasión).
  • Un diseño sencillo nada ostentoso y hasta cierto punto se queda corto.

Tiene la ventaja de ser un script muy preliminar (incluso el autor lo pone como version alfa) como pueden ver en los screenshots, el cual puedes integrar facilmente en algún proyecto para la escuela, o si eres un poco más arriesgado en tu propio sitio web, pero su sencillez te da la ventaja de entenderlo un poco más fácil que scripts más elaborados.

La única desventaja que le veo es que cuando elimino la cookie que genera pues obviamente puedo votar de nuevo, de ahi en fuera te puede sacar de un apuro o servir como base para crear un script mas complejo.

Descargalo aqui

Autor:KckKryptonite

Via:http://sourceforge.net/forum/forum.php?forum_id=866934