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

    Elimina campi dati immessi da form

    Salve a tutti...vi scrivo in quanto mi trovo alle prese con dei dati (un sistema di news)immessi in un form e poi registrati in un database mysql.
    Avrei bisogno di sapere come poter fare un pulsante che permetta all'utente (admin) di eliminare una determinata news tra un elenco visualizzato in una pagina.


    <?php
    // CONNESSIONE AL DATABASE
    include('config.inc.php');
    include ("top_foot.inc.php");
    top();

    $id=$_GET['id'];
    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

    $query = "DELETE FROM news2 WHERE id=$id";
    $result = mysql_query($query, $db);
    while ($row = mysql_fetch_array($result))
    {
    echo "<div align=center class=testo> Record eliminato con successo.</div>";
    }


    ?>
    Questo è una bozza di codice che ho trovato su internet e ho provato ad interpretare, ma non appena clicco sul pulsante ELIMINA, mi errore di sintassi alla riga 16.
    Qualcuno mi da una mano?
    Grazie a tutti

  2. #2
    il delete non rende un resource id #. Quindi nessun result set da scandire con il while.

    puoi fare cosi':

    Codice PHP:
    $query "DELETE FROM news2 WHERE id=$id";

    $result mysql_query($query$db);

    if(
    mysql_affected_rows($db) == )
    {
    echo 
    "<div align=center class=testo> [b]Record eliminato con successo.[/b]</div>";


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

  3. #3
    Ciao piero.mac, grazie per la risposta.
    Ho provato ad inserire il codice che mi hai consigliato.
    Non restituisce nessuno errore, tuttavia non elimina le righe del database.
    Hai qualche suggerimento in merito?
    Grazie ancora.
    Alex.

    Edit: Ah dimenticavo, non mi dice nemmeno "Record eliminato con successo", quindi si presuppone che qualcosa non vada a buon fine.

  4. #4
    avrai la visualizzazione degli errori disabilitata. Prova a mettere:

    Codice PHP:
    <?php

    error_reporting
    (E_ALL);
    ini_set('display_errors''1');

    // segue il tuo codice

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

  5. #5
    Modifica anche:

    Codice PHP:

    $query 
    "DELETE FROM news2 WHERE id=$id";

    $result mysql_query($query$db)  OR DIE(mysql_error());

    if(
    mysql_affected_rows($db) == )
    {
    echo 
    "<div align=center class=testo> [b]Record eliminato con successo.[/b]</div>";
    } else  {
              echo 
    "<div align=center class=testo> [b]Record NON eliminato.[/b]</div>";
              } 
    cosi' almeno ti stampa qualcosa.

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

  6. #6
    Ciao piero.mac, grazie davvero per la disponibilità.
    Comunque si, ora mi stampa record NON eliminato.
    Di seguito riporto il codice.., magari faccio qualche errore.

    <?
    // CONNESSIONE AL DATABASE
    include('config.inc.php');
    include ("top_foot.inc.php");
    top();

    $id=$_GET['id'];
    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

    $query = "DELETE FROM news2 WHERE id=$id";

    $result = mysql_query($query, $db);

    if(mysql_affected_rows($db) == 1 )
    {
    echo "<div align=center class=testo> Record eliminato con successo.</div>";
    } else {
    echo "<div align=center class=testo> Record NON eliminato.</div>";
    }

    ?>
    EDIT:
    Posto anche il codice della pagina di salvataggio delle news.

    <?php
    $news=$_REQUEST['testo'];
    $titolo=$_REQUEST['titolo'];

    include("top_foot.inc.php");
    include("config.inc.php");






    $news = addslashes(stripslashes($news));
    $news = str_replace("<", "&lt;", $news);
    $news = str_replace(">", "&gt;", $news);
    $news = nl2br($news);
    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");

    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
    $query = "INSERT INTO news2 (titolo, testo) VALUES ('$titolo', '$news' )";
    if (mysql_query($query, $db))
    echo "La news è stata inserita correttamente";
    else
    echo "Errore durante l'inserimento";


    mysql_close($db);
    end; // chiude la verifica della presenza dei dati
    foot();
    ?>

  7. #7
    un paio di cosette:

    invece di usare [ quote] usa [ php] o [ code] per evidenziare lo script
    utilizza sempre il tag php esteso: <?php e mai solo lo short tag <?

    per quanto rigurda la cancellazione devi essere certo che:

    sia presente il record che vuoi cancellare
    poi, provare a stampare la variabile per vedere cosa risolve $query:

    echo $query;

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

  8. #8
    Ciao piero.mac, di nuovo grazie del supporto nonostante l'ora.
    Seguirò i tuoi consigli.
    Stampando la query ottengo:
    Codice PHP:
    DELETE FROM news2 WHERE id
    Alloga inoltre un'immagine della tabella.
    Magari il problema è lì....


  9. #9
    DELETE FROM news2 WHERE id=

    vuoto.

    $_GET['id'] non ha nulla.

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

  10. #10
    Ciao piero.mac, ieri mi sono addormentato sulla tastiera :-)
    In che senso GET id non ha nulla?

    Io vorrei poter eliminare una singola NEWS, così come in figura.
    Come posso fare?
    Id non è un campo della tabella?



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