php
  • mysql
  • database
  • increment
  • 2014-02-01 4 views -2 likes 
    -2

    Я пробую этот код, но он не работает.Как увеличить значение в базе данных MySQL с помощью PHP?

    Основная проблема заключается в этих переменных или в сценарии, приведенном внизу.

    <?PHP 
        $upVote1 = "UPDATE facerate SET votes = votes + 1 WHERE Picture = '".$idOptain1."'"; 
        $upVote2 = "UPDATE facerate SET votes = votes + 1 WHERE Picture = '".$idOptain2."'"; 
    
        $upIgnore1 = "UPDATE facerate SET ignores = ignores + 1 WHERE Picture = '".$idOptain2."'"; 
        $upIgnore2 = "UPDATE facerate SET ignores = ignores + 1 WHERE Picture = '".$idOptain1."'"; 
        ?> 
    
        <img onClick='renderData1()' src="<?php echo $img1['Picture'] ?>" /> 
        &nbsp; 
        <img onClick='renderData2()' src="<?php echo $img2['Picture'] ?>" /> 
    
        <!-- £££££££££££££££ SCRIPT HERE ££££££££££££££ --> 
        <script> 
    
        function renderData1() 
        { 
        document.write(<?php mysql_query("$update1, $upIgnore1") or die(mysql_error()); ?>); 
        }; 
    
        function renderData2() 
        { 
        document.write(<?php mysql_query("$update2, $upIgnore2") or die(mysql_error()); ?>); 
        }; 
    
        </script> 
    
    +1

    Вы, кажется, правильный синтаксис для 'update' приращения значения. В чем дело? –

    +0

    На самом деле, у меня были настроены изображения, когда кто-то будет нажимать на изображение, изображение будет получать приращение +1 в поле голосов, так что вот код, и когда я нажимаю, база данных не обновляется! – AliveXhd

    +0

    Вы не можете смешивать PHP и JS так. Самым простым решением будет отправка и запрос Ajax скрипту PHP, который выполняет запрос. На данный момент запрос будет выполнен на pageload - не на клике – kero

    ответ

    1

    mysql_query не поддерживает несколько запросов. Вам нужно разбить его на один запрос за звонок.

    1

    Вы должны настроить некоторый запрос Ajax для регистрации голосов пользователей: Это может дать вам некоторое представление о том, как это сделать (с помощью JQuery здесь):

    функцию

    Javascript для выполнения на голосование события нажатия:

    function upvote_picture(id){ 
        $.ajax({ 
         type: 'POST', 
         url: 'vote.php', 
         dataType: 'json', 
         data: { 
          picture_id: id 
         }, 
         success: function (data) { 
          alert(data); 
         } 
        }); 
    } 
    

    vote.php файл:

    <?php 
    // Any error or warning in this script will break JSON response ! 
    
    function send_json($array) 
    { 
        header('Content-Type: application/json; charset=utf-8'); 
        echo json_encode($array); 
        exit(); 
    } 
    
    // Add query execution status variables and messages here 
    $response = array(); 
    
    $id = !empty($_POST['picture_id']) ? $_POST['pciture_id'] : FALSE; 
    
    if($id){ 
    
        // Do you query here 
        if (mysql_query(....)) { 
         $response['success'] = TRUE; 
        } else { 
         $response['success'] = FALSE; 
        } 
    } else { 
        $response['success'] = FALSE; 
    } 
    
    send_json($response); 
    
    ?> 
    
    Смежные вопросы