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.
    • 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