Pagina 2 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 33

Discussione: sql + php facile

  1. #11
    Originariamente inviato da trafalguar
    Ora provo a creare la tabella e lo testo.. così a occhio e croce però mi sembra che è un pò diverso da quello che dicevo.. allora la tabella ha 2 campi, campocode, camponum. Ora, se il codice lo trova incrementa di 1 il camponum e poi stampa a video il valore del camponum, altrimenti quando va a creare campocode deve comunque incrementare camponum e stampare a video il valore del camponum..
    batmark puoi integrare le query con il codice del form ed inserire anche la stampa a video finale del valore del camponum? quando provo io a fare i puzzle senza capire vien fuori solo che non funziona niente..

  2. #12
    Codice PHP:
    <?php
    if (isset($_POST['invia'])) {

    /*apri la connessione al database*/
    $conn=mysql_connect("mysql_server""utente_mysql""password_mysql"
    or die(
    "Connessione non riuscita: " mysql_error());

    /*ricavi il codice inserito nel form*/
    $code=$_POST['code'];

    /*crei la query di aggiornamento*/
    $query "UPDATE tabname SET camponum=camponum+1 WHERE campocode='$code' ";

    /*esegui la query*/
    $result mysql_query($query$conn) or die(mysql_error());

    /*controlli che la query abbia modificato qualcosa, il che significa che il codice esiste*/
    if (mysql_affected_rows($conn)==0) {

    /*se il codice non c'è viene inserito nel db con la query seguente, che imposta il valore 
    del camponum a 1*/
    $query "INSERT INTO tabname(campocode, camponum) VALUES ('$code', '1')";
    $result mysql_query($query$conn) or die(mysql_error());
    $val_campo_numero 1;

    } else {
    /*recuperi il valore di camponum dal db per la visualizzazione a video*/
    $query="SELECT camponum FROM tabname WHERE campocode='$code' ";
    $result=mysql_query($query$conn) or die(mysql_error());
    $val_campo_num=mysql_fetch_field($result);
    }


    echo 
    $val_campo_numero;

    } else {
    ?>
    <form action="tuapagina.php" method="post">

    <input type="text" name="code" value="Inserisci qua il tuo codice" />

    <input type="submit" name="invia" value="Invia" />
    </form>
    <?php
    }
    ?>
    Prova un pò con questo.

    Purtroppo se devi mostrarlo a video perdi il risparmio sulle query...

    Fammi sapere!
    Ciao

  3. #13
    In effetti ora che ci penso io mi ero scordato la QUERY per aggiornare il DB sommando 1... Comunque mo quello di batmark dovrebbe andare...


  4. #14
    Non riesco neanche a creare la tabella con i giusti campi

  5. #15
    Originariamente inviato da trafalguar
    Non riesco neanche a creare la tabella con i giusti campi
    Codice PHP:
    $query "CREATE TABLE IF NOT EXISTS nometabella (
    campocode int(10) NOT NULL,
    camponum int(10) NOT NULL
    )"
    ;

    $results mysql_query($query) or die(mysql_error()); 

  6. #16
    ok, sto modificando in base alle esigenze.. ma perchè così non funziona?

    codice:
    $conn=mysql_connect($dbhost, $dbuser, $dbpass) or die("Connessione non riuscita: " . mysql_error()); 
     mysql_select_db($dbname,$conn) or die("Impossibile selezionare il database $dbname");
     $query = "UPDATE referrals SET earned=earned+1 WHERE account='$ref' "; 
     $result = mysql_query($query, $conn) or die(mysql_error()); 
     if (mysql_affected_rows($conn)==0) { 
     $query = "INSERT INTO referrals(account, earned, payed) VALUES ('$ref', '1', '0')"; 
     $result = mysql_query($query, $conn) or die(mysql_error());
     }
    cioè non dà nessun errore ma neanche scrive niente, la tabella l'ho creata così:

    codice:
    CREATE TABLE IF NOT EXISTS referrals (
    account int(10) NOT NULL,
    earned int(10) NOT NULL,
    payed int(10) NOT NULL
    )

  7. #17
    Originariamente inviato da trafalguar
    ok, sto modificando in base alle esigenze.. ma perchè così non funziona?

    codice:
    $conn=mysql_connect($dbhost, $dbuser, $dbpass) or die("Connessione non riuscita: " . mysql_error()); 
     mysql_select_db($dbname,$conn) or die("Impossibile selezionare il database $dbname");
     $query = "UPDATE referrals SET earned=earned+1 WHERE account='$ref' "; 
     $result = mysql_query($query, $conn) or die(mysql_error()); 
     if (mysql_affected_rows($conn)==0) { 
     $query = "INSERT INTO referrals(account, earned, payed) VALUES ('$ref', '1', '0')"; 
     $result = mysql_query($query, $conn) or die(mysql_error());
     }
    cioè non dà nessun errore ma neanche scrive niente, la tabella l'ho creata così:

    codice:
    CREATE TABLE IF NOT EXISTS referrals (
    account int(10) NOT NULL,
    earned int(10) NOT NULL,
    payed int(10) NOT NULL
    )
    Intanto se account è un valore stringa devi fare

    Codice PHP:
    account varchar(255NOT NULL 
    Io avevo messo int(10) per farti un esempio...

    Prova anche solo cambiando questo...

  8. #18
    Ho provato ma niente, con il codice:

    Codice PHP:
      $conn=mysql_connect($dbhost$dbuser$dbpass) or die("Connessione non riuscita: " mysql_error()); 
     
    $query "UPDATE referrals SET earned=earned+1 WHERE account='$ref' "
     
    $result mysql_query($dbname,$query$conn) or die(mysql_error()); 
     if (
    mysql_affected_rows($conn)==0) { 
     
    $query "INSERT INTO referrals(account, earned, payed) VALUES ('$ref', '1', '0')"
     
    $result mysql_query($dbname,$query$conn) or die(mysql_error()); 
    Mi restituisce quest'errore: Warning: Wrong parameter count for mysql_query() in /home/ltpgroup/public_html/done.php on line 47

    e la linea 47 corrisponde a: $result = mysql_query($dbname,$query, $conn) or die(mysql_error());

    Il codice postato da batmark quando si collega al database gli passa sempre e solo l'host, username e pass, ma non bisogna passare anche il nome del database? Come ho provato a fare sopra, ma senza risultati

  9. #19
    Originariamente inviato da trafalguar
    Ho provato ma niente, con il codice:

    Codice PHP:
      $conn=mysql_connect($dbhost$dbuser$dbpass) or die("Connessione non riuscita: " mysql_error()); 
     
    $query "UPDATE referrals SET earned=earned+1 WHERE account='$ref' "
     
    $result mysql_query($dbname,$query$conn) or die(mysql_error()); 
     if (
    mysql_affected_rows($conn)==0) { 
     
    $query "INSERT INTO referrals(account, earned, payed) VALUES ('$ref', '1', '0')"
     
    $result mysql_query($dbname,$query$conn) or die(mysql_error()); 
    Mi restituisce quest'errore: Warning: Wrong parameter count for mysql_query() in /home/ltpgroup/public_html/done.php on line 47

    e la linea 47 corrisponde a: $result = mysql_query($dbname,$query, $conn) or die(mysql_error());

    Il codice postato da batmark quando si collega al database gli passa sempre e solo l'host, username e pass, ma non bisogna passare anche il nome del database? Come ho provato a fare sopra, ma senza risultati
    Togli $dbconn dall'esecuzione della query...

  10. #20
    ma $dbconn non esiste!

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.