• Diseño Web a Medida

    Sabemos que hoy en día estar en Internet es importante no solo para las empresas sino para diferentes profesionales, por lo que el compromiso con nuestros clientes es ofreces un servicio de desarrollo que se ajuste a sus necesidades.

  • Posicionamiento en Buscadores

    Encontrarse entre los primeros resultados de búsquedas es uno de los factores mas importantes en la web de hoy en día, por esto mismo realizamos estrategias de posicionamiento para garantizarle su lugar en los buscadores.

  • Comunicación Estratégica

    Logramos comunicar a diferentes personas un mensaje elaborado estratégicamente para ofrecer como resultado una fidelización pura en sus clientes y atraer a aquellos que antes no estaban comprometidos con usted.

  • Diseño Multimedia

    Estamos acostumbrados a percibir mas las cosas si se nos la presentan de forma visual y grafica por lo que la animación y las presentaciones generan mayor impacto. Nuestro servicio de diseño multimedia pretende brindar esta solución.

  • Diseño Grafico y Publicitario

    Si bien hoy en día las herramientas digitales tienden cada vez mas a separarnos de las formas tradicionales, no podemos dejar de lado, comunicación personal y tangible por eso ofrecemos elementos de diseño grafico y publicitario.

Nuevamente queremos compartir un peque帽o sistema en esta ocasi贸n de valoraci贸n con PHP sin utilizar Base de Datos. En el mismo se pueden asignar diferentes tipos de objetos, im谩genes videos, notas u otra opci贸n a valorar, solo es necesario incluir en el archivo que cumplir谩 el rol de DB, un registro.

Sistema de Valoraci贸n con PHP sin Base de Datos

Para lograr esto solo necesitamos abrir el archivo y agregar la siguiente l铆nea:

  1. // Ejemplo:
  2. 3 (Valor de ID) & 0 (Cantidad de Votos) & 0 (Suma de Valores)
  3.  
  4. // El siguiente caso quedar铆a de la siguiente manera
  5. '3&0&0'

Luego para realizar las valoraciones o bien para cargarlas llamamos a la funci贸n de la siguiente forma:

  1. <?php
  2.  /* Para realizar la valoraci贸n */
  3.  echo Valorar('Valorar', /* ID que queremos valorar */, /* Valor Asignado */);
  4.  
  5.  /* 脷nicamente para mostrar los valores */
  6.  echo Valorar('Cargar', /* ID que queremos cargar */, NULL);
  7. ?>

Dicha funci贸n la pueden observar a continuaci贸n, la misma esta explicada paso a paso en sus l铆neas de comentarios.

  1. <?php
  2.  
  3.  function Valorar($Accion, $ID, $Valor){
  4.  
  5.   /* Corroboramos que los valores de ACCION y ID est茅n definidos */
  6.   if($Accion != NULL or $Accion != '' and $ID != NULL or $ID != ''){  
  7.      
  8.    /* Nombre del Archivo que contiene los valores */
  9.    $Archivo = "db.txt";
  10.    
  11.    /* Cargamos el Archivo */
  12.    $Apertura = fopen($Archivo, "r");
  13.      
  14.    /* Exploramos el contenido del Archivo */
  15.    $Lectura = fread($Apertura, filesize ($Archivo));
  16.    
  17.    /* Cerramos la lectura del Archivo */
  18.    fclose($Apertura);
  19.      
  20.    /* Separamos el contenido por el s铆mbolo "|" */
  21.    $Registros = explode("|", $Lectura);  
  22.    
  23.    /* Exploramos cada uno de los registro en busca del que necesitamos */
  24.    foreach($Registros as $Registro){
  25.    
  26.     /* Separamos cada uno de los registros s铆mbolo "&" */
  27.     $Busqueda = explode("&", $Registro);
  28.    
  29.     /* Si algunos de los ID del registro es igual que el ID especificado detenemos la b煤squeda */
  30.     if($Busqueda[0] == $ID){
  31.      $Resultado = true;
  32.      break;
  33.     }
  34.    }
  35.    
  36.    /* Si el ID especificado no existe detiene el Proceso */
  37.    if(!$Resultado){
  38.     return;
  39.    }
  40.    
  41.    /* Si se especifico como acci贸n CARGAR solamente mostramos el porcentaje */
  42.    if($Accion == 'Cargar'){
  43.    
  44.     /* Devolvemos el porcentaje redondeado */
  45.     return @round($Busqueda[2] / $Busqueda[1]);
  46.    }
  47.    
  48.    /* Si se especifico como acci贸n VALORAR realizamos el proceso de valoraci贸n */
  49.    if($Accion == 'Valorar'){
  50.  
  51.     /* Si VALOR no esta definido cuando se especifica la acci贸n VALORAR se detiene el Proceso */
  52.     if($Valor == NULL or $Valor == ''){
  53.      return;
  54.     }
  55.    
  56.     /* Si el Entero de VALOR es mayor a 10 o menos que 0 los definimos autom谩ticamente */
  57.     if($Valor > 10){
  58.      $Valor = 10;
  59.     }
  60.     else if($Valor < 1){
  61.      $Valor = 1;
  62.     }
  63.    
  64.     /* Comprobamos si ya se realizo una votaci贸n en un periodo de 7 d铆as */
  65.     if ($_COOKIE['Voto_'.$ID] != $ID){
  66.      
  67.      /* Ceramos una Cookie con el valor del ID que se valoro */
  68.      setcookie('Voto_'.$ID, $ID, time() + 25200);
  69.      
  70.      /* Definimos los valores que se almacenaran en el archivo */
  71.      $Registro_Modificado = $ID.'&'.($Busqueda[1] + 1).'&'.($Busqueda[2] + $Valor);
  72.  
  73.      /* Nuevamente exploramos los registros */    
  74.      foreach($Registros as $Registro){    
  75.      
  76.       /* Si alguno de los registros es igual al que deseamos modificar lo remplazamos por los nuevos valores caso contrario lo dejamos como se encontraba */
  77.       if(trim($Registro) == $ID.'&'.$Busqueda[1].'&'.$Busqueda[2]){
  78.        $File .= $Registro_Modificado.'|';
  79.       }
  80.       else{
  81.        $File .= $Registro.'|';
  82.       }
  83.      }
  84.      
  85.      /* Si al finalizar la exploraci贸n el contenido del archivo tiene al fina el car谩cter "|" lo eliminamos */
  86.      if(substr($File, -1, 1) == '|'){
  87.       $File = substr($File, 0, -1);
  88.      }
  89.      
  90.      /* Nuevamente abrimos el archivo en modo Escritura */
  91.      $Apertura = fopen($Archivo, 'w');
  92.      
  93.      /* Guardamos las modificaciones de los Valores */
  94.      $Gurdado = fputs($Apertura, $File);
  95.      
  96.      /* Cerramos la lectura del Archivo */
  97.      fclose($Apertura);
  98.      
  99.      /* Devolvemos el nuevo porcentaje redondeado */
  100.      return @round(($Busqueda[2] + $Valor) / ($Busqueda[1] + 1));    
  101.     }  
  102.    }
  103.   }
  104.  }
  105.  
  106. ?>

NOTA: Si deseas probar este tutorial te recomendamos sustituir la siguiente l铆nea hasta que hayas realizado todas las pruebas, Lugo vu茅lvela a modificar como se encontraba:

  1. /* Sustituir esta l铆nea */
  2. if ($_COOKIE['Voto_'.$ID] != $ID){
  3.  
  4. /* Por esta otra */
  5. if (true){

Como vemos es un ejemplo sencillo, aunque su extensas l铆neas de programaci贸n parece no decir lo mismo pero luego de analizarlo se puede comprender.

Se pueden descargar los archivos de este tutorial desde aqu铆.

Los archivos del tutorial incluyen un ejemplo practico, cualquier duda o comentario pueden hacerlo en esta publicaci贸n.

Comentarios

Un Comentario en esta Publicación
Ahora podes dar valor a nuestros trabajos | Ameva Blog - Desarrollo Web, Dise帽o Interactivo y Presentaciones Multimedia - C贸rdoba, Argentina Dijo:

[...] de publicar el

minitutorial sobre el desarrollo de un Sistema de Valoraci贸n con PHP sin utilizar Base de

Datos Decidimos que seria muy buena opci贸n incorporar dicho sistema (con sus modificaciones

[...]

Publicar un Comentario

Utilice le siguiente formulario para publicar sus comentarios.

COMENTAR

  • También puede encontrarnos en
  • Artículos Relacionados

  • Subscríbase al boletín de noticias

    Subscríbase al boletín de noticias ingresando su dirección de correo

    OK
  • Categor铆as

  • Gestionado con Wordpress.
    Puede subscribirse al boletín de noticias o también al boletín de comentarios.

  • Acerca de Ameva

    Con la iniciativa de trabajar, ofreciendo a nuestros clientes herramientas y servicios que sean de beneficio y productividad para sus negocios, nace Ameva Comunicación Digital.
    Con las expectativas de que nuestro trabajo sea aprovechado, dedicamos todo nuestro empeño en desarrollar cada uno de los desafíos propuestos, para lograr... su éxito, nuestra meta.

    Ameva, Creative Commons | ameva [arroba] ameva.com.ar | (0351) 153617751 | Córdoba, Argentina