Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Dane z bazy w ramce
Forum PHP.pl > Forum > Przedszkole
aga323
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
Cienki1980
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.
aga323
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!
Darti
  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. ?>
aga323
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.
www0_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.
aga323
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
www0_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. ?>
aga323
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ść
www0_0
to co widzisz wyżej:) to właśnie powinno być w tym pliku:)
aga323
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...
www0_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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.