Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    117

    Modifica dati DB - criteri da usare

    Ciao a tutti
    premetto che sono un neofita.

    Mi sto apprestando a creare un sito nel quale io ed altri determinati utenti avremo la possibilità di accedere ai dati del database (ciascuno ai propri) e di editarli.

    Il criterio che ho in mente è questo:
    - un utente si logga e chiede di visualizzare i propri dati;
    - php estrae dal db i dati dell'utente loggato e li mostra in una tabella

    A questo punto l'utente dovrebbe poter scegliere una riga per modificarla o eliminarla.

    Il mio problema è: qual'è il modo migliore (ovvero il criterio migliore) per individuare la riga scelta dall'utente?
    Quindi come dovrei progettare la pagina nella quale l'utente dovrà scegliere la riga da modificare?

    Vorrei evitare di iniziare a scrivere codice sbagliando fin dall'impostazione di quel che devo fare.

    Grazie in anticipo a tutti

  2. #2
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202
    ogni riga del database deve avere una chiave primaria.
    Meglio ancora, un id incrementale (almeno per come la penso io).
    Questo campo è il dato che passerà da una magina all'altra, sia per la visualizzazione sia per la modifica..
    Ovvero, stampi tutte le righe del database.
    L'utente seleziona la riga con id = 2.
    Tu lo porti in una pagina passando il valore 2 tramite get o post.
    Qui l'utente visualizzerà la sua riga negli input in modo che possa modificarla.
    Quando fa il submit devi portati dietro il valore id (che in questo caso non sarà modificabile perchè identifica il record nel database)
    e ti fai un bel UPDATE WHERE ID = 2
    Che mestiere difficile.....essere da soli ancora di più

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    117
    Ciao Fractals,
    innanzi tutto grazie della risposta.

    Purtroppo, evidentemente non ho ben esposto il mio problema che sarebbe il passaggio che tu hai indicato con:
    L'utente seleziona la riga con id = 2.
    Quello che chiedevo è quali "strumenti" usare per ottenere l'indentificazione della riga che l'utente vuole modificare/eliminare.

    Come faccio ad acquisire questa informazione dalla pagina che visualizza l'utente?
    Che tipo di input devo/posso inserire?
    Stavo pensando a qualcosa tipo un "radio" alla fine di ogni riga da usare per identificare la tupla nell'array restituito dalla query SQL ma mi domandavo se esistevano metodi migliori (più semplici/più funzionali).

    Spero di aver chiarito quale era il mio dubbio.

  4. #4
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    radio buttons o checkbox, a seconda se vuoi consentire una sola selezione o più d'una. Suppongo che una sola sia meglio

  5. #5
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202
    Poniamo il caso di mostrare all'utente una tabella dei dati, la <tr> deve essere fatta cosi :
    <tr>
    <td><a href="paginadimofidica.php?id=1">dato1</td><td>dato2</td>
    <td><a href="paginadimofidica.php?id=2">dato1</td><td>dato2</td>
    </tr>

    Nella pagina di modifica

    $id = $_REQUEST['id'];

    In questo modo acquisisci la riga che ha cliccato il tipo
    Che mestiere difficile.....essere da soli ancora di più

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    117
    Quote Originariamente inviata da luca200 Visualizza il messaggio
    radio buttons o checkbox, a seconda se vuoi consentire una sola selezione o più d'una. Suppongo che una sola sia meglio
    Grazie Luca,
    sì sicuramente è meglio una modifica alla volta!

    Quindi, correggimi se sbaglio:
    - uso un "while" per compilare la tabella con i risultati della query (con "mysql_fetch_array" o "mysqli_fetch_array" devo ancora studiare )
    - aggiungo nella tabella un campo "radio" ad ogni ciclo
    Fin qui tutto ok (in teoria, poi in pratica è tutto da vedere)

    A questo punto, come faccio ad attribuire al "radio" un valore che mi consenta di riconoscere la riga?
    Avevo pensato di assegnargli un nome composto da una stringa cui aggiungere un numero progressivo che mi indicava la riga, ma aspetto suggerimenti...


  7. #7
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    117
    Quote Originariamente inviata da Fractals87 Visualizza il messaggio
    Poniamo il caso di mostrare all'utente una tabella dei dati, la <tr> deve essere fatta cosi :
    <tr>
    <td><a href="paginadimofidica.php?id=1">dato1</td><td>dato2</td>
    <td><a href="paginadimofidica.php?id=2">dato1</td><td>dato2</td>
    </tr>

    Nella pagina di modifica

    $id = $_REQUEST['id'];

    In questo modo acquisisci la riga che ha cliccato il tipo
    Ma io devo comporla dinamicamente quindi dovrei comporre dinamicamente href usando "paginadimofidica.php?id=" ed aggiungendo un progressivo per ogni riga.

    Ho afferrato bene il concetto?


    PS poi recupero l'id dal GET giusto?

  8. #8
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202
    esatto
    esempio echo all'interno del tuo ciclo sul recordset o array
    Codice PHP:
    echo "<td><a href=\"paginadimofidica.php?id=".$recordset['idtabella']."\">".$recordset['dato1']."</td><td>".$recordset['dato1']."</td>"
    Prova abuttare giu il codice e se hai difficoltà postalo che lo correggiamo insieme
    Che mestiere difficile.....essere da soli ancora di più

  9. #9
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Quote Originariamente inviata da genespos Visualizza il messaggio
    A questo punto, come faccio ad attribuire al "radio" un valore che mi consenta di riconoscere la riga?
    L'id della tabella

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    117
    @ Fractals
    grazie mille!
    Sì ora provo a buttar giù qualche riga di prova e, se non funziona mi rifaccio vivo sul forum (magari con un altro thread è più in linea con il regolamento).

    @ Luca
    Credo che seguirò la strada del collegamento ipertestuale (più intuitiva per l'utente) però, per cultura, vorrei afferrare anche l'altra strada.
    Mi puoi spiegare meglio che significa "L'id della tabella"?
    Grazie

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.