Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1

    aggiornare id dopo eliminazione

    salve a tutti! sto realizando un CMS per degli articoli. Ora sono arrivato a realizzare il comando "elimina" che funziona (piu o meno) perchè ho una tabella con tre campi: id; titilo; testo. Quando elimino una riga di qesta tabella: ammettiamo che elimino la seconda riga, il campo id diventa:
    13456... e cancella alcuni numeri. quello che vorrei fare è resettarlo in modo che in questo esempio la riga tre diventa due e la riga quattro diventa tre e così via. Come fare???
    Luca Pennisi - Web Marketing Specialist

  2. #2
    ma l'utilità di questo??
    tanto l'id non serve a niente se non ad avere una chiave primaria
    a mio avviso è uno sbatti che puoi evitare

  3. #3
    non lo è proprio! per questo ora mi cancella gli articoli sbagliati o non li trova nemmeno!!!
    Luca Pennisi - Web Marketing Specialist

  4. #4
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592
    in che senso scusa..
    se è un intero, chiave primaria con autoincrement non può sbagliare... è una delle poche cose certe del php..

  5. #5
    Prova a spiegarti meglio... l'ID non è univoco?
    .: Teju.it - Una vita da raccontare
    .: 8s8.it - Wordpress gratis per tutti
    .: Vado.li - Accorcia URL

  6. #6
    Originariamente inviato da teju
    Prova a spiegarti meglio... l'ID non è univoco?
    certo che è univoco e lo resta anche dopo l' eliminazione di una riga.

    esempio iniziale:
    codice:
    id       titilo                           testo
    
    
    1        primo titolo                  Ecco il primo testo.....
    
    2        buone vacanze             Quest' estate andrò in francia.....
    
    3        ragazze di oggi             Le ragazze di oggi sono molto....
    
    4        ieri omicidio                  Ieri sera a Bolzano c' è......
    poi cancello una riga (riga 2 per esempio) e la tabella diventa:

    codice:
    id       titilo                           testo
    
    
    1        primo titolo                  Ecco il primo testo.....
    
    3        ragazze di oggi             Le ragazze di oggi sono molto....
    
    4        ieri omicidio                  Ieri sera a Bolzano c' è......
    come noterete nell' id ci sta scritto: 1 3 4 mentre io vorrei avere 1 2 3 come segue:

    codice:
    id       titilo                           testo
    
    
    1        primo titolo                  Ecco il primo testo.....
    
    2        ragazze di oggi             Le ragazze di oggi sono molto....
    
    3        ieri omicidio                  Ieri sera a Bolzano c' è......
    quindi il mio problema è: come faccio a "resettare" il campo id?
    Luca Pennisi - Web Marketing Specialist

  7. #7
    quindi come gia detto si può fare e ne avevano gia discusso da un altra parte sul forum ma è un operazione inutileeee
    e se non ti funziona non è per colpa dell'id ma perchè avrai sbagliato qualkosa nel codice

  8. #8
    Ok, questo l'ho capito, ma quello a cui non arrivo è: perchè?? che utilità ne hai??

    ...per fare una cosa del genere cmq hai 2 possibilità:
    1. prendi l'ultima riga (quella con ID più alto) e gli cambi l'ID con quello cancellato
    2. fai una ricorsione cambiando tutti gli ID da quello cancellato con quello dopo

    La soluzione 1 è la più veloce, la 2 serve a tenere cmq l'ordine di inserimento.
    .: Teju.it - Una vita da raccontare
    .: 8s8.it - Wordpress gratis per tutti
    .: Vado.li - Accorcia URL

  9. #9
    ho scritto questo ma mi da un errore:

    codice:
    $am = 1;
    
    $query = "UPDATE articoli SET id = $am;";
    
    while ($row = mysql_fetch_assoc($query) )
    {
    ++$am;
    }
    e mi da il seguente errore:

    Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\Programmi\EasyPHP 2.0b1\www\riordiniamo.php on line 17

    cos' ha che non va?
    Luca Pennisi - Web Marketing Specialist

  10. #10
    per esempio che non esegui la query

    $var = mysql_query($query);

    while ( $row = mysql_fetch_assoc($var) )
    {
    ........
    }

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.