Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

php Изменение данный в базе данных - sql-запрос

88K
08 апреля 2013 года
AssVolt
4 / / 08.04.2013
Есть таблица в базе данных, в ней только три поля: id, Name, Rent. Поле Rent принимает только два значения: Yes/No.
Это таблица выводится на странице. Поле Rent выводится как cheсkbox: если в бд значение "yes", то checked='checked', если в бд "No" - галочка не ставится.
Не могу реализовать следующее: когда в таблице, которая выводится на странице, я снимаю галочку с чекбокса, если она там стоит, то в базе данных в при соответствующем id менялось значение поля Rent на No. И, естаственно, если в пустом чекбоксе (раз пусто, значит в бд rent=No) ставлю галочку, то Rent принимает значение Yes.

Код:
<!DOCTYPE HTML>
<html><head>   <meta http-equiv="Content-type" content = "text/html; charset=utf-8">    <title>Spisok</title></head><body>
<?php
$dbhost = "localhost";$dbuser = "a"; $dbpassword = "q";$dbname = "is";
$link = mysql_connect($dbhost, $dbuser, $dbpassword);
mysql_select_db($dbname, $link);
$query = mysql_query("SELECT *  FROM  `ps_map`");
if($query == false) { die("error");}
echo "<table border='1' align='center' width=300><tr><th>id</th><th>Name</th><th>Rent</th></tr>";
while($row = mysql_fetch_array($query))
    {  echo "<tr>
                <td>{$row['0']}</td>
                <td>{$row['1']}</td>
                <td> <input id='ch' name='box' type='checkbox'
                   value='Oplata'";
                   if($row[2] == 'Yes'){
                   echo"checked='checked' onclick ='";
                                        $sql="UPDATE ps_map SET Rent = 'No' WHERE id='".$_POST['id']."', Name='".$_POST['Name']."' LIMIT 1 ;"; //пишу запрос, но он не срабатывает =(
              echo "'>";}

                   if($row[2] == 'No') {
                        echo "onclick ='";
                                        $sql="UPDATE ps_map SET  Rent = 'Yes' WHERE id='".$_POST['id']."',  Name='".$_POST['Name']."' LIMIT 1 ;";
              echo "'>";}
                 echo"{$row['2']}</td>
                </tr>";
 }
?></body></html>
88K
08 апреля 2013 года
AssVolt
4 / / 08.04.2013
Таблица, что выводится:


В базе данных:
20K
08 апреля 2013 года
ellor!
198 / / 24.05.2012
Событию "onclick" в коде ничего не присваивается, поэтому ничего не происходит.
 
Код:
if($row[2] == 'Yes'){
  echo"checked='checked' onclick ='";
  $sql="UPDATE ps_map SET Rent = 'No' WHERE id='".$_POST['id']."', Name='".$_POST['Name']."' LIMIT 1 ;"; //пишу запрос, но он не срабатывает =(
  echo "'>";}
88K
08 апреля 2013 года
AssVolt
4 / / 08.04.2013
Цитата: ellor!
Событию "onclick" в коде ничего не присваивается, поэтому ничего не происходит.
 
Код:
if($row[2] == 'Yes'){
  echo"checked='checked' onclick ='";
  $sql="UPDATE ps_map SET Rent = 'No' WHERE id='".$_POST['id']."', Name='".$_POST['Name']."' LIMIT 1 ;"; //пишу запрос, но он не срабатывает =(
  echo "'>";}



А как прописать так, чтобы срабатывало?

20K
08 апреля 2013 года
ellor!
198 / / 24.05.2012
Например, использовать AJAX.
88K
08 апреля 2013 года
AssVolt
4 / / 08.04.2013
Цитата: ellor!
Например, использовать AJAX.


А не могли бы вы написать пример того, что должно там быть?
Я никогда с ajax не работала и не представляю как и что там должно выглядеть.

8
08 апреля 2013 года
mfender
3.5K / / 15.06.2005
Такое месиво, что даже советовать что-то лень.
Начни с того, что enum значения Yes и No не равны значениям yes и no, и у чекбоксов вообще нет таких состояний. Состояния нужно назначать при сериализации до отправки данных формы.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог