Ciao a tutti,
sto svolgendo un tirocinio nella mia università e sto creando una interfaccia grafica tramite html/php per gestire un database che ho creato in easyphp. Ci sono 4 pagine fondamentali: una per visualizzare il database, una per esportare i dati visualizzati, una per importare dati nel database e una per visualizzare i dati come una coorte. Attualmente nn sono riuscito a far funzionare nessuna di queste 4 pagine viste le mie limitate conoscenze e inesistente supporto. Di seguito proporrò la pagina visualizza sperando che qualcuno riesca ad aiutarmi a farla funzionare. I dati della pagina in php vengono presi da una pagine html dove i campi del database vengo selezionati tramite checkbox in quanto l'utente nn deve aver bisogno di conoscere il linguaggio sql per interrogare il database. La pagina è formata da due cicli, una che crea una stringa che contiene i campo da inserire nella query, il secondo ciclo invece crea la joint in base alle tabelle che vengono interpellate.
<?php
$conn=mysql_connect("localhost","root","");
mysql_select_db("economia",$conn);
$col=array("nome" , "cognome" , "annoimma");
$tab=array("studente", "iscrizione");
$max=count($tab);
$key=array();
for($i=0; $i<($max-1);$i++){
for($k=1; $k<$max; $k++){
if ((($tab[$i]=='corso_di_laurea' OR $tab[$i]=='studente') AND $tab[$k]=='iscrizione') OR (($tab[$i]=='titolo' OR $tab[$i]=='studente') AND $tab[$k]=='laurea') OR (($tab[$i]=='insegnamento' OR $tab[$i]=='studente') AND $tab[$k]=='esame')){
switch ($tab[$i])
{
case 'corso_di_laurea':
$key[$i]="codice";
break;
case 'titolo':
$key[$i]="cod_titolo";
break;
case 'insegnamento':
$key[$i]="cod_inse";
break;
case 'studente':
$key[$i]="pincode";
}
}
else if (($tab[$i]=='iscrizione' AND ($tab[$k]=='studente' OR $tab[$k]=='corso_di_laurea')) OR ($tab[$i]=='laurea' AND ($tab[$k]=='studente' OR $tab[$k]=='titolo')) OR ($tab[$i]=='esame' AND ($tab[$k]=='studente' OR $tab[$k]=='insegnamento'))){
switch ($tab[$i]){
case 'iscrizione':
switch ($tab[$k]){
case 'studente':
$key[$i]="pincode";
break;
case 'corso_di_laurea':
$key[$i]="codice";
break;
}
case 'laurea':
switch ($tab[$k]){
case 'studente':
$key[$i]="pincode";
break;
case 'titolo':
$key[$i]="cod_titolo";
break;
}
case 'esame':
switch ($tab[$k]){
case 'studente':
$key[$i]="pincode";
break;
case 'insegnamento':
$key[$i]="cod_inse";
break;
}
}
}
else {
}
$stringa="".$tab[$i]." JOIN ".$tab[$k]." ON ".$tab[$i].".".$key[$i]."=".$tab[$k].".".$key[$i]."";
$join[]=$stringa;
}
}
$query="SELECT ".implode(", ",$col)." FROM ".implode(", ",$join)."";
$ris1=mysql_query($query) or die(mysql_error());
echo '<table border=1>';
$max=count($col);
print '<tr>';
while($out=mysql_fetch_row($ris1)){
for($i=0; $i<$max; $i++){
print '<td>'.$out[$i].'</td>';
}
echo '</tr>';
}
echo '</table>';
mysql_close($conn);
?>
L'errore che mi restituisce è colpa del fatto che ci sono campi vuoti nei due array io penso.
VI PREGO AIUTATEMI ALTRIMENTI NON FINIRO' MAI QUESTO TIROCINIO!
GRAZIE MILLE IN ANTICIPO.