Visualizzazione risultati 1 fino 10 di 10

Discussione: problema query-form

  1. #1
    Guest

    Predefinito problema query-form

    i miei problemi sono i seguenti...

    da un form devo prendere due indici e due numeri(4 int in parole povere)
    da inserire nella query:

    UPDATE db SET punti=punti+(variabile del form), partite=partite+1 ,pperse=pperse+1 WHERE id=(variabile del form);

    praticamente aggiornare i campi partite e pp,pv ecc tramite i dati inseriti dalla form

    nel codice php

    $updatec=????????????->ci andrebbe la stringa della query che non riesco a formattare inserendo le variabili...HELP!!!

    mysql_query($updatec);

    ho provato echo $updatec,ed effettivamernte i valori del form non compaiono...

    ecco il form della pagina html:

    <form id="form1" name="form1" method="post" action="ecc.php">

    ...

    <select name="RisFuoriCasa">
    <option value"0">0</option>
    <option value"1">1</option>
    <option value"2">2</option>
    <option value"3">3</option>
    </select>
    <label>INVIA
    <input type="submit" name="submit" value="submit" />


    come faccio a passare il valore di RisFuoriCasa alla query del file php????

    la query in se funge...

    ci deve essere qualcosa che manco quando passo i valori del form...

    l'ideale poi era farlo tutto nella stessa pagina php,ma mi accontento gia' solo di riuscire a passare i valori...

  2. #2
    Guest

    Predefinito

    Quando usi un form invii la variabile name="" con il metodo da te specificato method="" alla pagina action="".
    Per recuperare il valore della variabile nella pagina di action devi usare questi array:
    Codice PHP:
    $_GET['nomevariabile-passata-col-form'] // Se il method è di tipo get
    $_POST['nomevariabile-passata-col-form'] // Se il method è di tipo post

  3. #3
    Guest

    Predefinito

    $RisCasa=$_POST['RisCasa'];

    ok adesso per utilizzare questa nella query
    posso fare:

    $updatec='UPDATE db SET punti=punti+'.$RisCasa.', partite=partite+1 ,pperse=pperse+1 WHERE id='.$Casa;

    mysql_query($updatec);

    cioe' in php posso fare questa "append"???

    o va bene anche:

    $updatec="UPDATE db SET punti=punti+$RisCasa, partite=partite+1 ,pperse=pperse+1 WHERE id=$Casa";

    mysql_query($updatec);

    qual'e' la forma canonica per inserire in una query una varibile??

    perche' in tutt'e' due i casi se mi faccio per prova una "echo $updatec" la stringa che mi stampa non comprende i due valori delle variabili!!!

    grazie cmq

  4. #4
    Ospite Guest

    Predefinito

    per fare come dici te che gli dici esattamente di aggiornare mettendo nel campo i punti esatti, tipo 36, dovresti prima prenderti il valore con una select...
    cmq puoi fare se non sbaglio anche SET punti=punti+3 (come sembra che vuoi fare anche te..) per dirgli di aumentare il numero di punti di 3.. quindi non hai necessariamente bisogno di prenderti il valore prima..
    per quanto riguarda quale delle due è giusta per mettere una variabile in una stringa.. entrambe.. ma solo se dopo il nome della variabilen on ci sono altre lettere normali.. tipo echo "$ciaoa"; non ti stampa il valore di $ciao e poi 'a'...

  5. #5
    Guest

    Predefinito

    grazie...

    adesso il problema e' un altro...

    ho provato a mettere get al posto di post nella form...

    ed e' come sospettavo...

    se faccio per esempio come input una text ok,scrivo ciao nel file php nella variabile mi ritrovo "ciao"...

    con la select qualunque sia la mia scelta nella variabile poi non c''e niente!!!!

    per questo non mi aggiornava il db tramite la query...
    la cosa e' alquanto strana...

    e' normale se poi che se metto piu' input nella stessa form se poi provo a fare echo me ne visualizzi una sola????

    eppure dalla barra degli indirizzi vedo che get passa i due valori delle text al file php...

    boh...

  6. #6
    Ospite Guest

    Predefinito

    boh dovresti postare il codice sia del form sia della pagina php..

  7. #7
    Guest

    Predefinito

    PROVA.PHP
    -----------------
    <form id="form1" name="form1" method="get" action="PAGINA.php">
    <label></label>
    <label></label>
    <label>PLAYER1
    <select name="Casa">
    <option value"0">alkchan</option>
    ...OMISSIS(25 OPZIONI)

    </select>
    </label>
    <label>PLAYER2
    <select name="FuoriCasa">
    <option value"0">alkchan</option>
    ...OMISSIS(25 OPZIONI)

    </select>
    RISULTATO:
    </label>
    <label>
    <select name="RisCasa">
    <option value"0">0</option>
    <option value"1">1</option>
    <option value"2">2</option>
    <option value"3">3</option>
    </select>
    </label>
    A
    <select name="RisFuoriCasa">
    <option value"0">0</option>
    <option value"1">1</option>
    <option value"2">2</option>
    <option value"3">3</option>
    </select>
    <label>INVIA

    <input type="submit" name="Submit" value="Submit" />
    </label>
    </form>



    PAGINA.PHP
    ------------------------------------------------------
    <?php

    $Casa=$_GET['Casa'];
    $RisCasa=$_GET['RisCasa'];
    $FuoriCasa=$_GET['FuoriCasa'];
    $RisFuoriCasa=$_GET['RisFuoriCasa'];


    include("CONFIG.php");(PER LA CONNESISONE)



    $db = mysql_connect($db_host, $db_user, $db_password);

    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file ");
    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file ");


    if($RisCasa<2)
    {
    $updatec="UPDATE DB SET punti=punti+".$RisCasa.", partite=partite+1 ,pperse=pperse+1 WHERE id=".$Casa;
    mysql_query($updatec);

    }
    else if($RisCasa>=2)
    {
    $updatec="UPDATE DB SET punti=punti+".$RisCasa.", partite=partite+1,pvinte=pvinte+1 WHERE id=".$Casa;
    mysql_query($updatec);

    }

    if($RisFuoriCasa<2)
    {
    $updatef="UPDATE DB SET punti=punti+".$RisFuoriCasa.", partite=partite+1 ,pperse=pperse+1 WHERE id=".$FuoriCasa;
    mysql_query($updatef);

    }
    else if($RisFuoriCasa>=2)
    {
    $updatef="UPDATE DB SET punti=punti+".$RisFuoriCasa.", partite=partite+1,pvinte=pvinte+1 WHERE id=".$FuoriCasa;
    mysql_query($updatef);

    }

    mysql_close();

    echo $Casa;
    echo $RisCasa;
    echo $FuoriCasa;
    echo $RisFuoriCasa;

    (QUESTE ECHO NON MI RESTITUISCONO NIENTE...)(POI QUANDO HO MESSO GET AL POSTO DI POST HO NOTATO CHE I VALORI NELLA BARRA NON C'ERANO...QUINDI SBAGLIERO' QUALCOSA NEL FORM,DATO CHE LE QUERY FUNZIONANO PROVATE A PARTE,E UNA FORM TEXT FUNZIONA,IL PROBLEMA E SULLE SELCT MA NON CAPISCO PERCHE' NON PASSI I VALORI A PAGINA.PHP...)
    ?>

  8. #8
    Ospite Guest

    Predefinito

    dimentichi l'uguale tra value e il valore...

    <option value="0">0</option> e non <option value"0">0</option>
    (con l'uguale...)

  9. #9
    Guest

    Predefinito

    NOOOOOOOOOOOOOOOOOOOOOOOOOOO!!!!

    CHE BABBAZZO CHE SONO!!!(ME LO DICO DA SOLO VA )

    GRAZIE PER LA PAZIENZA!!!!!

  10. #10
    Guest

    Predefinito

    alkchan evita di scrivere maiuscolo, è come urlare.
    Topic risolto -> chiudo.


    Ciao!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •