Обновление с текущим содержимым PHP MySQL

#php #mysql

#php #mysql

Вопрос:

Мне нужно добавить данные к данным, которые уже есть в таблице.Что мне нужно знать, так это как добавлять, но я не хочу получать данные, манипулировать ими (добавлять), а затем обновлять.

Как данные = Данные новые данные

Комментарии:

1. Уточните свой вопрос — то, что вы только что написали, — это куча странностей…

2. Ваш вопрос не ясен. Перефразируйте.

3. Вы хотите добавить строку к текущему значению определенного поля?

Ответ №1:

При ОБНОВЛЕНИИ используйте описанную здесь функцию CONCAT MySQL .

Пример:

 UPDATE table SET row = concat(row,'data to add') WHERE 

Ответ №2:

Вам не нужно получать данные в строке перед обновлением, просто обновите столбец, который вам нужен.

http://www.w3schools.com/php/php_mysql_update.asp

Ответ №3:

Если я правильно понимаю, вам нужен способ выполнить оператор sql, который ОБНОВЛЯЕТ или ВСТАВЛЯЕТ данные в один оператор.

Вы можете использовать REPLACE INTO или НА ДУБЛИРУЮЩЕМ КЛЮЧЕ в своем заявлении:

 REPLACE INTO FOO(ID,BAR) VALUES('1','BAR')
  

или

 INSERT INTO FOO (ID, BAR) VALUES(1,'BAR1'),(3,'BAR2') ON DUPLICATE KEY UPDATE BAR=VALUES(BAR)
  

Ответ №4:

Ну, сначала вам нужно подключиться. Ваш вопрос не ясен, поэтому здесь ‘$’

 <?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>
  

и если вы имеете в виду, что нужный вам контент уже находится на этой странице, вы можете сделать это
mysql_connect(«$host», «$username», «$password») или die(«не удается подключиться»);
mysql_select_db(«$db_name»)или die(«невозможно выбрать DB»);

 <?
$sql="select * FROM `clients` where id = '".$id."' ORDER BY `id` DESC  LIMIT 50;";
$row=mysql_query($sql) or die(mysql_error());
?> 
<?php 
while ($row = mysql_fetch_assoc($row)) { 
?> 

       <h3> ID:</h3> <? echo $row["id"]; ?>
         <hr>
         <hr>
         <h3> Date and time: </h3> <? echo $row["dt"]; ?>
         <hr>
         <h3> Name: </h3> <? echo $row["name"]; ?>
         <hr>
        <h3> Contact: </h3>   <? echo $row["contact"]; ?>
         <hr>
        <h3> Notes:  </h3>   <? echo $row["note"]; ?>
         <hr>
     <h3>    Our Comment:   </h3>    <? echo $row["comment"]; ?>
            <hr>
            <h3>Contacted:</h3>
            <?
            $boolval = $row["called"];
            if ($boolval == 1)
            {echo "Customer has been called";}
            else
            {echo "Customer has not been called";}


            ?>

<?php 

}; 
?> 
  

Мотыга, это помогает

Ответ №5:

Похоже, вам нужна модель базы данных, чтобы сделать что-то подобное:

$Model = db_table::fetch_by_id($id);

$Model->Name = ‘новое имя’;

$Model->update();

Я использовал пользовательские модели баз данных для этого раньше, но я не знаю ничего родного для PHP, которое поддерживало бы это.

Под капотом это, по сути, делает это:

 SELECT * FROM Google.Users WHERE id = '23';

//Your php business logic here\

UPDATE Google.Users SET name='new name' WHERE id='23';
  

Ответ №6:

Хорошо, так что, если вы хотите добавить что-то, вот как вы это делаете. Для строк, т.Е. Текста;

 <?php
$a = "Hello ";
$b = $a . "World!"; // now $b contains "Hello World!"

$a = "Hello ";
$a .= "World!";     // now $a contains "Hello World!"
?>
  

Для чисел, скажем, у вас есть 2 в качестве текущего значения, а 4 — это новое значение

 <?php
$current=2;
$new=4;
$current  = $new; // now current is 6 as we added the 4 to it. 
?>
  

Чтобы добавить его в свою базу данных, вы просто вставляете его

 INSERT INTO TABLE (ID) VALUES($current);
//OR if you're form posts and/or gets to your php page.
$sql="INSERT INTO Tabel (new number, current number)
VALUES
('$_POST[numbernew]','$_POST[numberold]')";