Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    231

    creare un form invio dati con select da altra tabella

    Salve,
    ho creato un form per inserire i dati in una tabella che si chiama corsi.
    In questo form ho una select che deve prende i nomi dei docenti da una tabella docenti, ma non me li prende. dove sbaglio?

    codice:
    <tr><th>Corso:<th><input type="text" size="12" maxlength="50" name="corso"> <tr><th>Docenti<th> 
    
    Inserire categoria
    
    <select name="docenti" > <option value="nome" selected>Seleziona</option> <?php $result = mysql_query("SELECT nome FROM docenti"); while($row = mysql_fetch_array($result)) { $nome= $row['nome']; ?> <option value="<?php echo $nome; ?>" <?php if($docenti=="".$nome."") echo 'selected'?>><?php echo $row["nome"]; ?></option> <?php } ?> </select>

  2. #2
    Ciao Blueknave, ho testato lo script e quello che hai postato funziona perfettamente.

    Se a te non funziona le cause possono essere queste:

    [list=1][*]Non hai effettuato la connessione al database (mysql_connect/mysql_select_db);[*]La tabella 'docenti' non esiste, o forse non si trova nel database al quale sei connesso;[*]La tabella 'docenti' potrebbe non contenere dati e quindi non ci sarebbe nessun nome da caricare.[/list=1]

    Controlla questi punti e non avrai nessun problema col tuo script

    Spero di esserti stato d'aiuto, se il problema persiste dimmi pure!


    P.S.
    Ricorda che puoi usare la funzione mysql_erorr() per verificare se ci sono problemi con le tue query
    Esempio:
    Codice PHP:
    $query mysql_query('SELECT * from tabella') or die(mysql_error()); 

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    231
    la connessione va bene così

    $conn = mysql_connect('localhost', "gruppo", "pass");

    mysql_select_db('my_gruppopass');


    perchè non va? lo devo mettere in qualche codice?

  4. #4
    Hey, ciao!

    Se hai la possibilità di postare il codice della tua pagina per intero potrò darti risposte più precise

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    231
    grazie mille

    Codice PHP:
    <?php session_start(); if(isset($_SESSION['utente'])&& isset($_SESSION['password'])) { $nomecorso $_POST["nomecorso"]; $costo $_POST["costo"]; $ore $_POST["ore"]; if (!isset($_POST['submit'])) { // if page is not submitted to itself echo the form ?> <table> <tr><th> <?echo "Ciao " $_SESSION['utente'];?> <form method="post" action="<?php echo $PHP_SELF;?>"> <tr><th>Nome Corso:<th><input type="text" size="12" maxlength="50" name="nomecorso"> <tr><th>Docenti<th> <select name="docenti" > <option value="nome" selected>Seleziona</option> <?php $result mysql_query("SELECT nome FROM docenti"); while($row mysql_fetch_array($result)) { $nome$row['nome']; ?> <option value="<?php echo $nome?><?php if($docenti=="".$nome."") echo 'selected'?>><?php echo $row["nome"]; ?></option> <?php ?> </select> <tr><th>Costo:<th><input type="text" size="12" maxlength="50" name="costo"> <tr><th>Ore:<th><input type="text" size="12" maxlength="50" name="ore"> <tr><th colspan="5"><input type="submit" value="crea" name="submit"> </table> </form> <? } else { $conn mysql_connect('localhost'"gruppo""password"); mysql_select_db('my_gruppo'); $cur mysql_query (" INSERT INTO corsi VALUES ('$id_corso','$nomecorsi','$docente','$costo','$ore') "); $_SESSION=array(); // Desetta tutte le variabili di sessione. session_destroy(); //DISTRUGGE la sessione. exit; //si termina lo script //Chiudo la connessione con il database mysql_close($conn); } } else { echo "Accesso non consentito - Devi prima effettuare la login";?>
     <? ?>

  6. #6
    Ok!

    Questo è il codice funzionante:

    Codice PHP:
    <?php
    session_start
    ();
    $conn mysql_connect('localhost'"gruppo""password"); mysql_select_db('my_gruppo');
    ?>

    <?php if(isset($_SESSION['utente'])&& isset($_SESSION['password'])) { $nomecorso $_POST["nomecorso"]; $costo $_POST["costo"]; $ore $_POST["ore"]; if (!isset($_POST['submit'])) { // if page is not submitted to itself echo the form ?> <table> <tr><th> <?php echo "Ciao " $_SESSION['utente'];?> <form method="post" action="<?php if(isset($PHP_SELF)){ echo $PHP_SELF; } else { echo $_SERVER['PHP_SELF'];}?>"> <tr><th>Nome Corso:<th><input type="text" size="12" maxlength="50" name="nomecorso"> <tr><th>Docenti<th> <select name="docenti" > <option value="nome" selected>Seleziona</option> <?php $result mysql_query("SELECT nome FROM docenti"); while($row mysql_fetch_array($result)) { $nome$row['nome']; ?> <option value="<?php echo $nome?><?php if(isset($docenti) && $docenti=="".$nome."") echo 'selected'?>><?php echo $row["nome"]; ?></option> <?php ?> </select> <tr><th>Costo:<th><input type="text" size="12" maxlength="50" name="costo"> <tr><th>Ore:<th><input type="text" size="12" maxlength="50" name="ore"> <tr><th colspan="5"><input type="submit" value="crea" name="submit"> </table> </form> <?php } else { $cur mysql_query (" INSERT INTO corsi (nomecorso, docente, costo, ore) VALUES ('" $_POST['nomecorso'] . "','" $_POST['docenti'] . "','" $_POST['costo'] . "','" $_POST['ore'] . "')") or die(mysql_error());echo 'Inserimento avvenuto con successo!'$_SESSION=array(); // Desetta tutte le variabili di sessione. session_destroy(); //DISTRUGGE la sessione. exit; //si termina lo script //Chiudo la connessione con il database mysql_close($conn); } } else { echo "Accesso non consentito - Devi prima effettuare la login";?>
     <?php } } ?>
    Guardando il codice immagino che sia una cosa ancora in costruzione . Ho dato un'occhiata anche alla parte dell'inserimento dei corsi, e ho notato che in questa query...

    Codice PHP:
    $cur mysql_query (" INSERT INTO corsi VALUES('$id_corso','$nomecorsi','$docente','$costo','$ore') "); 
    Mancava la specificazione dei nomi delle colonne della tua tabella (che ora ti segnerò in grassetto per dare un'idea più chiara )

    $cur = mysql_query (" INSERT INTO corsi (nomecorso, docente, costo, ore) VALUES ('" . $_POST['nomecorso'] . "','" . $_POST['docenti'] . "','" . $_POST['costo'] . "','" . $_POST['ore'] . "')") or die(mysql_error());
    Questa parte modificata che vedi è quella che attualmente c'è nel codice che ti ho dato, quindi non devi modificare niente, è tutto funzionante.
    Controlla solo che le tabelle si chiamino coi nomi che ho messo e ho segnato in grassetto (non sapendo com'è fatta la tua tabella non posso sapere quali sono i nomi precisi delle tue colonne )

    Se hai domande fai pure, buona fortuna!

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    231
    non va... ti posso mandare i dati in pvt?

  8. #8
    Certo, puoi mandarmi tutto.

    Ricorda, ovviamente, di verificare le colonne della tua tabella, e controlla i dati della connessione al tuo database (mysql_connect).

    Codice PHP:
    $conn mysql_connect('localhost'"gruppo""password"); mysql_select_db('my_gruppo'); 
    Se nei dati c'è qualche informazione sbagliata che non corrisponde al tuo database, ovviamente lo script non avrebbe modo di funzionare.

    Ripeto, inoltre, che per ottenere una risposta chiara da parte dello script è possibile usare la funzione mysql_error come ho scritto sopra.

    Prova a guardare attentamente senza tralasciare queste cose, e verifica con attenzione la struttura delle tabelle all'interno del tuo database.

    Aspetto i dati , per qualsiasi domanda sono qui

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    231
    inviata grazie mille

  10. #10
    Purtroppo non mi è arrivato nulla! Se vuoi puoi provare a rimandare al seguente indirizzo:
    lifeweb@hotmail.it

    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.