Visualizzazione dei risultati da 1 a 8 su 8

Discussione: cancella news

  1. #1

    cancella news

    Ciao a tutti..
    ragazzi vi chiedo una mano in questo: ho un script per le gestione delle news da parte dell'admin del sito. Posso oltre ad aggiungere una news, modificarla e cancellarla. Il problema è la procedura di cancellazione.
    Ogni news ha un id, titolo, data e testo. Quando voglio cancellarne una, ricupero l'id e poi faccio:
    DELETE FROM newsWHERE id={id della news interessata}
    il problema con questo script è questo: ho anche nella parte di presentazione del sito una paginazione delle news. Quando cancello però una news, lo script di paginazione mi sballa perchè salta prende in considerazione l'id cancellato quando in realtà non esiste più. Come faccio a "matenere regolare" l'id nella tabella news una volta cancellato un id? Il problema è lo script di cancellazione o quello di paginazione?
    Se credete sia fondamentale, ricupeto lo script di paginazione e ve lo riporto.

    grazie...

  2. #2

    Re: cancella news

    Originariamente inviato da chongosnow
    Quando cancello però una news, lo script di paginazione mi sballa perchè salta prende in considerazione l'id cancellato quando in realtà non esiste più. Come faccio a "matenere regolare" l'id nella tabella news una volta cancellato un id? Il problema è lo script di cancellazione o quello di paginazione?
    Se credete sia fondamentale, ricupeto lo script di paginazione e ve lo riporto.

    grazie...
    :master: Mmm... Non ho ben capito...

    Posta il codice di "paginazione"...

  3. #3
    ciao Mastion,
    allego il mio codice di paginazione:
    <?
    include ("conectdb.php") //libreria per connettermi al mio db

    $conta = mysql_query("SELECT COUNT(id) FROM news"); //table news con campo chiave id
    $arraCont = mysql_fetch_row($conta);
    $recTotal = $ArraCont[0];
    $forPage=3;
    $pageTotal = ceil($recTotal / $forPage);
    $currentPage = (!$_GET['page'])?1 : (int)$_GET['page'];
    $preRec = ($currentPage - 1) * $forPage;
    //$_GET['page'] corrisponde al numero della pagina corrente
    $limitQuery = mysql_query("SELECT id, titolo, data FROM news LIMIT $preRec,$forPage");
    while ($arraLimit = mysql_fetch_array($limitQuery)) {
    echo "<table><tr><td>";
    echo"<a href = \"dettaglio.php?id= ".$arraLimit['id']."\">".$arraLimit['titolo']. "</a>";
    echo </td></<tr>
    }

    if($currentPage ==1) $precedente = "precedente";
    else{ $pagePrec = ($currentPage)- 1;
    $precedente = "<a href = \"?pagina = $pagePrec\" title=\" pagina precedente\"> <<precedente</a>";
    }
    if($currentPage == $pageTotal) $successiva = "successiva >>";
    else{ $pageSuc= ($currentPage)+1;
    $successiva = "<a href = \"?pagina = $pageSuc\" title=\" pagina successiva\"> successica >></a>";
    }
    $paginazione = "$precedente $successiva";
    echo "<tr><td>$paginazione</td></tr></table>";

    ?>

    credo sia tutto.. forse con qualche errore ma lo script funziona.
    Ripeto il problema che ho:
    quando in uno script per l'admin del sistema, quando gestisco le news, volendo cancellarne una faccio: DELETE FROM news WHERE id={id della news interessata}
    ma se per caso elimino una news con un id in mezzo del tipo ho 4 news e cancello quella con id=2 lo script della paginazione sballa perchè di nuovo prende in considerazione la news con id=2.
    la mia domda è questa: c'è uno script per cancellare una news o per la paginazione delle news che prende in considerazione questo? cioè che la tabella news non per forza presenta una sequenza di id omogenea, del tipo la tabella news presenta id = 2,3,4,6,9,10,12,14,etc..
    spero di essere stato + chiaro questa volta.
    qualsiasi cosa... scrivetemi..

  4. #4
    ragazzi nessuno mi da una mano??
    mi è venuta questa idea:
    se creo un array $idTotal della stessa dimensione di $recTotal (cioè il numero di id della table news) dove ogni indice punta agli id delle news e così ho qualcosa di più omogeneo? Avete capito? Pensate si possa fare?

  5. #5
    Utente di HTML.it L'avatar di hyb
    Registrato dal
    Aug 2003
    Messaggi
    424
    :master: col codice postato cosi me ne vo in paranoia.
    ti sballa perché probabilmente fai coincidere l'id della notizia con il conteggio...

  6. #6
    Originariamente inviato da hyb
    :master: col codice postato cosi me ne vo in paranoia.
    ti sballa perché probabilmente fai coincidere l'id della notizia con il conteggio...
    infatti credo che il problema si verifichi qui:

    ....
    if($currentPage ==1) $precedente = "precedente";
    else{ $pagePrec = ($currentPage)- 1;
    $precedente = "<a href = \"?pagina = $pagePrec\" title=\" pagina precedente\"> <<precedente</a>";
    }
    if($currentPage == $pageTotal) $successiva = "successiva >>";
    else{ $pageSuc= ($currentPage)+1;
    $successiva = "<a href = \"?pagina = $pageSuc\" title=\" pagina successiva\"> successica >></a>";
    }

    dove $pagePrec e $pageSuc prendono il valore di $currentPage -1 ò +1 rispettivamente, è quindi si decrementa o aumenta senza prendere in considerazione il fatto che possono prendere valori per un id che non esiste nella table.
    Come posso fare allora ragazzi per "forzare" a $pagePrec e $pageSuc di prendere il reale id successivo; ma non intesso come id+1?
    Mi sono spiegato?
    Grazie

  7. #7
    Utente di HTML.it L'avatar di hyb
    Registrato dal
    Aug 2003
    Messaggi
    424
    puoi usare un contatore non vincolato all'id della riga

  8. #8
    Originariamente inviato da hyb
    puoi usare un contatore non vincolato all'id della riga
    ciao hyb...
    come posso allora implementare un contatore non vincolato all'id della tabella news? Mi dai una idea...

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.