• 22-12-2009, 20:38:00
    #1
    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ış
  • 22-12-2009, 22:38:52
    #2
    Kendin 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">&nbsp;</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
    #3
    Üyeliği durduruldu
    hocam implode ile birleştirip sql de in ifadesini kullanabilirsiniz
  • 23-12-2009, 13:59:30
    #4
    sdemirkeser saol da keşke örnekle açıklasaydın.
  • 23-12-2009, 16:08:51
    #5
    Üyeliği durduruldu
    IN 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>
  • 23-12-2009, 16:12:18
    #6
    saol devturkeli