2011-10-22 72 views
1

你好,我有一個PHP的PHP表格一切工作正常,我剛剛已經展示瞭如何從本網站做隱藏的領域。在mysql中獲取錯誤的結果?

我有一個提交按鈕,每個結果讓用戶選擇他們想要的。當他們按下提交按鈕時,我想要將信息提交併添加到數據庫中。但由於某些原因,當用戶點擊第1項提交時,它會將最後一項添加到數據庫中,例如第6項?所以有6個結果和每個提交按鈕6個按鈕。當用戶按下第一個項目的提交時,它提交了一些resson的編號6。

<form method="post" action="buydo.php"> 
       <label><br /> 
       <br /> 
       </label> 
       <p> 


       <?php 
    $sql = "SELECT * FROM sell 
      ORDER BY Pokemon_level ASC"; 
    $res = mysql_query($sql) or die(mysql_error()); 

     while ($v = mysql_fetch_array($res)) { 
      echo ' 
       <div class="auction_box"> 
       <img src="http://myrpg.net/new_rpg/'.$v['Pokemon_pic'].'" width="100" height="100"><br/> 
       &pound;'.$v['price'].'<br/> 
       <label id="pokemonName'.$v['id'].'">'.$v['pokemon_name'].'</label><br/> 


       <label>Level '.$v['Pokemon_level'].'</level><br/> 
       <label>Exp '.$v['exp'].'</level><br/> 
       <label>Time Left:'; 

       echo '</label> 
       <br/> 
       <input type="hidden" name="Name" value="'.$v['pokemon_name'].'"> 
       <input type="hidden" name="level" value="'.$v['Pokemon_level'].'"> 
       <input type="hidden" name="vid" value="'.$v['id'].'"> 
       <input type="hidden" name="price" value="'.$v['price'].'"> 
       <input type="hidden" name="exp" value="'.$v['exp'].'"> 


       <input type="submit" id="'.$v['id'].'" class="buy_submit" value="Buy Now" /> </div>'; 
     } 

?> 



       &nbsp;</p> 
       <p>&nbsp;</p> 
       </form> 

這是選擇與每個結果提交按鈕。 然後我插入他們選擇的信息。

include 'config.php'; 
session_start() ; 

$name = mysql_real_escape_string($_POST['Name']); 
$Pokemon_level = mysql_real_escape_string($_POST['level']); 
$idofpokemonsell = mysql_real_escape_string($_POST['vid']); 
$price = mysql_real_escape_string($_POST['price']); 
$exp = mysql_real_escape_string($_POST['exp']); 


    $sql = "SELECT * FROM `users` WHERE `username` = '" . $_SESSION['username'] . "'"; 
    $result = mysql_query($sql) or die(mysql_error()); 
    $values = mysql_fetch_array($result); 


echo $values['money'] ; 




if ($values['money'] == $price) { 
    echo "Give them the pokemon yay"; 
} 



if ($values['money'] > $price) { 

mysql_query("INSERT INTO `user_pokemon` (`pokemon`, `belongsto`, `exp`, `slot`, `level`) VALUES ('$name','" . $_SESSION['username'] . "','$exp','0','$Pokemon_level')") or die(mysql_error()); 

    echo "Your money is over"; 
} 

就像我說的插入僅如果u按第1項插入項目6無論 - 5它插入6級,EXP,名都項目6

+0

所有的錢都是屬於我們...... – wildplasser

回答

3

的既然你以某種形式顯示所有,最新的值覆蓋了較早的值。嘗試通過移動<form></form>標籤while循環內

+0

會嘗試,現在由於 – user1008843

+0

由於該做的工作將標誌着這個具有正確的,當它讓我再次:)快樂 – user1008843

+0

感謝幫助。我很高興它爲你工作 –

0

使每個項目自身的形式或嘗試跟蹤與jQuery的點擊按鈕的ID,並填寫一個隱藏字段與點擊的ID

0

這是因爲你的HTML是錯誤。該值會被覆蓋

基本上,你必須選擇:

  • 呈現形式,爲每個項目
  • 有一個下拉或單選按鈕做

不同,需要第二個選項重寫你的代碼更多,但如果你問我,它會更優雅。那麼你需要做什麼。

  1. 移動提交按鈕圈外
  2. 只有生成的ID和標籤這樣的代碼: <option value="'.$v['id'].'"/>YOUR LABEL</option>
  3. 當提交表單時,你要檢索對應於您提交的值ID