Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043

    non riesco ad inserire i dati nella tabella

    ciao a tutti, vorrei inserire dei dati nella tabella:
    a_corsi_allievi

    e i nomi dei campi sono:
    id_corsi
    id_allievi

    solo che non riesco ad inserirli, questo è il codice, dove sbaglio?

    Codice PHP:
    <?
    session_start
    ();
    include(
    '../inc_function.php');?>
    <? 
    include('../inc_dir_tag_script.php');?>
    <? 
    include('../include_login_tecniche.php');?>

    <?php 
    $sql 
    mysql_query("SELECT * FROM a_corsi") or die(mysql_error()); 
    ?>
    <?php 
    $sql2 
    mysql_query("SELECT * FROM a_allievi") or die(mysql_error()); 
    ?> 

    <?
    if ($riga==1){
        while(list(
    $chiave$valore)=each($_GET)){
            if (
    $chiave!="allievo" && $chiave!="corso"  && $chiave!="riga"){
                
    $sql3 mysql_query("INSERT INTO a_corsi_allievi (id_allievi, id_corsi) VALUES ('$allievo', '$corso', '$chiave', '$valore')") or die(mysql_error()); 
            }
        }
    }
    ?>
    <table width="1000" height="100%" border="0" align="center" cellpadding="0" cellspacing="0">
      <tr>
        <td height="150" colspan="3"><? include('../include_dir_header2.php');?></td>
      </tr>
      <tr>
        <td width="168" align="center" valign="top" background="../images/home_fondo_col_sin.gif"><? include('../include_dir_col_sin.php');?></td>
        <td width="664" align="center" valign="top" bgcolor="#FFFFFF"><table width="650" height="1" border="0" cellpadding="0" cellspacing="0">
          <tr>
            <td>[img]../images/testatina_tecniche.gif[/img]</td>
          </tr>
          <tr>
            <td align="left" valign="top">

    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get"> 


    <table width="650" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="650" valign="top">

    <select name="corso" onchange="this.form.submit()"> 
    <option value="">seleziona corso</option> 
    <?php 
    //compila dinamicamente la select 
    while($row mysql_fetch_object($sql)) { 
        if (
    $row->id_corsi==$_GET[corso]){ $sel="SELECTED";}ELSE{$sel="";}
      echo 
    "<option value=\"$row->id_corsi\" $sel>$row->nome_corso</option>\n"

    echo 
    "</select>\n"

    //verifica se è stato passato o meno un valore dalla select 
    if(isset($_GET['corso'])) { 

      
    //memorizza il valore passato dalla select (l'id del corso) 
      
    $IDcorso $_GET['corso']; 

    //recupera il nome del corso scelto tramite $IDcorso 
      
    $corso mysql_query("SELECT * FROM a_corsi 
                            WHERE id_corsi = '
    $IDcorso'") or die(mysql_error()); 
       
      
    //recupera tutti gli allievi relativi ad un corso specifico tramite $IDcorso
     
    $sql mysql_query("SELECT * FROM a_corsi c, a_allievi m, a_corsi_allievi cm 
                          WHERE cm.id_corsi = '
    $IDcorso' AND cm.id_corsi = c.id_corsi 
                          AND cm.id_allievi = m.id_allievi ORDER BY m.cognome 
                         "
    ) or die(mysql_error()); 

      
    //verifica che ci sia almeno un risultato valido per la query precedente 
      
    if(mysql_num_rows($sql) >= 1) { 

        
    //stampa il nome del corso
         
    $row1 mysql_fetch_object($corso); 
        echo 
    "<table width=\"650\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">
    <tr><td height=\"12\" colspan=\"2\"></td></tr>
    <tr><td height=\"20\" colspan=\"2\"><span class=\"testo_viola_bold\">allievi del corso 
    $row1->nome_corso svolto a $row1->luogo_corso dal $row1->data1_corso al $row1->data2_corso</span></td></tr>
    <tr><td height=\"1\" bgcolor=\"BF9BB5\" colspan=\"2\"></td></tr>\n"



        
    //stampa tutti gli allievi del corso scelto                     
        
    while($row2 mysql_fetch_object($sql)) { 
          echo 
    "<tr><td height=\"41\" align=\"left\"><span class=\"testo_grigio_bold\">$row2->cognome</span></td><td align=\"right\">



    </td></tr><tr><td height=\"1\" bgcolor=\"BF9BB5\"></td><td bgcolor=\"BF9BB5\"></td></tr>\n"

        } 
     echo 
    "</table>\n"
      } else { 
          echo 
    '<span class="testo_viola_bold">non ci sono allievi per il corso selezionato</span>'
      } 

    ?> 


    </td>
      </tr>
      <tr>
      <td height="41">
      

      <select name="allievo">  
    <option value="" selected="selected">seleziona allievo</option> 
    <?php 
    //compila dinamicamente la select 
    while($row mysql_fetch_object($sql2)) { 
      echo 
    "<option value=\"$row->id_allievi\">$row->cognome</option>\n"

    echo 
    "</select>\n"
    ?> 



    <input type="hidden" name="riga" value="1"><input type="submit" class="pulsante" value="inserisci">
      </td>
      </tr>
    </table>
    </form>


    </td>
          </tr>
        </table></td>
        <td width="168" align="center" valign="top" background="../images/fondo_col_des.gif">
        <? include('../include_dir_col_des_tecniche.php');?>
        <? include('../include_dir_col_des_menu_pannello_allievi.php');?>
        </td>
      </tr>
      <tr>
        <td height="90" colspan="3"><? include('../include_dir_footer2.php');?></td>
      </tr>
    </table>
    </BODY>
    </HTML>

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043

    up

    up

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043

    up

    up

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043

    up

    perfavore mi dareste una mano?

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043

    up

    up

  6. #6
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Ciao, mi sa che difficilmente riceverai aiuto per come hai presentato il problema... c'è una confusione globale, sono tante le cose che non vanno. La query per l'inserimento dei dati è impostata male, dichiari solo 2 campi in cui fare l'inserimento ma poi passi 4 valori.

    Ovviamente non è l'unica incongruenza nel codice, fossi inte cercherei una strada più comoda. Magari separando la stampa dei dati dalle modifiche/inserimenti in due file distinti. Poi bisognerebbe rivedere in che modo recuperi i valori che vorresti inserire, mancano dei riferimento alla chiamata $_GET, specificato come method nel form.

    Prova ad isolare i vari problemi, cercando di chiedere aiuto in maniera più precisa senza postare tutto il codice completo, no tag html e cose simili. Oltre a rivolgerti al forum prova a seguire, anche solo sommariamente, una qualsiasi guida sul php/mysql.

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Ciao Neida meno male che almeno tu mi rispondi

    Originariamente inviato da neida
    Prova ad isolare i vari problemi
    non'è facile per chi, come me conosce poco il php

    Originariamente inviato da neida
    Oltre a rivolgerti al forum prova a seguire, anche solo sommariamente, una qualsiasi guida sul php/mysql.
    è quello che faccio sempre, studio sulle guide che trovo online e su due libri che ho comprato, ma a volte non trovo le risposte ai miei problemi, per questo posto al forum, con la speranza che qualcuno mi aiuti, come te più volte hai fatto

    ad esempio creare 2 select (menu a tendina che prende i dati dal db) di cui uno ha l'elenco dei corsi e l'altra l'elenco delle materie, selezionando prima un corso e poi una materia, faccio invio per associare le materie al corso.

    Questo nei manuali non l'ho trovato.

  8. #8
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Certo, non è possibile trovare "tutto" nelle guide o nei manuali. Da questi dovrai cercare di capire, sulla base delle indicazioni generiche fornite, quale soluzione scegliere di volta in volta in base alle specifiche necessità.

    Il coso delle 2 select ne è un'esempio. Se comprendi il funzionamento, abbastanza semplice, dell'invio dei dati da form tramite $_GET o $_POST puoi risalire per gradi alla creazione di uno script che dia la risposta desiderata.

    Tornando al tuo problema, perchè non provi a suddividere il codice in due file separati? Potrebbe essere più facile controllare che tutto vada come stabilito. Poi, riguardo all'inserimento nel database, le insert sono molto semplici da eseguire ma tutto sta nel fornire i dati esatti alla query. Quando riscontri delle complicazioni di questo tipo verifica sempre cosa contiene realmente la query, prima di eseguirla. Lo puoi fare con "echo $query", ad esempio. Stiamo parlando di fare un minimo di Debug del codice, indispensabile almeno come primo tentativo "fai da te". Poi, se proprio non riesci a venirne fuori, ovvio che chiederai consiglio. Ma almeno avrai fatto un tentativo...

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Originariamente inviato da neida
    Poi, se proprio non riesci a venirne fuori, ovvio che chiederai consiglio. Ma almeno avrai fatto un tentativo...
    ne ho fatti tanti di tentativi, sono due giorni che ci provo. Pazienza continuerò a provare.


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.