Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Check Valori doppi in tabella

    Ciao a tutti... è da poco che mi diletto con script PHP/Javascript e mi sono imbattuto in un problema:

    Ho un database mysql così composto:
    - una tabella "nomi" composta da 2 campi: index (INT) e nome (text)
    - una tabella "presenze" composta da 2 campi: presenza (text) e nome (text)

    Tramite un form vado ad inserire un nuovo nome nella tabella nomi
    codice:
    <form method='post' action='newnome.php'>
    Aggiungi Nome:
    <input type="text" name="newname" />
    <input type='submit' value='Invia' onclick="return IsEmpty(newname)"></form>
    lo script richiama newnome.php che fa:
    Codice PHP:
    include 'config.php';
    include 
    'function.php';
    mysql_query("INSERT INTO nomi (nome) VALUES ('".$_POST['newname']."')");
    echo 
    "<center>[b]Registrazione effettuata con successo[/b]

    Premere [url='index.php']QUI[/url] per tornare alla pagina di inserimento Presenza</center>"

    Vorrei aggiungere un check che prima di inviare la query mi controlli se il nome che sto inserende esiste già nel database e in caso positivo non lo aggiunga e mi dia un messaggio di errore.

    Premetto che la funzione onclick="return IsEmpty(newname)" deve convivere con questo script visto che verifica che il campo non sia vuoto.

    Grazie in anticipo

  2. #2
    prima di eseguire la insert fai una select sul valore che vuoi non sia duplicato, se il numero di righe ritornate è maggiore di zero visualizzi l'errore, in caso contrario inserisci il record
    « Se nella prima mezz'ora non capisci chi è il pollo, allora il pollo sei tu. » [Thomas "Amarillo Slim" Preston, campione del mondo di poker]

  3. #3
    scusami ma non ho capito potresti farmi un esempio? grazie

  4. #4
    Codice PHP:
    include 'config.php';
     include 
    'function.php'
    $res mysql_query("SELECT nome FROM nomi WHERE nome = '" mysql_real_escape_string($_POST['newname']) . "'";
    if (
    mysql_num_rows($res) > 0)
        die(
    "ERRORE: Nome già presente");
    else
    {
        
    mysql_query("INSERT INTO nomi (nome) VALUES ('".$_POST['newname']."')");
        echo 
    "<center>[b]Registrazione effettuata con successo[/b]

    Premere [url='index.php']QUI[/url] per tornare alla pagina di inserimento Presenza</center>"
    ;

    « Se nella prima mezz'ora non capisci chi è il pollo, allora il pollo sei tu. » [Thomas "Amarillo Slim" Preston, campione del mondo di poker]

  5. #5
    mi da un errore di sintassi adesso vedo cosa manca
    grazie

  6. #6
    trovato.. mancava una chiusura di parentesi.
    Funziona alla grande grazie 1000!!!

  7. #7
    di nulla! ciao!!
    « Se nella prima mezz'ora non capisci chi è il pollo, allora il pollo sei tu. » [Thomas "Amarillo Slim" Preston, campione del mondo di poker]

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.