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

    problema con righe eliminate

    Ciao a tutti! ho questo problema:
    ho realizzato per un sito una FAQ basata su un database MySql; il contenuto viene gestito dal cliente tramite un apposito pannello di amministrazione dal quale è possibile aggiungere, eliminare o modificare le voci. Le singole voci visualizzate sono numerate, e il numero viene preso dal campo id della tabella. Il problema sorge quando viene eliminata una voce (che non sia l'ultima), infatti se ad esempio viene eliminata la voce n. 38, viene visualizzata la n.37 e poi la n.39, mentre invece vorrei che la n.39 diventasse la n.38 ecc.ecc. Avevo pensato di usare semplicemente un elenco numerato nella pagina, ma per una serie di esigenze avrei bisogno che questa modifica sia fatta a livello di database...

    E' una cosa fattibile?
    Grazie.

    P.S. La tabella è attualmente strutturata così: id|domanda|risposta
    dove id è un campo con la proprietà AUTO_INCREMENT

  2. #2
    vado un po' di fretta cmq...

    potresti inserire una nuova colonna ed assegni a questo campo un numero progressivo. (no autoincrement... lo assegni tu a mano..)

    Ogni volta che elimini una riga fai anche l'aggiornamento di questo campo nei record successivi con: numero-attuale - 1;

    Non so se son stato chiaro...

    aquatimer2000

  3. #3
    Direi che al meglio potresti fare un "contatore esterno", lasciando l'id della tabella alla sua funzione naturale che e' quella di chiave primaria immutabile e mai null.

    Inizializzi un contatore con il numero che credi e lo stampi al posto dell'id. Se fai l'ordinamento DESC fai un count-down.

    $cont = 22;
    while(ecc.ecc.) {

    echo "$cont - il resto ... ecc...";
    $cont++;
    }


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

  4. #4
    Grazie mille per il suggerimento,
    ho usato il sistema della variabile che fa da contatore esterno e funziona perfettamente (anche perchè ripensandoci non era così importante che il database fosse in ordine, quello che mi premeva era la visualizzazione della pagina...)

    Grazie ancora!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.