Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di kepal
    Registrato dal
    Apr 2004
    Messaggi
    260

    Integrazione di tre tabelle HELP!!!

    <?

    session_start();

    if (!(isset($_SESSION['nick']))){
    die("Non hai accesso a questa pagina");
    }

    include("config.inc.php");
    $db = mysql_connect($db_host, $db_user, $db_password);

    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");

    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

    $partita=$_POST['partita'];
    $giocatore=$_POST['giocatore'];
    $pagella=$_POST['pagella'];
    $aggettivo=$_POST['aggettivo'];
    $voto1=$_POST['voto1'];
    $voto2=$_POST['voto2'];
    $voto=$voto1+$voto2;

    stripslashes($gm);
    htmlspecialchars($gm);
    nl2br($gm);

    $query1 = "SELECT id_partita FROM partite WHERE '$partita'=partita";

    $id_partita = mysql_query($query1, $db) or die(mysql_error());

    $query2 = "SELECT id_giocatore FROM giocatori WHERE '$giocatore'=nome";

    $id_giocatore = mysql_query($query2, $db) or die(mysql_error());

    $query3 = "INSERT INTO pagelle (id_giocatore, id_partita, pagella, aggettivo, voto)
    VALUES ( '$id_giocatore' , '$id_partita' , '$pagella' , '$aggettivo' , '$voto' )";

    $res = mysql_query($query3, $db) or die(mysql_error());
    if ($res) {
    {echo "<p align=\"left\" class=\"admin\">L'inserimento è avvenuto con successo";}
    {echo "
    <href=\"menuadmin.php\">Torna al Menù</a></p>";}
    }else
    echo ("Errore durante l'inserimento");

    mysql_close($db);

    ?>


    Con questo codice, devo prendere l'ID di una partita e di un giocatore (inserito dall'utente) e metterlo due campi di una terza tabella (pagella).

    Nell'inserimento non mi da nessun errore (tranne un Notice per il $gm), ma nella tabella 'pagelle' l'ID della partita e del giocatore sono sempre '0'.

    N.B: La prima tabella è formato dall'elenco dei giocatori, la seconda dall'elenco delle partite...

    Grazie a tutti

    Ciao Simo
    ...IL GIANSA...

  2. #2
    In $id_partita trovi il resource #id cioe' il numero id che identifica la risorsa impegnata e non l'id che cerchi nel record.

    codice:
    $query1 = "SELECT id_partita FROM partite WHERE partita = '$partita'"; 
    
    $result = mysql_query($query1, $db) or die(mysql_error()); 
    
    $row = mysql_fetch_assoc($result);
    
    $id_partita = $row['id_partita'];
    e questo vale anche per la query successiva.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it L'avatar di kepal
    Registrato dal
    Apr 2004
    Messaggi
    260
    Grazie mille piero.mac!

    Il problema si è risolto, ma mi dà sempre errore NOTICE per quel $gm!

    Serve per toglire i caratteri strani dal testo, ma cosa c'è che non va?

    Ciao Simo
    ...IL GIANSA...

  4. #4
    Originariamente inviato da kepal
    Grazie mille piero.mac!

    Il problema si è risolto, ma mi dà sempre errore NOTICE per quel $gm!

    Serve per toglire i caratteri strani dal testo, ma cosa c'è che non va?

    Ciao Simo


    Conosco solo due gm.... uno e' la General Motor, e l'altro e' gm moderatore su questo forum. Cose' "quel" $gm.... dove viene valorizzato? la segnalazione dice che non esiste.



    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it L'avatar di kepal
    Registrato dal
    Apr 2004
    Messaggi
    260
    Quando si inseriscono dei messaggi, caratteri come apostrofi ecc. possono creare conflitto con il codice SQL.

    Nel sito di HTML.IT ho visto queste piccole istruzioni che toglievano il problema.

    Ma mi da questi errori...


    Ciao Simo
    ...IL GIANSA...

  6. #6
    Originariamente inviato da kepal
    Quando si inseriscono dei messaggi, caratteri come apostrofi ecc. possono creare conflitto con il codice SQL.

    Nel sito di HTML.IT ho visto queste piccole istruzioni che toglievano il problema.

    Ma mi da questi errori...


    Ciao Simo
    Questo lo avevo capito, quello che non si vede e' dove viene valorizzato $gm. Poi dovresti fare:
    codice:
    $gm = stripslashes($gm); 
    $gm = htmlspecialchars($gm); 
    $gm = nl2br($gm);
    ma la prima domanda e': da dove viene $gm (se qualcuno dice dalla Sicilia gli sparo).


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Utente di HTML.it L'avatar di kepal
    Registrato dal
    Apr 2004
    Messaggi
    260
    Sicuramente domanda un po' banale...

    Dentro le parentesi devo mettere una cosa tipo $_POST['messaggio'] vero?

    Ma allora se è una funzione posso non assegnarla ad una variabile qualsiasi?

    Ciao Simo
    ...IL GIANSA...

  8. #8
    Originariamente inviato da kepal
    Sicuramente domanda un po' banale...

    Dentro le parentesi devo mettere una cosa tipo $_POST['messaggio'] vero?

    Ma allora se è una funzione posso non assegnarla ad una variabile qualsiasi?

    Ciao Simo
    mi sfugge un po' qualche termine della domanda.....

    La funzione viene applicata ad una variabile oppure ad un array[indice]. Pero' il risultato di questo "filtro" va riversato da qualche parte, la variabile viene filtrata ma non modificata.

    La variabile deve esistere. Magari $gm e' un esempio del bravo gm...

    Quindi:

    $risultato_del filtro = funzione($variabile_da filtrare);

    Ovviamente questo in modo molto generico. Dovrai sempre fare riferimento al manuale per vedere quale sia la sintassi adeguata per la determinata funzione che vuoi applicare.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.