o problema in php mysql

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
Avatar utilizator
trif
Mesaje: 500

o problema in php mysql

ma codul

Cod: Selectaţi tot

<?php
$utilizator=mysql_real_escape_string($_GET['matricol']);
$cerereSQL = 'SELECT materii.disciplina, note.nota, materii.an FROM `materii, note` WHERE note.id_materie = materii.id_materie AND note.matricol="'.$_GET['matricol'].'"'; 
$result=mysql_query($cerereSQL);
$num=mysql_num_rows($result);
if ( $num <> 0 )
{
   echo '<table border="1" width="450" bgcolor="#8FBEF8">';
   echo '<tr> <th> An Studiu 2 (2009)</th> </tr>';
   echo '</tabel>';
   echo '<table border="1" width="450" >';
   echo '<tr> <th> Disciplina</th> <th> Nota</th></tr>';  
   $i=0;
 
   while ($i < $num) 
   {
   $rand=mysql_fetch_array($result);
	echo '...';
    ++$i;
   }
   }
echo '</tabel>';
si imi da eroarea asta Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\proiect_facultate\rezultate.php on line 92 si nu stiu ce este si nu stiu cum sa ii fac acolo unde sunt .... te rog ajuta-ma. cu stima trif
M-am hotarat!
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif

MarPlo Mesaje: 4343
1. Gresala se vede aici "... FROM `materii, note` ..."; corect: "... FROM `materii`, `note` ..." (fiecare nume de coloana intre `...` )
2. La ... echo '...';, pentru a adauga 3 coloane in tabel, conforrm cu cele scrise in interogarea SQL, incearca:
echo '<tr><td>'.$rand['disciplina'].'</td><td>'.$rand['nota'].'</td><td>'.$rand['an'].'</td></tr>';

trif Mesaje: 500
am facut asa cum ai zis, uite codul

Cod: Selectaţi tot

<?php
$utilizator=mysql_real_escape_string($_GET['matricol']);
$cerereSQL = 'SELECT materii.disciplina, note.nota, materii.an FROM `materii`, `note` WHERE note.id_materie = materii.id_materie AND note.matricol="'.$_GET['matricol'].'"'; 
$result=mysql_query($cerereSQL);
$num=mysql_num_rows($result);
if ( $num <> 0 )
{
   echo '<table border="1" width="450" bgcolor="#8FBEF8">';
   echo '<tr> <th> An Studiu 2 (2009)</th> </tr>';
   echo '</tabel>';
   echo '<table border="1" width="450" >';
   echo '<tr> <th> Disciplina</th> <th> Nota</th></tr>';  
   $i=0;
 
   while ($i < $num) 
   {
   $rand=mysql_fetch_array($result);
	echo '<tr><td>'.$rand['disciplina'].'</td><td>'.$rand['nota'].'</td><td>'.$rand['an'].'</td></tr>';
    ++$i;
   }
   }
echo '</tabel>';
?>
dar nu imi afiseaza nimic nu stiu de ce...:-??. cu stima trif
M-am hotarat!
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif

MarPlo Mesaje: 4343
In loc de

Cod: Selectaţi tot

while ($i < $num)
   {
   $rand=mysql_fetch_array($result);
   echo '<tr><td>'.$rand['disciplina'].'</td><td>'.$rand['nota'].'</td><td>'.$rand['an'].'</td></tr>';
    ++$i;
   }
Ar trebui:

Cod: Selectaţi tot

while ($rand=mysql_fetch_array($result))
   {
   echo '<tr><td>'.$rand['disciplina'].'</td><td>'.$rand['nota'].'</td><td>'.$rand['an'].'</td></tr>';
   }
Daca nu afiseaza ceva, probabil nu returneaza mysql date.
Incearca sa vezi daca returneaza vreun rand, cu "echo $num;" ($num sa fie mai mare decat 0).
De asemenea vezi ce date sunt in $rand, cu "var_dump($rand);"

Mai mult nu cunosc, ma pricep putin la mysql si lucru cu mai multe tabele.

trif Mesaje: 500
merge, multumesc mult de tot. cu stima trif alex
M-am hotarat!
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif

Subiecte similare