PDA

View Full Version : [PHP + MySQL]Problemi visualizzazione delle query


sirus
21-01-2005, 21:31
ciao a tutti, ho qualche piccolo inghippo nella visualizzazione del risultato delle query nelle pagine php questo è il codice che ho scitto:

<html>

<head>
<title>Visualizzazione del contenuto della tabella Studente</title>
</head>

<body>

<p>Visualizzazione del contenuto della tabella Studente</p>

<?php

// Definizione delle variabili di accesso al database

$dbhost = "fslinuxserver";

$dbname = "Scuola";

$dbuser = "root";

$dbpass = "";



$connection = mysql_connect ($dbhost,$dbuser,$dbpass)

or die ("Impossibile connettersi al server MySQL");



mysql_select_db ($dbname,$connection)

or die ("Impossibile aprire il database");



// Inizializzazione dello script SQL

$sql = 'select * from Studente';



$res = mysql_query ($sql,$connection)

or die ("Errore: ".mysql_error ());



// Conteggio del numero di righe prelevate dal database

$line = mysql_num_rows ($res);



if ($line == 0)
print ("La tabella non ha nessuna istanza");
else
{

for ($i = 0;$i < $line;$i ++)

{

$field = mysql_fetch_rows ($res);

$Matricola = $field[0];

$CF = $field[1];

$Nome = $field[2];

$Cognome = $field[3];

$DataNascita = $field[4];

$Anno = field[5];

$Sezione = field[6];

$Corso = field[7];

}

print ("Dati studente:\n\n");

print ("Matricola: ".$Matricola."\n");

print ("CF: ".$CF."\n");

print ("Nome: ".$Nome."\n");

print ("Cognome: ".$Cognome."\n");

print ("Data di Nascita: ".$DataNascita."\n");

print ("Anno: ".$Anno."\n");

print ("Sezione: ".$Sezione."\n");

print ("Corso: ".$Corso."\n\n");

}



mysql_close ($connection);
?>

</body>

</html>

la connesione al db avviene correttamente,e anche la query inquanto osservando il log del MySQL la query funziona correttamente
quando arrivo all'IF...in quel punto se elimino dal codice la parte dell'else { ... } e la tabella è vuota mi stampa a video che non ci sono istanze nella tabella altrimenti se lascio il codice all'interno dell'else e la tabella è vuota non viene visualizzato nulla...questo è il primo problema
secondo problema è come visualizzo il risulato della query, con il codice che ho scritto non viene visualizzaro nulla :cry: c'è nessuno che mi può dare na mano :muro: grazie tantissime

PS non sono ancora molto afferrato con il php

massmagic
22-01-2005, 10:26
<html>

<head>
<title>Visualizzazione del contenuto della tabella Studente</title>
</head>

<body>

<p>Visualizzazione del contenuto della tabella Studente</p>

<?php

// Definizione delle variabili di accesso al database

$dbhost = "fslinuxserver";

$dbname = "Scuola";

$dbuser = "root";

$dbpass = "";


$connection = mysql_connect ($dbhost,$dbuser,$dbpass)

or die ("Impossibile connettersi al server MySQL");



mysql_select_db ($dbname,$connection)

or die ("Impossibile aprire il database");



// Inizializzazione dello script SQL

$sql = 'select * from Studente';



$res = mysql_query($sql,$connection)

or die ("Errore: ".mysql_error ());



// Conteggio del numero di righe prelevate dal database

$line = mysql_num_rows($res);



if ($line == 0)
print ("La tabella non ha nessuna istanza");
else
{
print ("<b>Dati studente:</b><br><br>\n\n");

for ($i = 0;$i < $line;$i ++)
{

$field = mysql_fetch_row($res);

print ("<b>Matricola:</b> ".$field[0]."<br>\n");

print ("<b>CF:</b> ".$field[1]."<br>\n");

print ("<b>Nome:</b> ".$field[2]."<br>\n");

print ("<b>Cognome:</b> ".$Cognome = $field[3]."<br>\n");

print ("<b>Data di Nascita:</b> ".$DataNascita = $field[4]."<br>\n");

print ("<b>Anno:</b> ".$Anno = field[5]."<br>\n");

print ("<b>Sezione:</b> ".$Sezione = field[6]."<br>\n");

print ("<b>Corso:</b> ".$Corso = field[7]."<br><br>\n\n");

}

}



mysql_close ($connection);
?>

</body>

</html>


bene ti ho corretto un paio di errorini...
1) nn esiste la funzione mysql_fetch_rows... ma è mysql_fetch_row..
2)i vari print delle variabili devono essere all'interno del ciclo! sennò ti stamperà solo l'ultima variabile ke è stata allocata!

bye bye

sirus
22-01-2005, 12:40
grazie !!! provo subito

EDIT ho provato, le query funzionano bene, però se la tabella è vuota (dovrebbe stampare quello che c'è nella print dopo IF) non viene visualizzata nessuna scritta :cry: a parte questo mi spiegheresti che cosa serve il <br>, ho provato a toglierlo ed il risulato è sempre quello :confused:
ancora grazie

massmagic
22-01-2005, 17:59
sinceramente nn ho capito a quale printi ti riferisci dopo l'if..
a questo?
print ("La tabella non ha nessuna istanza");

il <br> in html è il ritorno a capo e viene visualizzato... \n è un ritorno a capo ma serve per identare meglio il codice e non ha influenza sulla visualizzazione della pagina web... te ne accorgi solo se vedi il risultato del codice sorgente della pagina web che hai creato...

cmq ho provato a fare la prova su una tabella vuota e mi esce la scritta "La tabella non ha nessuna istanza".. quindi cè sicuramente qualke kosa che sbagli... il codice che ti ho passato è giusto :cool:

sirus
22-01-2005, 19:25
io ho provato il codice che mi hai dato e in una tabella vuota quella print che tu hai indicato non viene fatta :confused:

massmagic
23-01-2005, 13:00
prova a creare una nuova tabella, nn inserire nulla all'interno e poi cambia la stringa sql "SELECT * FROM Studente" con il nome della nuova tabella!
fammi sapere!
bye