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

    spostare elementi di una collonna in tabella mysql

    Ciao a tutti
    con UPDATE ho imparato ad aggiornare i contenuti di una tabella mysql, come descritto nella guida phpmysql pratica/.
    Ora vorrei capire se è possibile spostare gli elementi presenti in una stessa colonna.

    Mi spiego meglio:
    ho una colonna POSIZIONE che mi serve a identificare con un numero la posizione del contenuto di una stessa riga (§row);

    questo perchè poi in pagina richiamo i contenuti di ciascuna riga con questa query, una per ogni riga che voglio visualizzare:
    $query = "SELECT testata, testo FROM div_home WHERE posizione='1'";
    in modo da ottenere un elenco di righe in ordine di posizione...

    Ora, se riesco a trovare il modo di modificare dinamicamente gli elementi della colonna POSIZIONE (in un colpo solo) potrò cambiare l'ordine dei contenuti visualizzati in pagina.

    E quindi vi chiedo: è possibile???
    Mi indicate qualche sito che tratta l'argomento???

    Grazie
    solo alla stregua di un sogno mi troverò, e non vorrò più svegliarmi...

  2. #2
    Quale sarebbe il problema?

    Aggiorna il campo posizione come aggiorni qualsiasi altro campo.

  3. #3
    grazie filippo.toso
    ecco, non ho detto che voglio modificare tutte le posizioni in un colpo solo...
    solo alla stregua di un sogno mi troverò, e non vorrò più svegliarmi...

  4. #4
    Originariamente inviato da cybergiaggia
    non ho detto che voglio modificare tutte le posizioni in un colpo solo...
    Continuo a non comprendere il problema. Vuoi incrementare di 1 tutte le posizioni maggiori di 3?

    Codice PHP:
    UPDATE table SET posizione posizione 1 WHERE posizione 

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2000
    residenza
    Edinburgh
    Messaggi
    401
    questo perchè poi in pagina richiamo i contenuti di ciascuna riga con questa query, una per ogni riga che voglio visualizzare
    Conviene usare:

    codice:
    SELECT testata, testo FROM div_home ORDER BY posizione
    In questo modo non fai una query per ogni riga...

    Per modificare la posizione usi semplicemente update

    Es: l'entry con id=25 ha posizione 38 e l'entry con id=34 ha posizione 39
    Le vuoi scambiare, usi:

    codice:
    UPDATE div_home SET posizione = 38 WHERE id=34
    e poi

    codice:
    UPDATE div_home SET posizione = 39 WHERE id=25

  6. #6
    Grazie a tutti!
    Effettivamente non ho brillato per chiarezza... :master:

    Immaginate un CMS dove ho un elenco degli articoli inseriti in tabella identificati dalla posizione assegnata (1, 2, 3, ecc.). Es:
    1 - articolo X
    2 - articolio Y
    ...

    In pagina gli articoli hanno già una posizione assegnata (1, 2, 3, ecc.).

    Vorrei riuscire a modificare la posizione assegnata a ciascun articolo tramite CMS. Es:
    2 - articolo X
    1 - articolio Y
    ...

    E riuscire a farlo in una unica sessione, con una unica interfaccia.

    Perdonate l'ingordigia...
    solo alla stregua di un sogno mi troverò, e non vorrò più svegliarmi...

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2000
    residenza
    Edinburgh
    Messaggi
    401
    Scusami ma non capisco il problema: se vuoi cambiare i valori nel DB usa le query che ti ho scritto sopra.

  8. #8
    Utente di HTML.it L'avatar di echoweb
    Registrato dal
    Sep 2008
    Messaggi
    419
    Originariamente inviato da cybergiaggia
    Grazie a tutti!
    Effettivamente non ho brillato per chiarezza... :master:

    Immaginate un CMS dove ho un elenco degli articoli inseriti in tabella identificati dalla posizione assegnata (1, 2, 3, ecc.). Es:
    1 - articolo X
    2 - articolio Y
    ...

    In pagina gli articoli hanno già una posizione assegnata (1, 2, 3, ecc.).

    Vorrei riuscire a modificare la posizione assegnata a ciascun articolo tramite CMS. Es:
    2 - articolo X
    1 - articolio Y
    ...

    E riuscire a farlo in una unica sessione, con una unica interfaccia.

    Perdonate l'ingordigia...
    forse ho capito cosa vuoi fare....

    nella query update, devi usare un campo aggiuntivo nella where ovvero

    codice:
    UPDATE nome_tabella 
    SET posizione = 1 
    WHERE posizione = 2 and nome_articolo='articolo x'
    Spero di aver capito quello che intendevi...


    "Non soffocare la tua ispirazione e la tua immaginazione,
    non diventare lo schiavo del tuo modello"

    Vincent van Gogh

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2000
    residenza
    Edinburgh
    Messaggi
    401
    Che è la stessa cosa che ho scritto io, solo usando gli id che è più veloce...

  10. #10
    Utente di HTML.it L'avatar di echoweb
    Registrato dal
    Sep 2008
    Messaggi
    419
    siccome non so se nel database adoperato esiste o no il campo ID, ho messo nella query i campi che penso di aver capito che di sicuro esistono...

    nell'esempio postato, c'è
    __________________________
    POSIZIONE | NOME_ARTICOLO
    __________________________
    1.................| articolo X
    2.................| articolio Y
    __________________________

    quello che hai postato tu, anche per me va benissimo


    "Non soffocare la tua ispirazione e la tua immaginazione,
    non diventare lo schiavo del tuo modello"

    Vincent van Gogh

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.