Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Wyświetlanie pod warunkiem
aga323
post
Post #1





Grupa: Zarejestrowani
Postów: 124
Pomógł: 0
Dołączył: 26.01.2007
Skąd: Oborniki

Ostrzeżenie: (0%)
-----


Witam otóz mam taki kod:
  1. <?php
  2. echo '<table border="1">
  3. <tr><td>Przedmioty</td><td>Semestr 1</td><td>Semestr 2</td></tr>';
  4. $id = 1;
  5. $uczen = $_SESSION['User_id'];
  6. while($row = mysql_fetch_assoc($przedmioty))
  7. {
  8. echo '<tr>';
  9. echo '<td>';
  10. echo $row['Nazwa'];
  11. echo '</td>';
  12. echo '<td>';
  13. //-------------------------
  14. //  Zapytanie
  15. //-------------------------
  16. $oceny = mysql_query("SELECT ocena FROM `semestr` WHERE id_user=$uczen AND id_przedmiot=$id");
  17. $ilosc = mysql_num_rows($oceny);
  18. //-------------------------
  19. if($ilosc == 1)
  20. {
  21. echo $oceny['ocena'];
  22. }
  23. else{
  24.  
  25. echo 'Brak oceny.';
  26. }
  27.  
  28.  
  29. echo '</td>';
  30. echo '</tr>';
  31. $id++;
  32. }
  33. echo '</table>';
  34. ?>

I wszystko działa fajnie, tylko teraz chce zrobić tak aby osobno wyświetlało oceny z 1 i 2 semestru. W tym celu dodałam w bazie kolumnę semestr, gdzie będzie 1 lub 2 zależnie od semestru. Tylko teraz nie wiem jak to odnieść do tego kodu żeby wyświetlało w jednej kolumnie oceny w 1 semestrze a w drugiej oceny w 2 semestrze. Proszę o pomoc.

Ten post edytował aga323 8.06.2007, 19:40:39


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
no_face
post
Post #2





Grupa: Zarejestrowani
Postów: 346
Pomógł: 23
Dołączył: 28.11.2004

Ostrzeżenie: (0%)
-----


Szkielet rozwiazania. Wyswietlasz najpierw jedna kolumne i wykonujesz zapytanie z dodatkowym warunkiem semestru i wyswietlasz oceny z pierwszego. Pozniej robisz tak samo w drugiej kolumnie tylko, ze w wyarunku podajesz dla semstr nr dwa.
Go to the top of the page
+Quote Post
aga323
post
Post #3





Grupa: Zarejestrowani
Postów: 124
Pomógł: 0
Dołączył: 26.01.2007
Skąd: Oborniki

Ostrzeżenie: (0%)
-----


Czyli do zapytania mam dodać AND semestr = 1 i pozniej to wszystko spokiowaci dac do następnego <td> tylko tam zmienić na semestr = 2 questionmark.gif


--------------------
Go to the top of the page
+Quote Post
no_face
post
Post #4





Grupa: Zarejestrowani
Postów: 346
Pomógł: 23
Dołączył: 28.11.2004

Ostrzeżenie: (0%)
-----


Dokladnie. Wyswietlanie wynikow pozostawiam w Twojej kwestii, z tym sobie juz poradzisz.
Go to the top of the page
+Quote Post
aga323
post
Post #5





Grupa: Zarejestrowani
Postów: 124
Pomógł: 0
Dołączył: 26.01.2007
Skąd: Oborniki

Ostrzeżenie: (0%)
-----


Wszystko ładnie. Tylko tam gdzie powinna być wyświetlona ocena jet puste pole. Domyślam się, że robię coś źle z wyświetlaniem. Czyli problem leży w
  1. <?php
  2. {
  3. echo $oceny['ocena'];
  4. }
  5. ?>

?


--------------------
Go to the top of the page
+Quote Post
no_face
post
Post #6





Grupa: Zarejestrowani
Postów: 346
Pomógł: 23
Dołączył: 28.11.2004

Ostrzeżenie: (0%)
-----


Upewnij sie czy w bazie danych masz rekordy, ktore odpowiadaja kryteria, czyli rekordy ocen z wypelnionymi polami dla semestru.
Go to the top of the page
+Quote Post
aga323
post
Post #7





Grupa: Zarejestrowani
Postów: 124
Pomógł: 0
Dołączył: 26.01.2007
Skąd: Oborniki

Ostrzeżenie: (0%)
-----


To dziwne ale rekordy mam wszystkie w bazie, które sa potrzebne do wyświetlenia tych ocen. Czyli zapewne jets gdzies błąd w kodzie, tylko gdzie... ?


--------------------
Go to the top of the page
+Quote Post
Norbas
post
Post #8





Grupa: Zarejestrowani
Postów: 100
Pomógł: 1
Dołączył: 6.02.2006

Ostrzeżenie: (0%)
-----


Cytat
Czyli zapewne jets gdzies błąd w kodzie, tylko gdzie... ?

Tam gdzie przypuszczałaś. Powinnaś zastosować mysql_fetch_assoc lub inną funkcję, która zwróci Ci wynik zapytania z oceną z danego przedmiotu


--------------------
Go to the top of the page
+Quote Post
aga323
post
Post #9





Grupa: Zarejestrowani
Postów: 124
Pomógł: 0
Dołączył: 26.01.2007
Skąd: Oborniki

Ostrzeżenie: (0%)
-----


Hmmm... Czyli teraz mam tak:
  1. <?
  2. echo 'Dziennik';
  3. //Laczenie z baza
  4. include ("connect.php");
  5. //-------------------------
  6. //  Zapytanie
  7. //-------------------------
  8. $przedmioty = mysql_query("SELECT * FROM `przedmioty`");
  9. //-------------------------
  10. echo '<table border="1">
  11. <tr><td>Przedmioty</td><td>Semestr 1</td><td>Semestr 2</td></tr>';
  12.  
  13. $id = 1;
  14. $uczen = $_SESSION['User_id'];
  15.  
  16. while($row = mysql_num_rows($przedmioty))
  17. {
  18. echo '<tr>';
  19. echo '<td>';
  20. echo $row['Nazwa'];
  21. echo '</td>';
  22. echo '<td>';
  23.  
  24. //-------------------------
  25. // Zapytanie
  26. //-------------------------
  27.  
  28. $oceny = mysql_query("SELECT ocena FROM `semestr` WHERE id_user = '$uczen' AND id_przedmiot = '$id' AND semestr = 1");
  29. $ilosc = mysql_num_rows($oceny);
  30. $ocena = mysql_fetch_assoc($oceny);
  31. //-------------------------
  32.  
  33. if($ilosc > 0)
  34.  {
  35. echo $ocena['ocena'];
  36.  }
  37. else
  38.  {
  39. echo 'Brak oceny.';
  40.  }
  41.  
  42.  
  43. echo '</td>';
  44. echo '<td>';
  45.  
  46. //-------------------------
  47. // Zapytanie
  48. //-------------------------
  49.  
  50. $oceny = mysql_query("SELECT ocena FROM `semestr` WHERE id_user = '$uczen' AND id_przedmiot = '$id' AND semestr = 2");
  51. $ilosc = mysql_num_rows($oceny);
  52. $ocena = mysql_fetch_assoc($oceny);
  53.  
  54. //-------------------------
  55.  
  56. if($ilosc > 0)
  57.  {
  58. echo $ocena['ocena'];
  59.  }
  60. else
  61.  {
  62. echo 'Brak oceny.';
  63.  }
  64.  
  65. echo '</tr>';
  66. $id++;
  67. }
  68. echo '</table>';
  69. ?>

Tylko teraz nie wiem czy to poskutkowało, gdyż trzymam stronkę na yoyo.pl i wyskakuje mi: "Twój skrypt jest niezopytmalizowany i przekracza maksymalny dopuszczalny czas obsługi" :/ I nawet nie mogę sprawdzić czy działa... sad.gif


--------------------
Go to the top of the page
+Quote Post
Kicok
post
Post #10





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

Ostrzeżenie: (0%)
-----


  1. <?php
  2. while($row = mysql_num_rows($przedmioty))
  3. ?>



Tu się zapętliłaś. Powinno być mysql_fetch_assoc" title="Zobacz w manualu PHP" target="_manual


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post
aga323
post
Post #11





Grupa: Zarejestrowani
Postów: 124
Pomógł: 0
Dołączył: 26.01.2007
Skąd: Oborniki

Ostrzeżenie: (0%)
-----


Dzięki smile.gif Teraz jest good. Tylko trochu zmienię jeszcze i będzie elegancko. Jeszcze raz wielkie dzięki biggrin.gif


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 18:57