<!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>
php Изменение данный в базе данных - sql-запрос
Это таблица выводится на странице. Поле Rent выводится как cheсkbox: если в бд значение "yes", то checked='checked', если в бд "No" - галочка не ставится.
Не могу реализовать следующее: когда в таблице, которая выводится на странице, я снимаю галочку с чекбокса, если она там стоит, то в базе данных в при соответствующем id менялось значение поля Rent на No. И, естаственно, если в пустом чекбоксе (раз пусто, значит в бд rent=No) ставлю галочку, то Rent принимает значение Yes.
Код:
Таблица, что выводится:
Код:
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 "'>";}
echo"checked='checked' onclick ='";
$sql="UPDATE ps_map SET Rent = 'No' WHERE id='".$_POST['id']."', Name='".$_POST['Name']."' LIMIT 1 ;"; //пишу запрос, но он не срабатывает =(
echo "'>";}
Цитата: 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 "'>";}
echo"checked='checked' onclick ='";
$sql="UPDATE ps_map SET Rent = 'No' WHERE id='".$_POST['id']."', Name='".$_POST['Name']."' LIMIT 1 ;"; //пишу запрос, но он не срабатывает =(
echo "'>";}
А как прописать так, чтобы срабатывало?
AJAX.
Например, использовать
А не могли бы вы написать пример того, что должно там быть?
Я никогда с ajax не работала и не представляю как и что там должно выглядеть.
Начни с того, что enum значения Yes и No не равны значениям yes и no, и у чекбоксов вообще нет таких состояний. Состояния нужно назначать при сериализации до отправки данных формы.