2014-01-24 2 views
0

Я хочу ввести данные в свой mysql db, но в определенную строку, когда пользователь вводит число и нажимает кнопку. Например, если пользователь вошел в систему, он называется «пользователь», тогда вводимые данные будут попадать в столбец с именем «билет», который находится в той же строке, что и имя пользователя «пользователь».Вставить в конкретный столбец mysql php

Я написал код для того, чтобы идти в дб, но в новой строке:

Код для страницы, какой пользователь вводит данные:

<?php require('check.php')?> 
<html> 
<head> 
<title><?php echo $row['username']; ?> Profile</title> 
</head> 
<body> 
<p style="float: right"><a href="logout.php">LOG OUT</a></p> 
<?php 
include ('connect.php'); 

$user_id= $_SESSION['id']; 
$sql = "SELECT username FROM user WHERE user_id = '$user_id'"; 

$result = mysql_query($sql) or die('Query failed. ' . mysql_error()); 
$uname = mysql_fetch_array($result); 

$user_id= $_SESSION['id']; 
$sql = "SELECT email FROM user WHERE user_id = '$user_id'"; 

$result = mysql_query($sql) or die('Query failed. ' . mysql_error()); 
$uemail = mysql_fetch_array($result); 

echo "Hello" . " " . $uname['username']; 
?> 


      <h1>Choose ticket Amount</h1> 
      <hr /> 
      <form method="post" action="addticket.php"> 
      <label for="elliegoulding">Ellie Goulding Ticket Amount: </label> 
      <input type="text" name="elliegoulding" max="3" maxlength="3" /><br /> 
      <br /> 
      <input type="submit" value="Add ticket"/> 
      <br /> 
      <hr /> 
      <div id="footer"> 
      </div> 
     </form> 



</body> 
</html> 

Код для PHP-страницу, которая обрабатывает информацию и добавляется к db:

<?php 
$elliegoulding = $_REQUEST["elliegoulding"]; 


$linkme = mysql_connect("mysql.cms.gre.ac.uk","ta210","*****"); 
if (!$linkme) 
    die ("Could not connect to database"); 
mysql_select_db("mdb_ta210", $linkme); 

$query = "INSERT INTO user (ticket) VALUES ('$elliegoulding, Ellie Goulding Tickets')"; 
mysql_query ($query, $linkme) 
    or die ("Ticket purchase failed."); 

echo ("You have just bought $elliegoulding Ellie Goulding tickets"); 

mysql_close($linkme); 
?> 

Как я уже сказал, приведенный выше код работает и вводит его в базу данных, но только в новую строку. Любая помощь или предложения были бы замечательными.

+0

Возможный дубликат [Как добавить новый столбец в таблицу MYSQL] (http://stackoverflow.com/questions/16113570/how-to-add-new-column-to-mysql-table) –

ответ

2

INSERT добавит только новую строку, и вы этого не хотите. Вам нужно ОБНОВИТЬ строку.

Что-то вдоль линии ...:

$query = 'UPDATE user SET ticket="Ellie Goulding rocks!" WHERE username="'.$user.'"'; 

Убедитесь, что имя пользователя является уникальным (не может иметь 2 «Pierre» в базе данных или оба пользователя будут обновлены).

+1

Это вызовет ошибка, кстати. –

+1

О да, конечно. Благодарю. – StephaneMombuleau

Смежные вопросы