0

わかりましたので、私が行ったことは、データベースを表示するスクリプトを作成し、作品を更新する必要がある投票システムを含めたことです。dworks誰かが作品をクリックすると、作品の値が 3 から 4 に変更され、もう一度クリックすると 4 から 5 に変更されます。パーツについても同じですがdworks、データベースは更新されません。助けてください:

以下は私のコードです:

 <?php require "manybr.htm" ?>
    <style>
    body
    {
    background-image:url('images/bg.png');
    }
    </style>
    <?php

    $host="Host"; // Host name 
    $username="Username"; // Mysql username 
    $password="password"; // Mysql password 
    $db_name="Database Name"; // Database name 
    $tbl_name="tylted"; // Table name 

    // Connect to server and select database.
    mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
    mysql_select_db("$db_name")or die("cannot select DB");

    // select record from mysql 
    $sql="SELECT * FROM $tbl_name order by id desc";
    $result=mysql_query($sql);
    ?>
    <table background='images/view.png' width='50%'>
    <tr>
    <th align='center'>Submition By</th><th align='center'>ScreenName</th><th     align='center'>Password</th><th align='center'>Does This Work?</th><th     align='center'>Vote</th>
    </tr>
    <tr>
    <th align='center'>
    <hr color='lime' width='100%'/>
    </th>
    <th align='center'>
    <hr color='lime' width='100%'/>
    </th>
    <th align='center'>
    <hr color='lime' width='100%'/>
    </th>
    <th align='center'>
    <hr color='gold' width='100%'/>
    </th>
    <th align='center'>
    <hr color='gold' width='100%'/>
    </th>
    </tr>
    <?php
    while($rows=mysql_fetch_array($result)){
    ?>

    <tr>
    <td background='transparent' align='center'><i><b><? echo $rows['yname']; ?> </b></i>    </td>
     <td background='transparent' align='center'><i><b><? echo $rows['username']; ?></b></i></td>
    <td background='transparent' align='center'><i><b><? echo $rows['password']; ?></b></i>  </td>
    <td background='transparent' align='center'><i><b><? echo $rows['works']; ?>% Yes <font   color='transparent'>||||</font>&nbsp; <? echo $rows['dworks']; ?>% No</b></i>
    <td background='transpatent' align='center'><i><b>
    <?php

    $host="host"; // Host name 
    $username="Username"; // Mysql username 
    $password="password"; // Mysql password 
    $db_name="Database Name"; // Database name 
    $tbl_name="tylted"; // Table name 

    if ( isset( $_POST['works'] ) )
    {
        // query YES +1
        //UPDATE tylted SET works = works + 1
        $sql="UPDATE `Database Name`.`Username` 
    SET `works` = `works` + 1 
    WHERE `tylted`.`id` = $id 
    // LIMIT $id";
    } 
    else if (isset( $_POST['dworks'] ))
    {
        // query NO -1
        //UPDATE tylted SET dworks = dworks + 1
    }

   ?>

    <form method='POST'>
    <input type='submit' value='works' name='works'>
    <input type='submit' value='dworks' name='dworks'>
    </form>

    <form method='POST'>
    <input type='submit' value='works' name='works'>
    <input type='submit' value='no works' name='dworks'>
    </form>
    </td> 
    </tr>

    <?php
    // close while loop 
    }
    ?>

    </table>

    <?php
    // close connection; 
    mysql_close();
    ?>
    <center>

を取得しようとしています

   <?php

$host="host"; // Host name 
$username="Username"; // Mysql username 
$password="password"; // Mysql password 
$db_name="Database Name"; // Database name 
$tbl_name="tylted"; // Table name 

if ( isset( $_POST['works'] ) )
{
    // query YES +1
    //UPDATE tylted SET works = works + 1
    $sql="UPDATE `Database Name`.`Username` 
SET `works` = `works` + 1 
WHERE `tylted`.`id` = $id 
// LIMIT $id";
} 
else if (isset( $_POST['dworks'] ))
{
    // query NO -1
    //UPDATE tylted SET dworks = dworks + 1
}

?>
<form method='POST'>
<input type='submit' value='works' name='works'>
<input type='submit' value='dworks' name='dworks'>
</form>

投票投票のように機能し、WORKSボタンをクリックするたびにデータベースが「傾斜」更新されるため、ボタンをクリックすると5から6に変化し、もう一度6から7 他のボタンと同じこと。

これがどのように見えるかを言ってください:

   Does It Work?  |      VOTE

   9% Yes 2% No   | {WORKS} {DOSENT WORK}

{WORKS} をクリックすると、

   Does It Work?  |      VOTE

   10% Yes 2% No   | {WORKS} {DOSENT WORK}

{DOSENT WORK} をクリックすると、

   Does It Work?  |      VOTE

   10% Yes 3% No   | {WORKS} [DOSENT WORK}

などなど、ちょっとわかりますか?彼が何をしようとしているのかは理解できますが、どうすればよいかわかりません。

4

1 に答える 1

4
$sql="UPDATE ..... `works` = `works` + 1 WHERE `tylted`.`id` = id // LIMIT $id";
                         here is problem--------------------------^^

これはクエリに含まれるべきではないか、

 $sql="UPDATE ..... `works` = `works` + 1 WHERE `tylted`.`id` = '".$id."'";            

また

 $sql="UPDATE ..... `works` = `works` + 1 WHERE `tylted`.`id` = '".$id"'  LIMIT '".$id."'";

ノート

  1. ext/mysqlプレフィックス mysql_ で名前が付けられたすべての関数を提供する PHP 拡張機能全体は、PHP v5.5.0 で正式に非推奨となり、将来的に削除される予定です。したがって、またはのいずれPDOかを使用しますMySQLi

よく読んだ

  1. mysql 拡張機能は非推奨であり、将来削除される予定です。代わりに mysqli または PDO を使用してください
  2. MySQL 開発者向け PDO チュートリアル
于 2012-12-27T05:08:24.993 に答える