Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: delete

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929

    delete

    ciao a tutti,

    ho un problema e non sò come risolverlo

    allora io ricevo una variabile trammite post cosi:
    codice:
    &id=ID1|ID5|ID12|ID20
    adesso dovrei eliminare gli ID passati in qusto caso
    ID1
    ID5
    ID12
    ID20
    come posso fare??
    (chiaramente quella variabile è un'esempio gli ID potrebbero essere molto di più)


    Grazie mille :master:

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Penso che puoi fare cosi

    codice:
    $id = $_GET['id'];
    $id = str_replace('|',',',$id);
    $query = "delete from tabella where campo in ($id)";
    etc...
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Il codice di badaze non funzionerebbe mai, perché mancano gli apici intorno ai valori per poterli passare alla query.
    Dovresti provare qualcosa del genere
    Codice PHP:
    $arr explode('|',$id);
    foreach (
    $arr as $k => $v) {
      
    $arr[$k] = "'$v'";
    }
    $id implode(',',$arr);
    $query "delete from tabella where campo in ($id)"
    Rimane il fatto che il dato in input andrebbe verificato prima di passarlo alla query, ma per questo dovresti usare delle espressioni regolari e qui passo

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Originariamente inviato da luca200
    Il codice di badaze non funzionerebbe mai, perché mancano gli apici intorno ai valori per poterli passare alla query.
    Dovresti provare qualcosa del genere
    Codice PHP:
    $arr explode('|',$id);
    foreach (
    $arr as $k => $v) {
      
    $arr[$k] = "'$v'";
    }
    $id implode(',',$arr);
    $query "delete from tabella where campo in ($id)"
    Rimane il fatto che il dato in input andrebbe verificato prima di passarlo alla query, ma per questo dovresti usare delle espressioni regolari e qui passo
    Supponevo che gli id sono dei numeri come di solito suole.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    ho provato cosi ma nella pagina non viene stampato nulla

    Codice PHP:
    <?php
    $arr 
    "1|2|8|50|853";
    $arr explode('|',$id); 
    foreach (
    $arr as $k => $v) { 
      
    $arr[$k] = "'$v'"

    $id implode(',',$arr); 
    //$query = "delete from tabella where campo in ($id)";
    echo $id;
    ?>

  6. #6
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Comunque se dovesse essere com'è scritto

    codice:
    $id = $_GET['id'];
    //$id = "ID1|ID5|ID12|ID20|ID51|ID55|ID512|ID520|ID567888";
    $id = str_replace('|',',',$id);
    $id = preg_replace("/(ID\d+)/","'\\1'",$id);
    
    $query = "delete from tabella where campo in ($id)";
    
    print $query;
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  7. #7
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Originariamente inviato da Rossella_75
    ho provato cosi ma nella pagina non viene stampato nulla

    Codice PHP:
    <?php
    $id 
    "1|2|8|50|853"; <==== qui
    $arr 
    explode('|',$id); 
    foreach (
    $arr as $k => $v) { 
      
    $arr[$k] = "'$v'"

    $id implode(',',$arr); 
    //$query = "delete from tabella where campo in ($id)";
    echo $id;
    ?>
    Comunque è come pensavo. Gli id sono numeri quindi il mio codice va.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    ok, adesso stampa dovrebbe andare

    Grazie mille provo e vi faccio sapere

  9. #9
    Aspetta un attimo!
    Passi degli id tramite querystring! Ciò vuol dire che l'utente potrebbe mettere ciò che vuole al posto deli id!

    Fai almeno un controllo per verificare che siano numeri!

    codice:
    <?php
    $id = "1|2|8|50|853"; <==== qui
    $arr = explode('|',$id); 
    foreach ($arr as $k => $v) { 
      if ( is_numeric( $v ) )
        {
          $arr[$k] = "'$v'"; 
        }
    } 
    $id = implode(',',$arr); 
    //$query = "delete from tabella where campo in ($id)";
    echo $id;
    ?>
    Era semplice! Ciao!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    da errore
    codice:
    Parse error: parse error, unexpected T_IS_SMALLER_OR_EQUAL in c:\appserv\www\script\elimina.php on line 3
    ho fatto cosi
    Codice PHP:
    <?php
    //$id = $_POST['id'];
    $id "1|2|8|50|853"; <==== qui
    $arr 
    explode('|',$id); 
    foreach (
    $arr as $k => $v) { 
      if ( 
    is_numeric$v ) )
        {
          
    $arr[$k] = "'$v'"
        }

    $id implode(',',$arr); 
    //$query = "delete from tabella where campo in ($id)";
    echo $id;
    ?>
    :master:

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.