Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    192

    cancellare dati da una select

    Salve, chiedo venia per l'ignoranza ma ci sto sbattendo la testa da oggi pomeriggio e non riesco a capire...
    allora ho una select dove faccio comparire tutti i cognomi degli utenti che ho in un db.
    Una volta selezionato il cognome, (si dovrebbe visualizzare il suo ID dentro la casella di testo) devo cancellarlo... questo codice funziona (ma non compare l'ID nella casella di testo) ma mi cancella l'utente (che cè nella select) anche se faccio il refresh della pagina! E ovviamente poi, quando è vuota (la select) mi da errore perchè non trova piu nessuno

    echo"<form method='post' action=''>";
    /*Select per visulazzire i cognomi inserendo automaticamente nella casella di testo l'id del socio*/
    echo "<select name='idsocio'>";
    $risultato = mysql_query ("SELECT id, cognome FROM soci ORDER BY id");
    while ($row = mysql_fetch_array($risultato,MYSQL_ASSOC))
    {
    $id = $row['id'];
    $valore=$row["cognome"];
    echo "<option value=\"" . $id . "\">".$valore."</option>";
    }
    mysql_free_result($risultato);
    echo"</select>";

    echo "<input type='submit' value='elimina'>";
    /*Fine select*/

    echo "ID:<input type='text' readonly='readonly' name='id' size='2' value='$id'>";
    // preparo la query
    //$query = "DELETE FROM soci WHERE id =".$id." ";
    // invio la query
    $result = mysql_query($query);

    // controllo l'esito
    if (!$result) {
    die("Errore nella query ");
    }

    echo"</form>";
    echo"</td>";
    echo"</tr>";
    echo"</table>";
    // chiudo la connessione a MySQL
    mysql_close();
    echo 'Eseguito correttamente';
    ?>

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    192
    up

  3. #3
    non si capisce cosa vuoi fare, cosa vuol dire mi cancella l'utente? cosa vuoi fare tu?
    Un tardo hegeliano di Busalla / allevava un gorilla nella stalla
    citando Adorno nell notti chiare / finché il primate stanco di ascoltare
    lo strangolò con una sciarpa gialla Dillo Con Parole Sue

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    192
    chiedo scusa per l'incomprensione
    Allora nel menu a tendina devo visualizzare tutti i cognomi che ho nella tabella, una volta scelto il cognome mi deve far visualizzare il suo id corrispondente nel campo di testo (bloccato) , e con il tasto elimina devo poterlo eliminare dal db.

  5. #5
    la prima cosa che vedo sbagliata è che devi decommentare questa riga

    //$query = "DELETE FROM soci WHERE id =".$id." ";

    poi non vedo come possa uscire l'id nel campo readonly che è fuori dal ciclo while e quindi esce solo l'ultimo id. a me cmq non funziona quel codice anceh decommentando
    ti consiglio di separare il form dall'invio soprattutto se sei alle prime armi
    Un tardo hegeliano di Busalla / allevava un gorilla nella stalla
    citando Adorno nell notti chiare / finché il primate stanco di ascoltare
    lo strangolò con una sciarpa gialla Dillo Con Parole Sue

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    192
    ho dovuto mettere il commento alla drop sennò ogni volta che aggiornavo la pagina mi eliminava il record

  7. #7
    fosso in te farei così: fai una pagina con l'elenco dei soci così

    echo " <a href=\"delete.php?id=$id\"><span class=''>Cancella </span></a>$id
    ";

    poi nella pagina delete metti


    $id=$_GET['id']; e così è + semplice

    volendo puoi tenere anceh tutto in una pagina mettendo all'inizio

    if(isset($_GET["id"])){

    $id=$_GET['id']; e poi un else e l'elenco
    Un tardo hegeliano di Busalla / allevava un gorilla nella stalla
    citando Adorno nell notti chiare / finché il primate stanco di ascoltare
    lo strangolò con una sciarpa gialla Dillo Con Parole Sue

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    192
    scusa ma non riesco a capire il tuo codice...perchè devo passargli l'id se lo prendo nel $row cosi:

    echo "<select name='cognome'>";
    while ($row = mysql_fetch_array($risultato,MYSQL_ASSOC))
    {
    $id=$row['id'];
    $valore=$row["cognome"];
    echo "<option value=\"" . $id . "\">".$valore."</option>";
    echo "

    ID:<input type='text' readonly='readonly' name='id' size='2' value='$id'></p>";
    }

    mysql_free_result($risultato);
    echo"</select>";

    questo pezzo di codice funziona..ma non come vorrei! Io voglio che in base alla select del cognome mi visualizza l'ID nel campo di testo.
    Cosi mi visualizza invece su piu righe il cognome e il relativo ID...devo mettere qualche controllo ma non riesco

  9. #9
    il mio codice non era una select, era solo un elenco da cui poi cancellare cliccando cancella.
    L'id selezionato (ora parlo del tuo codice) lo devi visualizzare attraverso un get o un post, non ti può uscire prima di selezionarlo attraverso il database, anceh se non ho capito a cosa ti serve visualizzarlo così, potresti fare volendo una cosa in js con l'evento on change però io non sono la maga del javascript , ammesso che sia la maghetta del php
    Un tardo hegeliano di Busalla / allevava un gorilla nella stalla
    citando Adorno nell notti chiare / finché il primate stanco di ascoltare
    lo strangolò con una sciarpa gialla Dillo Con Parole Sue

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    192
    vabbè ti ringrazio lo stesso, solo che so che è possibile farlo con qualche controllo sul select che in base a cio che cè selezionato esce l'id. Cmq supponendo che non mi serva l'ID da visualizzare come posso eliminare cio che cè selezionato nel menu a discesa senza avere errori?

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.