Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Assegnazione ID ed eliminazione in base ad esso

    Devo eliminare un messaggio in base al suo ID.
    I problemi sono: Non riesco ad assegnare un ID, e non ne ho la più pallida idea di come eliminarne il messaggio in base all'ID
    Praticamente avendo qualcosa del genere:

    Codice PHP:
        $tutto "user /-%EOF%-/ oggetto /-%EOF%-/ contenuto /-%EOF%-/ 1 [mess] user /-%EOF%-/ oggetto /-%EOF%-/ contenuto /-%EOF%-/ 2 [mess]user /-%EOF%-/ oggetto /-%EOF%-/ contenuto /-%EOF%-/ 3 [mess]";

         
    $sd explode("[mess]"$tutto); //explodo tutti i messaggi 
         
    $ma count($sd); //vedo quanti sono
         
    $mul 0;
         
        while (
    $mul <= $ma) {
            
         
    $asd explode("/-%EOF%-/"$sd[$mul]); 
             
         
    $mul++;
        }
         
    $mdd array_reverse($asdfalse); //capovolgo l'array $asd 
         
    $mdd $mdd[0]; // in modo che ne prenda il primo ID, che sarebbe l'ultimo
         
    $the_id $mdd+1// e restituisco il nuovo ID per un nuovo messaggio 
    La variabile $the_id non restituisce l'ID esatto che in questo caso dovrebbe essere 4

    Soluzioni ?

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    111
    io non ho capito cosa vuoi fare

  4. #4
    Ok volevo che la variabile $the_id rimandesse a 4 prendendo in considerazione l'id dell'ultimo messaggio.
    Me ne ero andato in una via troppo tortuosa, ho risolto proprio da qualche minuto cosi:

    Codice PHP:
    $tutto "user /-%EOF%-/ oggetto /-%EOF%-/ contenuto /-%EOF%-/ 1 [mess] user /-%EOF%-/ oggetto /-%EOF%-/ contenuto /-%EOF%-/ 2 [mess]user /-%EOF%-/ oggetto /-%EOF%-/ contenuto /-%EOF%-/ 3 [mess]";

    $sd explode("[mess]"$tutto); //explodo tutti i messaggi 

    $ma count($sd); //vedo quanti sono 

    $asd explode("/-%EOF%-/"$ma); 

    $the_id $asd[0]; // e restituisco il nuovo ID per un nuovo messaggio 
    Ma non del tutto: ora non so come poter eliminare un intero messaggio, avendo come riferimento l'ID!

    Potresti aiutarmi?

  5. #5
    Codice PHP:
    <?php

    $tutto 
    "user /-%EOF%-/ oggetto /-%EOF%-/ contenuto /-%EOF%-/ 1 [mess] user /-%EOF%-/ oggetto /-%EOF%-/ contenuto /-%EOF%-/ 2 [mess]user /-%EOF%-/ oggetto /-%EOF%-/ contenuto /-%EOF%-/ 3 [mess]"

        
    $sd explode("[mess]"$tutto); //explodo tutti i messaggi 
        
    print_r ($sd);
        
    $ma count($sd); //vedo quanti sono 
        
    $mul 0
         
        while (
    $mul $ma){ 
            
    $asd[] = explode("/-%EOF%-/"$sd[$mul]); 
            
    $mul++; 
        } 
        
    $mdd array_reverse($asdfalse); //capovolgo l'array $asd 
        
    print_r ($mdd);
        
    $mdd $mdd[0]; // in modo che ne prenda il primo ID, che sarebbe l'ultimo 
        //$the_id = $mdd+1; // e restituisco il nuovo ID per un nuovo messaggio

    ?>

  6. #6
    Originariamente inviato da robbi_gallo
    Codice PHP:
    <?php

    $tutto 
    "user /-%EOF%-/ oggetto /-%EOF%-/ contenuto /-%EOF%-/ 1 [mess] user /-%EOF%-/ oggetto /-%EOF%-/ contenuto /-%EOF%-/ 2 [mess]user /-%EOF%-/ oggetto /-%EOF%-/ contenuto /-%EOF%-/ 3 [mess]"

        
    $sd explode("[mess]"$tutto); //explodo tutti i messaggi 
        
    print_r ($sd);
        
    $ma count($sd); //vedo quanti sono 
        
    $mul 0
         
        while (
    $mul $ma){ 
            
    $asd[] = explode("/-%EOF%-/"$sd[$mul]); 
            
    $mul++; 
        } 
        
    $mdd array_reverse($asdfalse); //capovolgo l'array $asd 
        
    print_r ($mdd);
        
    $mdd $mdd[0]; // in modo che ne prenda il primo ID, che sarebbe l'ultimo 
        //$the_id = $mdd+1; // e restituisco il nuovo ID per un nuovo messaggio

    ?>
    Grazie robbi_gallo, ma ero riuscito a risolvere anche da solo, in tutti i casi mi potresti dire in cosa differisce $asd[] da $asd?

    In tutti i casi rimane il problema di eliminarne un messaggio in base ad esso.

  7. #7
    la differenza è che prima sovrascrivevi ad ogni cilo l'array,
    usando asd[], ogni elemento di array è un array


    Codice PHP:
    <?php

    $tutto 
    "user /-%EOF%-/ oggetto /-%EOF%-/ contenuto /-%EOF%-/ 1 [mess] user /-%EOF%-/ oggetto /-%EOF%-/ contenuto /-%EOF%-/ 2 [mess]user /-%EOF%-/ oggetto /-%EOF%-/ contenuto /-%EOF%-/ 3 [mess]"

    $sd explode("[mess]"$tutto); //explodo tutti i messaggi 
    //print_r ($sd);

     
    foreach($sd as $item){
        if(
    trim($item)=='') continue;
        
    $temp explode("/-%EOF%-/"$item); 
        
    $key = (int) $temp[3];
        
    $asd[$key] = $temp;

    echo 
    '<pre>';
    print_r ($asd);
    echo 
    '</pre>';

    $id_da_elimiare 1;
    unset(
    $asd[$id_da_elimiare]);

    echo 
    '<pre>';
    print_r ($asd);
    echo 
    '</pre>';

    foreach(
    $asd as $item){
        
    $asddd .= implode("/-%EOF%-/"$item).'[mess]';
    }
    echo 
    $tutto;
    echo 
    '<hr />';
    echo 
    $asddd;

    ?>

  8. #8
    Funziona alla grande, ma con un errore:

    Originariamente inviato da robbi_gallo
    Codice PHP:
    <?php
    foreach($asd as $item){
        
    $asddd .= implode("/-%EOF%-/"$item).'[mess]';
    }
    ?>
    Se il messaggio da eliminare è solo uno(o anche più), non mi deve mettere sempre [mess].

    Ad esempio se ho 3 [mess], ne voglio cancellare il 2 non mi deve rimanere il suo [mess].

  9. #9

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.