Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php]Dane z bazy w ramce
aga323
post 8.05.2007, 20:19:19
Post #1





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

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


Witam, może od razu przejdę do sedna sprawy. Mam pobrane dane z bazy i mam je wyświetlone, tylko nie tak jak chcę. Otóż chciałabym je "władować" do tabelki. Może pokażę obrazek żeby można było lepiej mnie zrozumieć :]

I nie wiem jak to teraz zrobić, żeby to tak wyglądało. Z niecierpliwością czekam na Wasze sugestie i pomysły smile.gif

Ten post edytował aga323 9.05.2007, 13:02:21


--------------------
Go to the top of the page
+Quote Post
Cienki1980
post 8.05.2007, 20:23:16
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Najprościej będzie to umieścić w tabelce odpowiednio sformatowanej. Pokaż jakie dane wyciągasz z bazy, w jakiej są postaci, co zrobiłaś do tej pory a na pewno coś pomożemy.


--------------------
404
Go to the top of the page
+Quote Post
aga323
post 9.05.2007, 13:23:07
Post #3





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

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


Ok, a więc. Mam wyciągnięte dane z bazy i wstawione. Wygląda to tak:

A chciałabym zrobić, aby wyglądało to tak:

A to kawałek kodu, którym wyciagam i wyświetlam dane z bazy:
  1. <?php
  2. $przedmioty = mysql_query("SELECT * FROM przedmioty;");
  3.  
  4. while($row = mysql_fetch_assoc($przedmioty)) {
  5.  
  6. echo '<br />'.$row['nazwa_przedmiotu'].': ';
  7. $id = $row['id_przedmiotu'];
  8.  
  9. $oceny = mysql_query("SELECT ocena FROM oceny WHERE oceny.id_ucznia=1 AND oceny.id_przedmiotu=$id
    ;"
    ); 
  10.  
  11. while($wiersz = mysql_fetch_assoc($oceny)) {
  12.  
  13. echo $wiersz['ocena'].', ';
  14.  
  15. }
  16. }
  17. ?>

Proszę o pomoc!


--------------------
Go to the top of the page
+Quote Post
fhl
post 9.05.2007, 13:54:20
Post #4





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 7.05.2007

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


http://www.kurshtml.boo.pl/html/tabele.html
Go to the top of the page
+Quote Post
Darti
post 9.05.2007, 14:18:36
Post #5





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

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


  1. <?php
  2. $przedmioty = mysql_query("SELECT * FROM przedmioty;");
  3.  
  4. echo "<table>";
  5. while($row = mysql_fetch_assoc($przedmioty)) {
  6. echo '<tr><td>'; 
  7. echo $row['nazwa_przedmiotu'].': ';
  8. $id = $row['id_przedmiotu'];
  9. echo '</td><td>';
  10. $oceny = mysql_query("SELECT ocena FROM oceny WHERE oceny.id_ucznia=1 AND oceny.id_przedmiotu=$id
    ;"
    ); 
  11.  
  12. while($wiersz = mysql_fetch_assoc($oceny)) {
  13.  
  14. echo $wiersz['ocena'].', ';
  15.  
  16. }
  17. echo '</td></tr>';
  18. }
  19. echo '</table>';
  20. ?>


--------------------
The answer is out there, Neo. It's looking for you. And it will find you, if you want it to.
SERVER_SOFTWARE : Apache/2.2.4 (Win32) PHP/5.2.1
MySQL Client API version : 5.0.27
Go to the top of the page
+Quote Post
aga323
post 9.05.2007, 21:13:32
Post #6





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

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


Niestety to co zaproponował Darti nie pomogło sad.gif tylko zrobiła się większa przerwa między przedmiotami a ocenami. Może miałby ktoś jeszcze jakiś pomysł na rozwiązanie tej sprawy. Z góry dziękuje za wszystkie odpowiedzi i sugestie.


--------------------
Go to the top of the page
+Quote Post
www0_0
post 9.05.2007, 22:21:27
Post #7





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 3.05.2007

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


  1. <?php
  2. $przedmioty = mysql_query("SELECT * FROM przedmioty");
  3.  echo '<table border="1">';
  4.  echo '<tr><td>Przedmioty</td><td>Oceny</td></tr>';
  5. while($row = mysql_fetch_assoc($przedmioty))
  6. {
  7. echo '<tr>';
  8. echo '<td>'.$row['nazwa_przedmiotu'].'</td><td>';
  9. $id = $row['id_przedmiotu'];
  10.  
  11. $oceny = mysql_query("SELECT ocena FROM oceny WHERE oceny.id_ucznia=1 AND oceny.id_przedmiotu=$id");
  12.  
  13. while($wiersz = mysql_fetch_assoc($oceny))
  14. {
  15.  
  16. echo $wiersz['ocena'].', ';
  17.  
  18. }
  19. echo '</td>';
  20. echo '</tr>';
  21. }
  22. echo '</table>';
  23. ?>


To tak pisane na szybko, ale wydaje mi się że powinno działać. border =1 jest ustawione abyś widział granice tabelki.
Jeśli to nie jest to o co ci chodzi, to sprecyzuj bardziej różnice pomiędzy tym a twoimi oczekiwaniami.

Ten post edytował www0_0 9.05.2007, 22:22:17
Go to the top of the page
+Quote Post
aga323
post 10.05.2007, 16:25:08
Post #8





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

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


Dzięki zadziałało biggrin.gif. Nie chcę być natrętem ale jak teraz zrobić aby zedytować te oceny i dodawać? Trzeba by to zrobić w formie formularza chyba z polem textarea i to musiałoby wysyłać te dane do bazy później. Proszę o jakieś nakierowanie jeśli to nie byłby problem i z góry dziękuję smile.gif


--------------------
Go to the top of the page
+Quote Post
www0_0
post 10.05.2007, 22:12:15
Post #9





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 3.05.2007

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


To tak na szybkiego pisane, ale chyba o coś takiego ci chodziło. Raczej nie powinno być błędów ale jak by co to podawaj jakie się pojawiły.
  1. <?php
  2.  
  3. if(isset($_POST['form'))
  4. {
  5. $id = mysql_query("SELECT id_przedmiotu FROM przedmioty");
  6. while(mysql_fetch_assoc($id))
  7. {
  8. $oceny = $_POST[$id];
  9. $zapytanie = "INSERT INTO ocena (ocena) VALUES $oceny WHERE oceny.id_ucznia=1 AND oceny.id_przedmiotu=$id";
  10. $result = mysql_query ($zapytanie);
  11. }
  12. }
  13. $przedmioty = mysql_query("SELECT * FROM przedmioty");
  14. echo '<table border="1">';
  15. echo '<form name="oceny" action="spr_oceny.php" method="post">';
  16. echo '<input type="hidden" name="form" value="1" />';
  17. echo '<tr><td>Przedmioty</td><td>Oceny</td></tr>';
  18. while($row = mysql_fetch_assoc($przedmioty))
  19. {
  20. $id = $row['id_przedmiotu'];
  21. echo '<tr>';
  22. echo '<td>'.$row['nazwa_przedmiotu'].'</td><td>';
  23. echo '<TEXTAREA NAME="' .$id. '">';
  24. $oceny = mysql_query("SELECT ocena FROM oceny WHERE oceny.id_ucznia=1 AND oceny.id_przedmiotu=$id");
  25. while($wiersz = mysql_fetch_assoc($oceny))
  26. {
  27.  echo $wiersz['ocena']. ', ';
  28. }
  29. echo '</textarea>';
  30. echo '</td>';
  31. echo '</tr>';
  32. }
  33. echo '<input type="submit" value="wyslij" />';
  34. echo '</form>';
  35. echo '</table>';
  36. ?>
Go to the top of the page
+Quote Post
aga323
post 11.05.2007, 12:10:12
Post #10





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

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


No całkiem nieźle biggrin.gif tylko co powinno się znajdować w pliku spr_oceny.php ?
Bo za bardzo nie mogę do tego dojść


--------------------
Go to the top of the page
+Quote Post
www0_0
post 11.05.2007, 12:15:41
Post #11





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 3.05.2007

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


to co widzisz wyżej:) to właśnie powinno być w tym pliku:)
Go to the top of the page
+Quote Post
aga323
post 11.05.2007, 12:19:16
Post #12





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

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


Ale jak zapiszę to tak to wtedy mi sie pokazuje ta strona tak samo jak wyglądała przed wpisaniem, w ogóle nie dodaje tych ocen. Jak otworze później inny plik w którym są tylko wyświetlane te oceny to nie pokazuje w ogóle tych co przed chwila dodałam. Tak jakby ich do bazy nie wysyłało...


--------------------
Go to the top of the page
+Quote Post
www0_0
post 11.05.2007, 12:30:24
Post #13





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 3.05.2007

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


A zobacz tak czy wykonuje się w ogóle warunek if.
  1. <?php
  2. $warunek = $_POST['form'];
  3. if(isset($warunek ))
  4. {
  5. $id = mysql_query("SELECT id_przedmiotu FROM przedmioty");
  6. echo 'Do bazy dodałem następujące oceny:<br>';
  7. while(mysql_fetch_assoc($id))
  8. {
  9. $oceny = $_POST[$id];
  10. $zapytanie = "INSERT INTO ocena (ocena) VALUES $oceny WHERE id_ucznia=1 AND id_przedmiotu=$id";
  11. $result = mysql_query ($zapytanie);
  12. echo 'Do przedmiotu o id:' .$id. 'dodałem:' .$oceny. '<br>';
  13.  
  14. }
  15. }
  16. $przedmioty = mysql_query("SELECT * FROM przedmioty");
  17. echo '<table border="1">';
  18. echo '<form name="oceny" action="spr_oceny.php" method="post">';
  19. echo '<input type="hidden" name="form" value="1" />';
  20. echo '<tr><td>Przedmioty</td><td>Oceny</td></tr>';
  21. while($row = mysql_fetch_assoc($przedmioty))
  22. {
  23. $id = $row['id_przedmiotu'];
  24. echo '<tr>';
  25. echo '<td>'.$row['nazwa_przedmiotu'].'</td><td>';
  26. echo '<TEXTAREA NAME="' .$id. '">';
  27. $oceny = mysql_query("SELECT ocena FROM oceny WHERE oceny.id_ucznia=1 AND oceny.id_przedmiotu=$id");
  28. while($wiersz = mysql_fetch_assoc($oceny))
  29. {
  30.  echo $wiersz['ocena']. ', ';
  31. }
  32. echo '</textarea>';
  33. echo '</td>';
  34. echo '</tr>';
  35. }
  36. echo '<input type="submit" value="wyslij" />';
  37. echo '</form>';
  38. echo '</table>';
  39. ?>


Jeśli się wykonuje, to trzeba tylko troszkę przerobić tą linijkę gdzie jest insert into, aby pasowała do twojej bazy.

Ten post edytował www0_0 11.05.2007, 12:55:50
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 Wersja Lo-Fi Aktualny czas: 15.07.2025 - 08:08