php로 쿼리로 값넘기는 문제.
본문
안녕하세요 냉장고 관리하는 php페이지를 만드려고 하는데
필드로 입력받은 이름값을 기준으로 삭제하려고 하는데 delete기능이 작동을 안하네요..
DELETE FROM `ZIPEL` WHERE name = '멸치'
이런식으로 쿼리문을 작동시키면 정상적으로 되는데
$sql1 = "DELETE FROM `ZIPEL` WHERE name = '('name')' ";
$sql1 .= "('$name1')";
이렇게 하니 작동을 안하네요..
<?
$connect=mysql_connect("localhost","g1","111");
$db_con=mysql_select_db("g1", $connect);
$sql="select *from ZIPEL";
$result = mysql_query($sql,$connect);
mysql_query("set session character_set_connection=utf8;");
mysql_query("set session character_set_results=utf8;");
mysql_query("set session character_set_client=utf8;");
$fields=mysql_num_fields($result);
if($mode=="insert")
{
$sql = "INSERT INTO `g1`.`ZIPEL` (`group`, `name`, `value`, `indate`, `duedate`, ` expdate`) VALUES";
$sql .= "('$group', '$name', '$value', '$indate', '$duedate', '$expdate')";
mysql_query($sql);
}
if($mode1=="delete")
{
$sql1 = "DELETE FROM `ZIPEL` WHERE name = '('name')' ";
$sql1 .= "('$name1')";
mysql_query($sql1);
}
?>
<head>
<title> 냉장고</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<p> </p>
<center>
<h2>냉장고</h2>
<p> </p>
</center>
<center>
<table width=1000 border=0 cellspaceing=1 cellpadding=3 bgcolor=#cccccc>
<tr>
<form action=<? echo $PHP_SELF ?> method='post'>
<td width="1000" height="95" bgcolor=beige>
<center>
<p>그룹<input name=group type = text size="5" maxlength="5">
이름 <input name=name type = text size="5" maxlength="10">
수량 <input name=value type = int(11) size="2" maxlength="2">
입고일 <input name=indate type = text size="5" maxlength="5">
유통기한 <input name=duedate type = text size="5" maxlength="5">
예상일 <input name=expdate type = text size="5" maxlength="5" />
<input type=submit value="추가" />
<input type="button" name="버튼" value="새로고침"onclick="location.href='http://'";>
<input type=hidden name=mode value='insert'>
</p>
</center></td>
</tr>
</table>
</center>
<center>
<table width=1000 border=0 cellspaceing=1 cellpadding=3 bgcolor=#cccccc>
<tr>
<td width="1000" height="95" bgcolor=beige>
<center>
<p>이름 <input name=name1 type = text size="5" maxlength="10"/>
<input type=submit value="삭제" />
<input type=hidden name=mode1 value='delete'>
</p>
</center></td>
</form>
</tr>
</table>
</center>
<center>
<p> </p>
<table width=700 border = 1 cellpadding=10>
<tr>
<td width="200"bgcolor=lightgray align=center>그룹</td>
<td width="200" align=center bgcolor=lightgray>이름</td>
<td width="100" align=center bgcolor=lightgray>수량</td>
<td width="200"bgcolor=lightgray align=center>입고일</td>
<td width="200"bgcolor=lightgray align=center>유통기한</td>
<td width="200"bgcolor=lightgray align=center>예상일</td>
</tr>
<?
while ($row=mysql_fetch_row($result))
{
echo("<tr>");
for ($i=0; $i < $fields; $i++)
{
echo("<td> $row[$i] </td>");
}
echo("</tr>");
}
mysql_close();
?>
</table>
</center>
답변 1
if ( $mode1 == "delete" ) |
022 | { |
023 | $sql1 = "DELETE FROM `ZIPEL` WHERE name = '('name')' " ; |
024 | $sql1 .= "('$name1')" ; |
025 | mysql_query( $sql1 ); |
026 | } |
where name = 'name' 여기의 네임에 해당하는 값이 없는듯 한데요...
where name = '$name1' 이렇게 하심 될 듯 합니다.
$sql1
=
"DELETE FROM `ZIPEL` WHERE name = '('name')' "
;
$sql1
.=
"('$name1')"
;
->
$sql1
=
"DELETE FROM `ZIPEL` WHERE name = '$name1' "
;
$name1과 같은 이름이 삭제됩니다.
|
답변을 작성하시기 전에 로그인 해주세요.