Problema con query in php

  • Creatore Discussione Creatore Discussione Devja
  • Data di inizio Data di inizio

Devja

Utente Attivo
11 Gen 2013
38
0
6
salve a tutti io ho un db con una tabella e non riesco a stampare tutte le righe della tabella, io faccio questo :
Codice:
<?php

include 'connect.php';

session_start();

$user=$_SESSION['username'];

$stud=$_SESSION['stud'];

//$psw=$_SESSION['password'];

?>

<html>

<head>

</head>

<body>

    Ciao <?php echo $user?> ecco la cartellina del tuo studente :

<center>

<?php 

    echo "<table align='center' border='1'>";

       

            $query="SELECT  Studenti.studente, Cartelle.Data, Cartelle.Tutor, Cartelle.Ore, Cartelle.Materia, Cartelle.Argomento, Cartelle.TipStudente, Cartelle.Valutazione FROM Anagrafica, Cartelle, Login, Studenti, Tutor, StudTut WHERE Login.User =  '$user' AND Tutor.User = Login.User AND StudTut.id_Tutor = Tutor.id_Tutor AND Cartelle.id_Studente = Studenti.id_Studente AND Anagrafica.id_studente=Studenti.id_Studente";

           

            $result = mysql_query($query);   

            $row = mysql_fetch_assoc($result);

            $num= mysql_num_rows($result);

            if(!$result)

            {

                echo"errore";

            }

         

        /*<tr>

        <td>

            Nome

        </td>

        <td>

            Data

        </td>

        <td>

            Tutor

        </td>

        <td>

            Ore

        </td>

        <td>

            Materie

        </td>

        <td>

            Argomento

        </td>

        <td>

            Andamento Studente

        </td>

        <td>

            Valutazione

        </td>

       

        </tr>

        <tr>

        */

           

                while ($stampa=mysql_fetch_array($result,MYSQL_ASSOC))

                {

                    echo "<td>";

                    echo "<tr>";

                    echo $stampa[studente];   

                    echo "</tr>";

                       

                    echo "<tr>";

                    echo $stampa[Data];   

                    echo "</tr>";

                   

                   

                    echo "<tr>";

                    echo $stampa[Tutor];   

                    echo "</tr>";

                   

                   

                    echo "<tr>";

                    echo $stampa[Ore];   

                    echo "</tr>";

                   

                   

                    echo "<tr>";

                    echo $stampa[Materie];   

                    echo "</tr>";

                   

                   

                    echo "<tr>";

                    echo $stampa[Argomento];   

                    echo "</tr>";

                   

                   

                    echo "<tr>";

                    echo $stampa[TipStudente];   

                    echo "</tr>";

                   

                   

                    echo "<tr>";

                    echo $stampa[Valutazione];   

                    echo "</tr>";

                   

                    echo "</td>";

                }



           

    echo "</table>";

    ?>

</center>

</body>

</html>


Non riesco a capire perché non stampa nel tag table e non stampa tutte le righe.
Grazie mille
 
Ciao


Puoi utilizzare mysqli (perchè mysql non è più supportato)

anche PDO, cioè la programmazione ad oggetti.

prova a riscrivere con UNA delle due opzioni(PDO o MySQLI)
 
ciao
a parte quello che giustamente ha detto devil-94 se non erro (hai sbrodolato il codice e non è facile leggerlo) che tu abbia in alcuni punti dimenticato i <td> ed in altri tu abbia invertito i <td> con i <tr>
 
Ciao, oltre a quanto hanno detto Devil e Borgo, dovresti anche inserire gli apici o le virgolette dentro le parentesi quadre, quando vai a richiamare il record dall'array $stampa, solo per correttezza di codice (PHP dovrebbe riuscire a risistemare da solo, sputando un Notice).

Esempio:
PHP:
echo $stampa[Tutor]; // no
echo $stampa['Tutor']; // sì
 
ho provato a fare tutto, tranne la PDO, quella la so fare in java, me la vado a vedere al volo con php. Io ho una vecchia crescione di php e msql me la riconosce, quando la trasporterò al di fuori lo cambio. Solo che adesso mi stampa soltanto, l'ultimo record, e non i precedenti, come ami?
 
ciao
a parte che dovrai passare a mysqli, prova qualcosa del genere
PHP:
<?php
//dati connessione ecc..
$query="SELECT  Studenti.studente, Cartelle.Data, Cartelle.Tutor, Cartelle.Ore, Cartelle.Materia, Cartelle.Argomento, Cartelle.TipStudente, Cartelle.Valutazione FROM Anagrafica, Cartelle, Login, Studenti, Tutor, StudTut WHERE Login.User =  '$user' AND Tutor.User = Login.User AND StudTut.id_Tutor = Tutor.id_Tutor AND Cartelle.id_Studente = Studenti.id_Studente AND Anagrafica.id_studente=Studenti.id_Studente";
$ris=mysql_query($query);
if(!$ris)){
    echo "errore";//e rimandi dove vuoi
}else{
    $quanti=mysql_num_rows($ris);
    if($quanti)< 1){
        echo "non ci sono record registrati";//e rimandi dove vuoi
    }else{
        echo "trovati n. $quanti record";
        echo "<table>";
        echo "<tr><td>Nome</td><td>Data</td><td>Tutor</td><td>Ore</td><td>Materie</td><td>Argomento</td><td>Andamento Studente</td><td>Valutazione</td></tr>";
        while($riga=mysql_fetch_array($ris)){
            echo "<tr>";
            echo "<td>".$riga['[studente]']."</td>";
            //e tutti gli altri campi....
            echo "</tr>";
        }
        echo "</table>";
    }
}
//....
?>
poi per formattare la tabella usa i css e abbandona il tag <center> sempre usa i css, poi perchè usi due volte la $row = mysql_fetch_assoc($result)?
 

Discussioni simili