Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. Campo non duplicabile
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • T
      thedarkita ModSenior • ultima modifica di

      Ciao cla83,

      puoi impostare il campo come unique.

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • C
        cla83 User Attivo • ultima modifica di

        Ciao Thedarkita, grazie per la risposta. Avevo provato a impostarlo unique, però nel pannello phpmyadmin l'icona per far diventare il campo 'unique' non è cliccabile, solo nell'id lo è sia la chiave primaria che l'unique.
        Il campo codice è di tipo text, perchè potrebbe contenere anche lettere.

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • massimux
          massimux Moderatore • ultima modifica di

          Ciao,

          effettivamente potrebbe dipendere dalla lunghezza del tuo campo; come è settato?

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • C
            cla83 User Attivo • ultima modifica di

            Posto la struttura della tabella, non so è quello che intedevi.

            --
            -- Struttura della tabella prodotti

            CREATE TABLE IF NOT EXISTS prodotti (
            id int(11) NOT NULL auto_increment,
            id_menu text NOT NULL,
            id_sottomenu text NOT NULL,
            titolo text NOT NULL,
            codice text NOT NULL,
            foto text NOT NULL,
            PRIMARY KEY (id)
            ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=27 ;

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • T
              thedarkita ModSenior • ultima modifica di

              I campi text non possono essere impostati primary key, unique o index, se non hai bisogno che il campo sia cosi lungo puoi trasformarlo in varchar.

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • C
                cla83 User Attivo • ultima modifica di

                Grazie! Adesso va bene, mi da anche l'errore duplicate key. Non vorrei ottenere una cosa complessa, ma come potrei fare una volta cliccato il pulsante inserisci record invece di aprire la pagina con l'errore mi compaia l'errore nella pagina stessa?

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • T
                  thedarkita ModSenior • ultima modifica di

                  Invece di mettere or die, puoi settare una variabile flag e personalizzarti l'errore come vuoi.

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • C
                    cla83 User Attivo • ultima modifica di

                    Dovrei agire dove sta 'or die(mysql_error()) ?'

                    [PHP]

                    if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
                    $insertSQL = sprintf("INSERT INTO prodotti (id, id_menu, id_sottomenu, titolo,lin, codice, foto, varianti) VALUES (%s,%s,%s,%s,%s,%s, %s, %s)",
                    GetSQLValueString($_POST['id'], "int"),
                    GetSQLValueString($_POST['id_menu'], "text"),
                    GetSQLValueString($_POST['id_sottomenu'], "text"),
                    GetSQLValueString($_POST['titolo'], "text"),
                    GetSQLValueString($_POST['lin'], "text"),
                    GetSQLValueString($_POST['codice'], "text"),
                    GetSQLValueString($_FILES['foto']['name'], "text"),
                    GetSQLValueString($_FILES['varianti']['name'], "text"));

                    mysql_select_db($database_conn, $conn);

                    // in questo punto qui?
                    $Result1 = mysql_query($insertSQL, $conn) or die(mysql_error());

                    [/PHP]

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • T
                      thedarkita ModSenior • ultima modifica di

                      Si, puoi trasformarlo in:
                      [php]
                      $Result1 = mysql_query($insertSQL, $conn) or $err = true;
                      [/php]

                      Dopo ti basterà controllare se $err è settato, per sapere se c'è stato un errore.

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • C
                        cla83 User Attivo • ultima modifica di

                        Potresti farmi un esempio di come settarlo? solo se non è un cosa complicata da fare.

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • massimux
                          massimux Moderatore • ultima modifica di

                          @Thedarkita said:

                          Si, puoi trasformarlo in:
                          [php]
                          $Result1 = mysql_query($insertSQL, $conn) or $err = true;
                          [/php]

                          Dopo ti basterà controllare se $err è settato, per sapere se c'è stato un errore.

                          Ciao,

                          qui è spiegato come settare la variabile mettendola a "true" poi devi solo inserire una condizione su di essa e stamparti a video l'errore o scegliere cosa far visualizzare.

                          Attendo una tua prova 😉

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          Caricamento altri post
                          Rispondi
                          • Topic risposta
                          Effettua l'accesso per rispondere
                          • Da Vecchi a Nuovi
                          • Da Nuovi a Vecchi
                          • Più Voti