Mysql
 sql >> база данни >  >> RDS >> Mysql

Актуализирайте данните в mysql база данни, като щракнете върху връзка

HTML

<form method="post" action="/vote.php">
  <input type="hidden" name="item" value="999">
  <input type="submit" name="submit" value="Vote Up">
</form>

PHP - vote.php

<?php
if( !isset( $_POST['item'] ) ) {
  header( 'HTTP/1.0 404 Not Found' );
  die( '<html><body>Missing <i>item</i> parameter</body></html>' );
}
$item = (int) $_POST['item'];
if( @mysql_query( "UPDATE `items` SET `vote`=`vote`+1 WHERE `id`=$item" ) ) {
  if( isset( $_POST['format'] ) && $_POST['format']=='json' )
    die( json_encode( array( 'result'=>true ) ) );
  die( '<html><body>Score for item #'.$item.' incremented</body></html>' );
}
header( 'HTTP/1.1 500 Internal Server Error' );
if( isset( $_POST['format'] ) && $_POST['format']=='json' )
    die( json_encode( array( 'result'=>false ) ) );
die( '<html><body>Score for item #'.$item.' FAILED to incremented</body></html>' );

jQuery

$( document ).ready( function() {
  $( 'form[action="/vote.php"]' ).each( function() {
    $( this ).replaceWith( '<span class="vote" parameter="item='+$( this ).find( 'input[name="item"]' ).attr( 'value' )+'">Vote Up</span>' );
  } );
  $( 'span[class="vote"]' ).click( function() {
    var $this = $( this );
    $.ajax( {
      type     : 'POST' ,
      url      : '/vote.php' ,
      data     : $( this ).attr( 'parameter' )+'&format=json' ,
      dataType : 'json' ,
      success  : function( data , status , XHR ) {
        if( data.result===true )
          alert( 'Voted Up' );
        else
          alert( 'Something Unexpected Borked' );
      } ,
      error    : function( XHR , status , error ) {
        alert( 'Something Borked' );
      }
    } );
  } );
} );

Забележка: Това е непроверено решение, но бих сметнал за отправна точка за започване на отстраняване на грешки и тестване.

АКТУАЛИЗИРАНО: Променено поведението на POST въз основа на съвет от @Artefacto.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да изоставам колоните в MySQL?

  2. mysql:използвайте SET или много колони?

  3. как да получа стойности от квадратчето за отметка и да го предам на друга jsp страница?

  4. Как да добавите 1 към стойността на колона от съществуващ ред в mysql

  5. Laravel 5.5 Грешка Базовата таблица или изглед вече съществува:1050 Таблица „потребители“ вече съществува