Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 27
  1. #1

    Confrontare risultato select con $variabile

    Salve a tutti/e,

    io vorrei inserire la variabile ricevuta via $_POST da form nel db, solo se non è già presente nel db naturalmente. Per cui ho il mio mysql_fetch_array che stampa i risultati; come faccio a confrontarlo con la variabile ottenuta dal form?
    En la habana hay una pila 'e locos!

  2. #2
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Premetto che non sono sicuro di aver decifrato quello che hai provato a scrivere... comunque se vuoi sapere se una determinata cosa esiste già nel tuo db ti basta fare una query, magari un count, se ritorna 0 vuol dire che non c'è, altrimenti vuol dire che è presente.

  3. #3
    Mi sono forse spiegato male.
    Vorrei poter confrontare il valore di una variabile testuale con i valori testuali di un array estratti con mysql_fetch_array.

    Come si fa?
    En la habana hay una pila 'e locos!

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    puoi popolare un array con i dati del db e poi usare la funzione in_array per verificare se c'è già o meno... se però devi creare un vincolo sul db forse potresti programmare sul dbms (per es. assegnando al campo la proprietà di "unique")

  5. #5
    No, è al contrario, devo popolare il db con i dati stampati dal form, sempre che i dati non corrispondano al risultato di una query sul db contenuti in un array naturalmente!..... come si fa??
    :master:
    En la habana hay una pila 'e locos!

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    no, no: devi popolare un array... io rispondevo alla tua richiesta... fai un while con il mysql_fetch_array e dentro il ciclo popoli un array, quindi alla fine avrai qualcosa come $datineldb[] che contiene i dati già presenti nel db che dici tu, a questo punto con in_array controlli se il dato del form è già presente nella lista o meno e DOPO esegui l'INSERT sul db.

    Se invece la query che estrae i dati da controllare tira fuori un solo record allora non popoli nulla e usi l'array generato da mysql_fetch_array per il controllo

    Se non ho capito magari posta un esempio dei dati.

  7. #7
    Ho provato così, ma non funziona

    Codice PHP:
    if (isset($_POST["submit"])) {     
    $nome=$_POST["nome"];     
    $mail=$_POST["mail"];     
    $consulta $db->consulta("SELECT * FROM utenti");     
    $row $db->fetch_array($consulta);         
    if (
    in_array($mail$row)) {         
    echo 
    "Indirizzo-email buono! "; } else { echo "Indirizzo-email giá esistente! "; }                    

    Perchè??
    En la habana hay una pila 'e locos!

  8. #8
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Esattamente cosa non funziona, non l'hai scritto

    E comunque non pensi non sia una grande idea magari ciclarsi 30 mila indirizzi email ogni volta per vedere se un indirizzo è presente o meno?

    Con una query, anche piuttosto veloce, lo vedi subito se c'è o meno, senza impiegare tutte le risorse che invece una scelta simile comporta.

    E poi, il risultante di $db->consulta() e $db->fetch_array(), noi possiamo solo immaginare cosa sia, ma non ne abbiamo la certezza, dovresti scriverlo.

    Quindi, se propio vuoi adottare questa soluzione, dicci almeno che genere di array ritorna $db->fetch_array().

    Ciao

  9. #9
    Il risultante di mysql_fetch_array è questo:

    Array ( [0] => 1 [id] => 1 [1] => Andrea [nome] => Andrea [2] => Verdi [cognome] => Verdi[3] => Programmatore [professione] => Programmatore [4] => Roma [citta] => Roma [5] => andreaverdi@hotmail.com [mail] => andreaverdi@hotmail.com )
    En la habana hay una pila 'e locos!

  10. #10
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Mi sembra strano che il risultato sia quello, dovrebbe essere un array di array ( un array per ogni riga trovata... )

    in ogni caso, prova a verificare cosa ti restituisce

    Codice PHP:
    array_search('andreaverdi@hotmail.com'$row); 
    Ciao

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 © 2024 vBulletin Solutions, Inc. All rights reserved.