Thursday, April 22, 2010

creando tu pagina parte 7 interaccion de la lista

Donde estamos
Ahora que tenemos un conjunto de controles AJAX sobre todo montado, podemos empezar a construir nuestra clase PHP para manejar las interacciones lista. Esta clase se llamará ColoredListsItems y se encuentran en el archivo class.lists.inc.php en el inc carpeta.
Esta clase contiene métodos para Manejamos todas las acciones realizadas por nuestra aplicación o nuestros usuarios en cuanto a elementos de lista. Es decir, estas acciones son:
Mostrando elementos de la lista
Guardar elementos de una lista nueva
Reordenar los elementos de lista
Cambiar los colores tema
Edición de texto del elemento
Marcar un elemento como "hecho"
Eliminar elementos
También, porque tenemos que ser capaces de cargar una versión no editable de una lista cuando se ve desde la URL pública, tendremos que añadir esa funcionalidad también.
Definición de la clase
Antes de que podamos hacer nada, tenemos que tener nuestra ColoredListsItems clase definida. Dentro inc / class.lists.inc.php, Agregue la siguiente declaración de la clase y el constructor:

Observe que el constructor es idéntico al que usamos en ColoredListsUsers (Véase el Parte 5-El desarrollo de la aplicación: Interacción de usuario), Sino que controles para un objeto de base de datos y crea una si no hay ninguno.
Mostrando elementos de lista
A pesar de que actualmente no tienen ningún producto guardado en nuestra base de datos, sabemos lo que van a parecer. Con esto en mente, podemos escribir nuestras funciones de salida para mostrar nuestra lista de artículos a los usuarios, tanto en uno conectado y desconectado del Estado.
Si el usuario está conectado
Cuando nuestro usuario se registra en, vamos a cargar su lista por su nombre de usuario. Este nombre de usuario se almacena en el $ _SESSION superglobal.
En inc / class.lists.inc.php, Definir el método loadListItemsByUser () e introduzca el siguiente código:

Este método comienza con una consulta de algo complejo que comienza por unión el list_items y listas tablas, a continuación, utiliza una sub-consulta para filtrar los elementos de lista por ID de usuario.
Si la consulta devuelve resultados, circular a través de ellos y llamar a la aún-a-ser-definido formatListItems () método. Cada elemento de formato se emite inmediatamente, mediante el echo (), Y la lista de ID y la URL se salvan.
Si no se devuelven los resultados (es decir, el usuario no tiene ningún producto en su lista), la lista de identificación y dirección no serán devueltos. Sin embargo, necesitamos esta información para permitir a los usuarios a presentar nuevos temas y compartir sus listas. Un cheque está en el lugar para ver si la lista de identificación de variables ($ LID) Se establece. Si no, una consulta adicional se ejecuta para recuperar la lista de identificación del usuario y la URL.
La lista de identificación y dirección se devuelven como una matriz.
Si el usuario no se registra en
Si ningún usuario está conectado, no tenemos acceso a un nombre de usuario con el que se carga los elementos. Por lo tanto, tenemos que utilizar la lista de identificación de cargar objetos. Somos capaces de determinar la lista de identificación con el URL de la lista, que es la única manera que un usuario que no se registra en podrá ver una lista en el primer lugar. El método es similar a esto en inc / class.lists.inc.php:
Formato elementos de lista
Para que nuestras dos métodos anteriores funciona correctamente, también tenemos que definir nuestro formatListItems () método. Este método es bastante sencillo, pero también se necesita un método de ayuda para determinar la clase CSS para cada elemento, al que llamaremos getColorClass (). Este método auxiliar sólo existe para simplificar nuestro código. Inserte ambos métodos en inc / class.lists.inc.php de la siguiente manera:

Una matriz que contiene los atributos de cada elemento de la lista se pasa a formatListItems (), Y diferentes atributos se crean en función de los valores que se transmiten. Si un usuario no está conectado, podemos añadir manualmente un al marcado para mantener a nuestros CSS se rompa, y entonces la cosa en toda en un
  • y regreso.
    Llamar a nuestros nuevos métodos en la vista principal del
    Nuestra página principal (index.php) Cuenta actualmente con notas del diseñador que se parecen a esto:

    Para que estas notas en un guión funcional, tenemos que añadir la lógica siguiente para index.php para llamar a los métodos apropiados:

    Esta secuencia de comandos comprueba si un usuario está conectado, a continuación, los resultados de su lista y los controles adecuados en caso afirmativo. Si no, comprobar si había una lista de URL y los productos suministrados una lista no modificable si se encuentra uno. De lo contrario, las "ventas" se mostrará la página, alentando al espectador a registrarse.
    Guardar elementos de lista Nueva
    En este punto, nuestra aplicación funcionará correctamente para un usuario que se registra pulg Ahora sólo hay que enchufar en los controles que le permitan interactuar con la lista. En primer lugar, tenemos que permitir que nuevos temas que se creará. Para ello, tenemos que escribir un método PHP que agregará los elementos de lista a nuestra base de datos, y entonces tenemos que completar el jQuery iniciadas por nuestro diseñador en Parte 6.
    El PHP
    Guardar un tema es bastante simple en el lado servidor. Nosotros simplemente agarrar toda la información sobre el nuevo elemento de fuera de la $ _POST superglobales, preparar una declaración, y guardar la información en la base de datos. Tenga en cuenta que nos estamos quedando strip_tags () sobre el texto del elemento de la lista de. Esta es una comprobación redundante, puesto que estamos usando JavaScript para quitar las etiquetas deseadas, pero no debemos confiar en los datos que se desinfectan del lado del cliente.

    Observe que hemos utilizado una constante llamada WhiteList en el strip_tags () función. Esta es una lista de las etiquetas permite que nuestros usuarios tienen acceso. Sin embargo, debemos asumir que vamos a querer cambiar esta lista en algún momento en el futuro, razón por la cual estamos salvando la lista como una constante, lo que vamos a definir en inc / constants.inc.php:

    Acabado el código JavaScript
    Para completar el jQuery en js / lists.js, Tenemos que modificar el guión con el siguiente código:

    Estamos completando el $. Ajax () convocatoria mediante la presentación del nuevo elemento a través de la POST método para db-interation/lists.php. El elemento añadido correctamente entonces se anexa a la lista, todos, sin actualizar la página.
    Manejo de Interacciones Lista
    Nuestro $. Ajax () envía a llamar a db-interaction/lists.php, Que aún no existe. Este script actúa como un interruptor que va a determinar lo que es necesario adoptar medidas y ejecutar el método apropiado. Todas las solicitudes se manejan de la misma manera, así que vamos a definir el archivo completo aquí. Crea un archivo nuevo llamado lists.php en el db-la interacción carpeta e introduzca el siguiente código en él:


    Reordenar Elementos de lista
    A continuación, tenemos que permiten a los usuarios guardar el orden de sus elementos después de haber arrastrado y las dejó caer. Esta es definitivamente la parte más compleja de nuestra aplicación general.
    El PHP
    Cada elemento se le asigna una posición cuando es leído fuera de la base de datos. Este es el elemento Posición inicial del. Cuando se arrastra, termina en un nuevo lugar en la lista; vamos a llamar a esta nueva posición es posición actual.
    ¿Cuándo changeListItemPosition () se llama, tanto en posición inicial del elemento y la posición actual se pasan, así como la dirección en que se movía. Aquí es donde se pone complicado.
    Dependiendo de la dirección el tema fue movido, hemos creado una de las dos consultas condicional. Nosotros seleccionar todos los elementos de la lista actual con una posición situada entre las posiciones iniciales y actuales, Después, con la CASO cláusula, Incrementar o disminuir sus posiciones 1 a menos que la posición del elemento más o menos uno está fuera del rango que hemos seleccionado, momento en que nos pusimos la posición del elemento a la posición actual. De esta manera, somos capaces de evitar un disparo una consulta individual para cada elemento, lo que podría causar un cuello de botella de rendimiento.


    Acabado el código JavaScript
    Para llamar a nuestro método, tenemos que modificar js / lists.js mediante la adición de una nueva función llamada saveListOrder ():

    Esta función acepta el ID y la del atributo rel del elemento que se haya movido. El atributo rel contiene la posición original del tema, lo que necesitamos como su posición inicial. Luego circular a través de cada elemento de la lista, mientras que incrementar un contador (yo). Cuando encontramos el elemento de la lista que coincide con el ID del tema movido, nuestro contador de ahora refleja la posición actual del elemento. A continuación, puede determinar la dirección que el tema ha sido reubicado y enviar la información a db-interaction/lists.php para su procesamiento.
    Esta función debe ser llamada cuando un elemento se actualiza ordenable, que llevamos a cabo mediante la modificación del siguiente en js / lists.js:


    Cambio de Colores del artículo
    Cambiar el color de un elemento es muy sencilla, tanto en el servidor y de cliente.
    El PHP
    Para actualizar el color de un elemento, simplemente pasarlo de identificación y el código de color nuevo al método changeListItemColor () y crear y ejecutar una consulta.

    Acabado el código JavaScript
    La función que guarda los nuevos colores se llama mediante la presentación de la identificación de los puntos y nuevo color a través de POST en el $. Ajax () llame a continuación en js / lists.js:


    Edición de texto del artículo
    A continuación, vamos a asegurarnos de artículos modificados se actualizan en la base de datos.
    El PHP
    Para guardar artículos de actualización en la base de datos, tenemos que crear un método llamado updateListItem (). Este método se extraer el identificador del elemento modificado y el nuevo texto de la $ _POST superglobales, compruebe de nuevo el texto del elemento de etiquetas no permitidas, y preparar y ejecutar una consulta para actualizar el elemento de la base de datos. Agregue el método siguiente en inc / class.lists.inc.php:


    Acabado el código JavaScript
    Activar este método mediante la modificación de la ruta en bindAllTabs () en js / lists.js:


    Marcar artículos como "Listo"
    Para marcar un elemento como se hace, el usuario debe ser capaz de guardar un indicador en la base de datos que indican el tema de "hecho" sobre su estado.
    El PHP
    El toggleListItemDone () método recupera el elemento de identificación y "hecho" de estado del $ _POST superglobales y las utiliza para actualizar el elemento de la base de datos:

    Acabado el código JavaScript
    Para llamar a nuestro método, escribimos una función llamada toggleDone () en js / lists.js. Esta función sólo se ejecuta una llamada a la $. Ajax () función y envía el identificador del artículo y "hecho" de estado a nuestro manejador de lista.


    A continuación, le asignamos toggleDone () como la función de devolución de llamada para el animar () incluso lo que sucede cuando nuestro usuario hace clic en la ficha hecho:

    Borrado de artículos
    Por último, tenemos que permitir que nuestros usuarios para eliminar elementos que ya no quieren en su lista.
    El PHP
    Para eliminar un elemento, tenemos que crear un método llamado deleteListItem () en inc / class.lists.inc.php. Este método se recuperar el elemento y los identificadores de la lista $ _POST superglobales, a continuación, quitar el elemento de la lista. Luego, para preservar el orden correcto en la lista, todos los artículos de la lista con una posición más alta que la del elemento que se eliminó deben disminuye en 1.



    Acabado el código JavaScript
    Para activar este método, tenemos que modificar nuestra jQuery mediante la actualización de la sección de js / lists.js que trata con la supresión del artículo:


    "Moving On"
    Ahora hemos logrado construir toda la funcionalidad de AJAX para nuestra aplicación! Había un montón de información en este artículo, y fuimos a través de él con bastante rapidez, por lo que por favor enviar cualquier pregunta que tenga en los comentarios!
    En la última entrega de esta serie, vamos a repasar los medidas de seguridad y otros acabados esta aplicación tiene que estar lista para el uso público. También iremos a algunas de las características esperamos añadir en el futuro.
    Autor de las series
    Jason Lengstorf es un desarrollador de software con sede en Missoula, MT. Él es el autor de PHP para principiantes absolutos y regular los blogs sobre la programación. Cuando no está pegado a su teclado, que está de pie probable en línea para el café, la cerveza su propia cerveza, o soñando con ser un mythbuster.
    Chris Coyier es un diseñador que actualmente vive en Chicago, IL. Es co-autor de Excavando en WordPress, Así como blogger y conferencista en todo el diseño de las cosas. Lejos de la computadora, es probable que se encuentre gritar a los entrenadores de fútbol en la tele o recoger un banjo.














  • 0 comentarios:

    Post a Comment

    blogs

    GoDaddy

    http://todopara-instalar-negocioweb.com/

    Feature 1

    HOSTING Y DOMINIOS

    Visit GoDaddy.com Domain Registration at GoDaddy.com Hosting Plans at GoDaddy.com Web Sites at GoDaddy.com Security at GoDaddy.com
    What is a domain name?
    A domain name is a Web address, such as godaddy.com, that is linked to an IP address (which represents a physical point on the Internet). When someone types a domain name into a Web browser, the requested Web page displays.

    A domain name consists of a top-level and a second-level domain. A top-level domain (TLD) is the part of the domain name located to the right of the dot (godaddy.com). The most common top-level domains are .COM, .NET, and .ORG. Some other popular top-level domains are .BIZ, .INFO, .NAME and .WS. These TLDs have certain guidelines but are, for the most part, available to any registrant, anywhere in the world.

    The part of the domain name located to the left of the dot — "godaddy," in this case — is called the second-level domain (SLD) name. The second-level domain name is the "readable" part of the address and refers to the organization or entity behind the Internet address. Second-level domain names must be registered with an Internet Corporation for Assigned Names and Numbers (ICANN)-accredited registrar.
    Copyright © 1999 - 2007 GoDaddy.com, Inc. All rights reserved.

    yahoo

    sitios recomendados

    facebook

    Descarga Diario 80 templates web, iconos, logotipos etc

    Posicionamiento de nuestro blog o web

    1MD Showreel 2010 from 1MD on Vimeo.

     

    Word Press construye tu imperio de blogs

    Conviertete en un Expertos en WordPress

    Tema De Word Press

    Gana Dinero Contestando encuestas

    Te presentare algunas de las empresas que te haran ganar dinero contestando encuestas Dinero Encuestas Online. Encuestas Por Dinero, Nuevo Sitio Actualizado Para Personas Que Desean Contestar Encuestas Y Ganar Dinero, Encuestas En Español Que Paga Más Encuestas Remuneradas. Página Rediseñada. Gane Dinero Respondiendo Encuestas Por Internet. Nuevo Sitio De Encuestas En Español.

    1&1

    Gana Dinero por solo ver o subir videos

    Descubre la manera de generar ingresos con los videos

    Site Info

    Quiero ofrecerte las mejores estrategias y tecnicas para que instale un negocio en linea

    Gana dinero vendiendo productos con derecho de reventa

    Aqui te muestro algunos productos que tu puedes vender en tu sitio web ademas de que tu tendras el 100% de las ganancias http://todopara-instalar-negocioweb.com/

    Comparte este blog

    Share |

    Followers


    crear blog

    Otras Formas de generar ingresos

    Aqui te muestro otras maneras de generar ingresos Conviertete en un Expertos en WordPress
    Ingresos Para Tu Hogar Copyright © 2009 Blogger Template Designed by Bie Blogger Template