Visualizzazione dei risultati da 1 a 5 su 5

Discussione: duplicati

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    216

    duplicati

    ciao,
    nel riempire una tabella di un database (2 campi: id autoincrement e nome) devo far si che il nome che inserisco non sia già presente.L'inserimento lo faccio con un form html. Esiste una funzione per fare questo controllo?

    Oppure, come in Access c'è una parola chiave che non permetta i duplicati (duplicati non ammessi) quando vado a creare la tabella? Se è possibile ciò come stampo un messaggio di errore personalizzato?

    O devo usare l'istruzione tipo
    SELECT nome FROM tabella WHERE nome=parola
    e poi scorrere l'array e verificare se la parola è già presente?

  2. #2
    setta il campo con indice UNIQUE e ti impedira' di inserire doppioni. Personalmente preferisco fare una select count()..

    SELECT COUNT(*) FROM tabella where nome = '$nome_da_inserire'

    se il risultato fosse > 0 significa che il record e' gia' presente e quindi lo gestisci di conseguenza... magari serve un update.

    L'indice UNIQUE lo metto comunque per parare inserimenti fatti non tramite form ma direttamente da shell o altre vie...i. per esempio da un restore incrementale errato.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    216
    grazie.
    Solo un altra domanda. Usando SELECT COUNT qual è la variabile che memorizza il numero di volte che una certa voce è presente nella tabella?
    Cioè scrivo

    $query ="SELECT COUNT.....";

    poi invio la query,
    mysql_query ($query, $connessione);

    a questo punto voglio fare il controllo per vedere quante volte è presente, o almeno se è >0

    if (??? <0)

  4. #4
    Originariamente inviato da raff5184
    grazie.
    Solo un altra domanda. Usando SELECT COUNT qual è la variabile che memorizza il numero di volte che una certa voce è presente nella tabella?
    Cioè scrivo

    $query ="SELECT COUNT.....";

    poi invio la query,
    mysql_query ($query, $connessione);

    a questo punto voglio fare il controllo per vedere quante volte è presente, o almeno se è >0

    if (??? <0)
    codice:
    $query = " select count(*) from etc..
    $res = mysql_query($query) or die (mysql_error());
    $row = mysql_fetch_row($res);
    
    if($row[0] > 0 )  { echo "nome già presente";  }

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    216
    grazie mille

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.