Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    617

    Controllare record di tabella da array!

    Mi spiego al meglio che posso!

    In una pagina ho dei checkbox dove seleziono dei nomi,siccome fanno parte della stessa tipologia, li chiudo in un array, con l'invio dei dati però ho un problema.

    ogni valore dell'array deve essere messo in un record di una tabella e fin qui tutto bene, però vorrei evitare che in un successivo invio si selezionino dei nomi già immessi nella tabella.
    Per fare questo ho scritto questo script:

    $query="SELECT* FROM tabella WHERE nome_cognome='$_GET[......]' ";
    $risultato = mysql_query($query);
    $num = mysql_num_rows ($risultato);
    if($num == '1'){echo"Presente";}
    else{ continuo con l'inserimento

    Così però l'inserimento lo fa lo stesso, secondo me perchè quella variabile $get la riconosce come array generico e non come un singolo nome, infatti se faccio lo stesso script con nomi e non con variabili, funziona tutto.

    Come fare?
    Chiedo a voi sapienti.
    Grazie anticipatamente

  2. #2
    Prova a spiegarti un pò meglio, non riesco a capire quale sia il tuo reale problema...


    Con lo script che hai postato, l'inserimento avviene solo se ci sono due risultati uguali.

    Se avviene sempre, vuol dire che il tuo $_GET contiene dati che fanno si che mysql_num_row sia DIVERSO da 1...

    Fai un echo $_GET e facci vedere cosa viene fuori

    Se lo hai impostato come un'array dovresti usare le apposite funzioni per spezzarlo in modo da avere le informazioni divise.. Anche perche' credo che tu voglia avere solo determinate cose che non possano essere "doppie"
    www.youcity.it Il Sito dove poter pubblicizzare la tua azienda gratuitamente!

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    magari posta anche le query di inserimento che mi pare di capire ti funzionino e i tag INPUT che generi (per vedere che attributo NAME hanno)


    NOTA: naturalmente - ma forse era solo per l'esempio - non generare mai le query dando direttamente "in pasto" la variabile $_GET senza filtrarla preventivamente!

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    617
    else{
    //determino le variabili
    $nome_port=$_GET['portiere'];
    $nome_dif=$_GET['difensore'];
    $nome_cent=$_GET['centrocampista'];
    $nome_att=$_GET['attaccante'];
    //controlla che siano array,li conta e ogni valore lo mette nella tabella
    if( is_array($nome_port) )
    {count($nome_port);
    reset($nome_port);
    foreach ($nome_port as $value) {
    $inserimento="INSERT INTO fantasquadre(nome_cognome,ruolo,fantaclub) VALUES('$value','Portiere','$squadra')";
    $controllo=mysql_query($inserimento) or die(mysql_error());
    }
    }

    questa è la query di inserimento del primo array tutte le altre sono uguali quindi non le posto cambiano solo le variabili.

    Cerco di spiegarmi ancora meglio.
    Provando lo script postato in precedenza su una pagina a parte tutto funziona bene, se a nome_cognome metto un nome e cognome presente nella tabella, l'inserimento del doppione non avviene.
    Con le variabili però questo non accade probabilmente perchè la variabili $_get è un array e non un nome singolo.
    Come fare a "spezzare" l'array e a tirare fuori i singoli nomi?Per completezza vi dico che se faccio l'echo di quella variabili mi esce scritto Array.
    Grazie anticipatamente

    Pd:Per conoscenza cosa intendi per filtrare la variabile $get?

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.