Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269

    Problema explode e delete

    Salve ragazzi.

    Ho un problema, praticamente ho un array che contiene dei valori selezionata da checkbox, in questo modo:

    codice:
    <input type=\"checkbox\" id=\"single\" name=\"delete[]\" value=\"".$riga['id_taglia']."&".$riga['id_colore']."\" />
    Adesso quando clicco invia, il tutto viene inviato a php, in questa pagina io devo creare una query di questo tipo:

    codice:
    DELETE FROM nometabella WHERE id_taglia = idtaglia AND id_colore = idcolore
    dovrà essere una query ciclica poichè salvo tutti i valori delle checkbox selezionate in un array.

    Ho provato in questo modo, ma mi stampa a video sempre "Errore":

    Codice PHP:
    if(isset($_POST['submitted']))
    {
    $id_prodotto $_POST['id_prodotto'];

    for (
    $i 0$i<count($_POST['delete']); $i++)
    {
        
    $values explode("&"$_POST['delete'][$i]);
        
    $sql "DELETE FROM Stock WHERE id_taglia = '".$values[0]."' AND id_colore = '".$values[1]."' AND id_prodotto = '".$id_prodotto."'";
        
    $result $db->query($sql) or die ("Errore query: " mysql_error());
    }


    if (
    $result)
    {
    header ("Location: ../manageStock.php?id=$id_prodotto&delete=ok");
    }
    }
    else
    {
        echo 
    "Errore";

    Grazie anticipatamente...
    Con i sogni possiamo conoscere il futuro...

  2. #2
    stampa ad inizio pagina il POST. Forse capirai meglio l'errore.

    Codice PHP:
    <?php
    echo "<pre>";
    print_r($_POST);

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    Confermo di non capire l'errore poichè il print_r mi restituisce questo output:
    codice:
    Array
    (
        [delete] => Array
            (
                [0] => 8&1
                [1] => 8&2
            )
    
        [button] => Cancella
        [id_prodotto] => 1
    )
    Mi restituisce bene i valori adesso devo praticamente creare una query ciclica che mi elimina i record in questo modo:

    DELETE FROM tabella WHERE id_prodotto=1 AND id_colore=1 AND id_taglia=8

    Ma non riesco a capire perchè non va...
    Con i sogni possiamo conoscere il futuro...

  4. #4
    qualcosa da chiarire gia' ci sarebbe... un id chiave primaria. Devi individuare la chiave primaria che "deve" identificare in modo univoco ogni record ed eliminare tramite quella. Basterebbe passare questa chiave primaria nel form.

    Ad ogni modo, basandomi sulla stampa di POST, proverei a fare cosi':

    Codice PHP:
    $id_prodotto $_POST['id_prodotto'];

    foreach(
    $_POST['delete'] as $value)
    {
        list(
    $id_taglia$id_colore) = explode("&"$value);
        
    $sql "DELETE FROM Stock 
                WHERE id_taglia = '
    $id_taglia
                AND id_colore = '
    $id_colore
                AND id_prodotto = '
    $id_prodotto'";
                
        
    $result $db->query($sql) or die ("Errore query: " mysql_error());

    S.E. od O.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.