1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Ajuda com código PHP

Discussão em 'Web Development' iniciada por miquelx, 7 de Maio de 2009. (Respostas: 3; Visualizações: 1199)

  1. Boas, estou com um problema, é assim eu arranjei um código em PHP para apagar várias "rows" de uma base de dados com checkboxes mas este código não está a funcionar, nao está a apagar as "rows".
    O código é o seguinte:
    Código:
    <?php
    $host="localhost"; // Host name
    $username="onlytuga_site"; // Mysql username
    $password="****"; // Mysql password
    $db_name="onlytuga_site"; // Database name
    $tbl_name="pedido"; // 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="">
    <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>Nome da Música</strong></td>
    <td align="center" bgcolor="#FFFFFF"><strong>Nome da Pessoa</strong></td>
    <td align="center" bgcolor="#FFFFFF"><strong>Dedicação</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['nomemusica']; ?></td>
    <td bgcolor="#FFFFFF"><? echo $rows['nomepessoa']; ?></td>
    <td bgcolor="#FFFFFF"><? echo $rows['dedicacao']; ?></td>
    </tr>
    <?php
    }
    ?>
    <tr>
    <td colspan="5" align="center" bgcolor="#FFFFFF"><input name="delete" type="submit" id="delete" value="Delete"></td>
    </tr>
    <?
    // Check if delete button active, start this
    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);
    }
    
    // if successful redirect to delete_multiple.php
    if($result){
    echo "<meta http-equiv=\"refresh\" content=\"0;URL=delete_multiple.php\">";
    }
    }
    mysql_close();
    ?>
    </table>
    </form>
    </td>
    </tr>
    </table>
     
    Última edição: 7 de Maio de 2009
  2. AliFromCairo

    AliFromCairo Power Member

    Precisas de obter os valores da checkboxes através da variável _POST.
     
  3. não fui eu que fiz a script por isso nao sei como se faz isso e alem disso nao percebo nada de PHP nao me podes modificar o código ou dizerme o que tenho de fazer mais especificamente

    cumps
     
  4. consegui resolver o problema. se houver alguem que precise de algo deste género deicho aqui o código:
    Código:
    <?php
    $dbconn = mysql_connect("host","user,"pass") or die();
    $host="host"; // Host name
    $username="user"; // Mysql username
    $password="pass"; // Mysql password
    $db_name="DB"; // Database name
    $tbl_name="table"; // 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="">
      <table width="400" border="0" cellpadding="3" cellspacing="1" bgcolor="#CCCCCC">
        <tr>
          <td bgcolor="#FFFFFF">&nbsp;</td>
          <td colspan="5" 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>Nome da Música</strong></td>
          <td align="center" bgcolor="#FFFFFF"><strong>Nome da Pessoa</strong></td>
          <td align="center" bgcolor="#FFFFFF"><strong>Dedicação</strong></td>
          <td align="center" bgcolor="#FFFFFF"><strong>Data</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['nomemusica']; ?></td>
          <td bgcolor="#FFFFFF"><? echo $rows['nomepessoa']; ?></td>
          <td bgcolor="#FFFFFF"><? echo $rows['dedicacao']; ?></td>
          <td bgcolor="#FFFFFF"><? echo $rows['date_time']; ?></td>
        </tr>
        <?php
    }
    ?>
        <tr>
          <td colspan="6" align="center" bgcolor="#FFFFFF"><input name="delete" type="submit" id="delete" value="Apagar Selecionadas"><input name="delete2" type="submit" id="delete2" value="Apagar Tudo"></td>
        </tr>
        <?
    // Check if delete button active, start this
    
            if($_POST['delete']) // from button name="delete"
            {
                $checkbox = $_POST['checkbox']; //from name="checkbox[]"
                $countCheck = count($_POST['checkbox']);
                
                for($i=0;$i<$countCheck;$i++)
                {
                    $del_id  = $checkbox[$i];
                    $sql = "delete from pedido where id = $del_id";
                    $result = mysql_query($sql, $dbconn);
                }
                    if($result)
                    {
                        echo "<meta http-equiv=\"refresh\" content=\"0;URL=replica2.php\">";
                    }
                    else
                    {
                        echo "Error: ".mysql_error();
                    }
            }
                    if($_POST['delete2']) // from button name="delete2"
            {
    
    $connect = @mysql_connect($host,$username,$password);
    @mysql_select_db($db_name);
    
    // Empty table
    $query = "TRUNCATE TABLE pedido";
    mysql_query($query);
    echo "<meta http-equiv=\"refresh\" content=\"0;URL=replica2.php\">";
            }
    
    
    
    ?>
      </table>
    </form>
    </td>
    </tr>
    </table>
    
    e obrigado Alifromcairo :003:
    cumps
     

Partilhar esta Página