Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: Collegamento 1:1

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    248

    Collegamento 1:1

    Salve,

    sto uscendo pazzo. Ho controllato i lcodice + volte e non capisco dove sbaglio.
    Ho 2 Tabelle Comuni e Regioni
    Comuni:
    mysql_query("CREATE TABLE Comuni (
    `Progressivo` int(4) NOT NULL AUTO_INCREMENT,
    `Descrizione` varchar(25) NOT NULL,
    `CAP` char(5) NOT NULL,
    `Prov` char(2) NOT NULL,
    `CodIstat` char(6) NOT NULL,
    `Regione` int(3) NOT NULL,
    UNIQUE KEY `Progressivo` (`Progressivo`),
    UNIQUE KEY `Descrizione` (`Descrizione`)
    ) AUTO_INCREMENT=1") or die(mysql_error());

    Regioni:
    mysql_query("CREATE TABLE Regioni (
    `Progressivo` int(3) NOT NULL AUTO_INCREMENT,
    `Descrizione` varchar(25) NOT NULL,
    `Capoluogo` varchar(25) NOT NULL,
    `Provincia` char(2) NOT NULL,
    `Codice` char(2) NOT NULL,
    `RipartizioneGeografica` varchar(20) NOT NULL,
    `ProvinciaCod` char(3) NOT NULL,
    UNIQUE KEY `Progressivo` (`Progressivo`),
    UNIQUE KEY `Descrizione` (`Descrizione`)

    ed in una pagina dove visulizzo i dati del comune o un campo con una select per la scelta della regione.
    La qry funziona e mi permette la scelta della regione, ma quando salvo non me la memorizza.
    Questa è la query per l'UPDATE:
    $cSql = 'UPDATE Comuni SET Descrizione=?, Cap=?, Prov=?, CodIstat=?, Regione=? WHERE Progressivo = ?';

    E questo é il risultatao del var_dump:
    array
    'Prog' => string '7442' (length=4)
    'Des' => string 'aa Recchia' (length=11)
    'Cap' => string '82100' (length=5)
    'Prov' => string 'BN' (length=2)
    'Regi' => string 'ABANO TERMEaa' (length=13)
    'Agg' => string 'Aggiorna' (length=8)

    La var esiste, ma non la memoerizza.

    Dove sbaglio?

    grazie Gaetano

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    dovresti dumpare la query esattamente e provare ad eseguirla da una console (es. phpmyadmin): se non funziona dovresti vedere l'errore, altrimenti c'è un problema tra la generazione della query e la sua esecuzione (viene effettivamente eseguita?)

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    248
    che significa dumpare la qry esattamente.

    Da PhpAdmin, come faccio ad usare l'array?

  4. #4
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    stampa l'errore a video e vedi cosa restituisce:

    Codice PHP:
    $cSql mysql_query("UPDATE Comuni SET Descrizione=?, Cap=?, Prov=?, CodIstat=?, Regione=? WHERE Progressivo = ?") or die (mysql_error()); 

  5. #5

    Re: Collegamento 1:1

    Originariamente inviato da Gae58
    $cSql = 'UPDATE Comuni SET Descrizione=?, Cap=?, Prov=?, CodIstat=?, Regione=? WHERE Progressivo = ?';
    Come valorizzi le variabili contenute nella query?
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    248
    ho inserito or die e non mi ritorna alcun errore.

    Il contenuto delle variabili è dato dal $_POST[] dela pagina con POST

    Non è che quando salvo devo salvare il numero progressivo della regione e non la descrizione?

  7. #7
    Se non posti il codice è tutto inutile. Posta almeno il pezzo in cui componi la query, valorizzi le variabili in essa contenute e la esegui.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    248
    La maggior parte del codice è sul primo messaggio.
    Questo è il codice della pagina .php inserito all'interno di una form:
    <span class="Des">Comune</span><?php Spazi(1);?> <input type="text" class="Vis" name="Des" value="<?php echo $Campo[1]; ?>" size=30 maxlength=25 >


    <span class="Des">Cap</span><?php Spazi(1);?> <input type="text" class="Vis" name="Cap" value="<?php echo $Campo[2]; ?>" size=6 maxlength=5 >


    <span class="Des">Provincia</span><?php Spazi(1);?> <input type="text" class="Vis" name="Prov" value="<?php echo $Campo[3]; ?>" size=3 maxlength=2 >



    <span class="Des">Regione</span><?php Spazi(1);?> <select name="Regi"> <?php SelectVis('Descrizione', 'Regioni', $Campo['Descrizione']) ?> </select>

    La funzione della select funziona

    e ques è il codice dell'update:
    $cSql = 'UPDATE Comuni SET Descrizione=?, Cap=?, Prov=?, CodIstat=?, Regione=? WHERE Progressivo = ?';
    $aPara = array( $Var['Des'], $Var['Cap'], $Var['Prov'], '', $Var['Regi'], $Var['Prog'] );
    $cQry = null;
    $cQry = cQuery( $Conn, $cSql, $aPara );
    break;

    Tieni presente che uso il PDO

    Scusami, ma non è che nella query dell'UPDATE devo inserire anche la JOIN?

  9. #9
    cQuery() cos'è?
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    248
    leggendo un po' in giro, ho scoperto che devo inserire la join nella query

    cQuery è una mia funzione centralizzata per eseguire le query col PDO

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.