За последние 24 часа нас посетили 17978 программистов и 1280 роботов. Сейчас ищут 1544 программиста ...

Update старыми+новыми данными

Тема в разделе "PHP и базы данных", создана пользователем mityaj, 28 апр 2012.

  1. mityaj

    mityaj Активный пользователь

    С нами с:
    25 апр 2012
    Сообщения:
    8
    Симпатии:
    0
    Нужно, чтобы один запрос изъял данные из ячейки, а другой запрос обновил ячейку этими данными + теми, что введены в форме.
    Код (Text):
    1. $sql="SELECT data FROM cards WHERE card_number='".$_POST['card_number']."'";
    2. $query=mysql_query($sql);
    3. $res=mysql_fetch_array($query);
    4. $d=$res['data'];
    5.  
    6.  
    7. $sql="UPDATE cards SET data=$d+'".$_POST['card_number']."' WHERE card_number='".$_POST['card_number']."'";
    8. $query=mysql_query($sql);
    Переменная $d есть, думаю ошибка в суммировании переменных.
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    UPDATE `cards` SET `data`=`data`+'".$_POST['card_number']."' WHERE
     
  3. mityaj

    mityaj Активный пользователь

    С нами с:
    25 апр 2012
    Сообщения:
    8
    Симпатии:
    0
    так не получается
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    должно

    Добавлено спустя 20 секунд:
    что значит "не получается"? какая ошибка? в чем? где?
     
  5. mityaj

    mityaj Активный пользователь

    С нами с:
    25 апр 2012
    Сообщения:
    8
    Симпатии:
    0
    Cам не пойму
    ВОт код всей страницы

    Код (Text):
    1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    2. <html xmlns="http://www.w3.org/1999/xhtml">
    3. <head>
    4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    5. <script>
    6. function res()
    7.  {
    8.   document.forms.create_tt.reset();
    9.  }
    10. </script>
    11. <title>Составление расписания врачей</title>
    12. <link rel="icon" href="../images/shortcut.ico">
    13. <link href="../style.css" rel="stylesheet" type="text/css" />
    14. </head>
    15.  
    16. <body onLoad="res()" onUnload="res()">
    17. <h1 align="center">Добавление записи в мед карту</h1>
    18. <form id="create_tt" name="create_tt" method="post" action="">
    19.     <table style="width:90%" align="center" class="form_add_rec" cellpadding="0" cellspacing="0">
    20.     <tr><th id="form_title" colspan="2">Введите запись мед карты</th></tr>
    21.     <tr><th><label>Номер мед карты</label></th>
    22.     <td><input name="card_number" type="text" size="30" maxlength="12" /></td></tr>
    23.     <tr><th><label>Запись</label></th>
    24.     <td height="150px"><textarea name="data" cols="55" rows="6"></textarea></td></tr>
    25.     <tr><th colspan="2" id="form_footer"></th></tr>
    26.     </table>
    27.     <div class="form_buttons"><input name="send" type="submit" value="Отправить"/>
    28.     <input type="reset" value="Сбросить"/>
    29.     <input type="button" value="Отмена" onclick="window.close()"/>
    30.     </div>
    31. </form>
    32. <?php
    33. $hostname='localhost';
    34. $username='root';
    35. $password='';
    36.  
    37. $con=mysql_connect($hostname, $username, $password);
    38. if(isset($_POST['send']))
    39. {
    40. if (!$con)
    41. {
    42.     die('Could not connect: ' . mysql_error());
    43.   }
    44. $dbname='db';
    45.  
    46. mysql_select_db($dbname) or die (mysql_error());
    47.  
    48. $sql="UPDATE 'cards' SET 'data'='data'+'".$_POST['card_number']."' WHERE card_number='".$_POST['card_number']."'";
    49.  
    50. if (isset($_POST['card_number'])) {$card_number = $_POST['card_number']; if ($card_number == '') {unset($card_number);}}
    51. if (isset($_POST['data'])) {$data = $_POST['data']; if ($data == '') {unset($data);}}
    52.  
    53.  
    54. if (isset($card_number) && isset($data))
    55. {
    56.    
    57.     mysql_query($sql, $con);
    58.     echo '<script type="text/javascript">
    59.     window.alert("Запись мед карты добавлена")
    60.     </script>';
    61.    
    62.    
    63. }
    64. else
    65. {
    66.     echo '<script type="text/javascript">
    67.     window.alert("Не все регистрационные данные были введены")
    68.     </script>';
    69. }
    70.  
    71. mysql_close();
    72. }
    73. ?>
    74.  
    75. </div>
    76. </body>
    77. </html>
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    зачем код?
    ты попробовал как я сказал? =)
     
  7. mityaj

    mityaj Активный пользователь

    С нами с:
    25 апр 2012
    Сообщения:
    8
    Симпатии:
    0
    да, я ж говорю не получается. в базу ничего не добавляет. а код скинул, чтоб вдно было есть ли ошибки
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    названия таблиц и полей пишутся в обратных кавычках `
    значения полей пишутся в одинарных кавычках ' или двойных " или без

    =)
     
  9. mityaj

    mityaj Активный пользователь

    С нами с:
    25 апр 2012
    Сообщения:
    8
    Симпатии:
    0
    вот такой запрос без ошибок, но почему то дает 0
    echo $_POST['data'] дает нормальный результат, а вот когда именно в sql сумма дает 0.
    Код (Text):
    1. $sql="UPDATE `cards` SET `data`='".$d."'+'".$_POST['data']."' WHERE `card_number`='".$_POST['card_number']."'";
     
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    сам собраный запрос перед отправкой посмотри