merhaba checkbox kullanarak seçili olanları nasıl silerim.
Alttaki id=? e sec[] bunu nasıl post ile yada get ile atarım?
$sqql = mysql_query("delete from tabloadi where id=?");
<input type="checkbox" name="sec[]" value="ali" /><br>
<input type="checkbox" name="sec[]" value="veli" /><br>
<input type="checkbox" name="sec[]" value="49" /><br>
<input type="checkbox" name="sec[]" value="50" /><br>
şurda bir sistem buldum ama çalışmıyor
http://www.phpeasystep.com/mysql/8.html
if($delete){
for($i=0;$i<$count;$i++){
$del_id = $checkbox[$i];
$sql = "DELETE FROM $tbl_name WHERE id='$del_id'";
$result = mysql_query($sql);
kısmında eksiklik var $delete yi post la almamış
mysql dan checkbox ile seçili olanları silme
5
●3.503
- 22-12-2009, 22:38:52Kendin sor kendin cevapla gibi oldu ama.
Araştırdım sonunda buldum. Alttaki örnek işinize yarar.
<html> <body> <?php //connect to database $host="localhost"; // Host name $username="user"; // Mysql username $password="pass"; // Mysql password $db_name="dbadi"; // Database name $tbl_name="urunler"; // Table name // Connect to server and select databse. mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db_name")or die("cannot select DB"); $sql="SELECT * FROM $tbl_name"; $result=mysql_query($sql); $count=mysql_num_rows($result); ?> <table width="400" border="0" cellspacing="1" cellpadding="0"> <tr> <td><form name="form1" method="post" action="listelee.php"> <table width="400" border="0" cellpadding="3" cellspacing="1" bgcolor="#CCCCCC"> <tr> <td bgcolor="#FFFFFF"> </td> <td colspan="4" bgcolor="#FFFFFF"><strong>Delete multiple rows in mysql</strong> </td> </tr> <tr> <td align="center" bgcolor="#FFFFFF">#</td> <td align="center" bgcolor="#FFFFFF"><strong>Id</strong></td> <td align="center" bgcolor="#FFFFFF"><strong>Name</strong></td> <td align="center" bgcolor="#FFFFFF"><strong>Lastname</strong></td> </tr> <?php while($rows=mysql_fetch_array($result)){ ?> <tr> <td align="center" bgcolor="#FFFFFF"><input name="checkbox[]" type="checkbox" id="checkbox[]" value="<? echo $rows['id']; ?>"></td> <td bgcolor="#FFFFFF"><? echo $rows['id']; ?></td> <td bgcolor="#FFFFFF"><? echo $rows['seo']; ?></td> <td bgcolor="#FFFFFF"><? echo $rows['tarih']; ?></td> </tr> <?php } ?> <tr> <td colspan="5" align="center" bgcolor="#FFFFFF"><input name="delete" type="submit" id="delete" value="Delete"></td> </tr> <? if($_POST){ foreach((array)$_POST['checkbox'] as $del_id): $sql = 'DELETE FROM urunler WHERE id='.intval($del_id); $result = mysql_query($sql); Echo ("<script language='javascript'>alert('Video başarıyla silindi.');window.location = 'listele.php');</script>"); endforeach; if($result){ echo "<meta http-equiv=\"refresh\" content=\"0\">"; } } ?> </table> </form> </td> </tr> </table> - 22-12-2009, 23:52:04Üyeliği durdurulduhocam implode ile birleştirip sql de in ifadesini kullanabilirsiniz
- 23-12-2009, 16:08:51Üyeliği durdurulduIN kullanarak şu şekilde yapabilirsin örnek;
<?php function tirnak($gelen) { return "'" . $gelen . "'"; } if ($_GET['yolla']) { // IN içine gönderilecek, $_GET['sec'] değişkeninden gelen verileri array_map'e tirnak fonksiyonunu atayarak tırnak içine aldırıyoruz. $in = implode(',', array_map('tirnak', $_GET['sec'])); $sqql = mysql_query("delete from tabloadi where id IN({$in})"); } ?> <form action="" method="get"> <input type="checkbox" name="sec[]" value="ali" /><br> <input type="checkbox" name="sec[]" value="veli" /><br> <input type="checkbox" name="sec[]" value="49" /><br> <input type="checkbox" name="sec[]" value="50" /><br> <input type="submit" name="yolla"> </form>