Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> DIV do wyświetlenia danych z bazy.
strugi
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 19.02.2012

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




W divie z id="notatka" chciałbym umieścić treść notatki z bazy danych, która jest w tej samej bazie i tej samej tabeli, co reszta danych. Otóż chciałbym zrobić tak, żeby div="notatka" służył do dwóch lub więcej (o ile coś wymyślę) rzeczy, mianowicie:

1. Po kliknięciu w numer lub temat notatki chcę, aby tekst tej notatki pojawił się w div="notatka".
2. Po wybraniu kategorii, np. niemiecki, chciałbym, aby pojawiła się lista w div="notatka", której przedmiotem jest tylko niemiecki.
3. Sprawa wygląda tak, że chciałbym, aby dajmy notatka z id = 14, była również dostępna pod adresem "localhost/?=14" lub "localhost/notatka.php?=14".

Poszukuję informacji na temat zrobienia czegoś takiego.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Uriziel01
post
Post #2





Grupa: Zarejestrowani
Postów: 307
Pomógł: 37
Dołączył: 9.11.2010
Skąd: Zielona Góra

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


Hmmm widzę tutaj dwie drogi, albo pokazujesz jakikolwiek kod który ty napisałeś i na którym możemy się oprzeć lub też podaje numer konta na który możesz przelać wynagrodzenie wink.gif
Go to the top of the page
+Quote Post
strugi
post
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 19.02.2012

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


index.php:

  1. <head>
  2. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
  3. <link rel="stylesheet" href="styl.css">
  4. </head>
  5. <body>
  6. <center>
  7. <img src="obrazki/dupshot.png" width="400" height="83"> <!-- logo -->
  8. <br>
  9. <div id="content">
  10. <div class="left">
  11. <div id="szukaj"></div>
  12.  
  13. </div>
  14. <div class="right"><br>
  15. <div class="rb">
  16. <?php
  17. require "polaczenie.php";
  18. ?>
  19. <br>
  20. </div>
  21. <br>
  22. <div class="rb">
  23. asd
  24. </div>
  25. <br>
  26. <br>
  27. <div class="rb">
  28. <table class="table" id="table-gen" cellspacing="0" cellpadding="0">
  29. <tr class="rowa">
  30. <td class="col1 cell"><b>nr</b></td>
  31. <td class="col2 cell"><b>nazwa</b></td>
  32. <td class="col3 cell"><b>język</b></td>
  33. <td class="col4 cell"><b>data</b></td>
  34. <td class="col5 cell"><b>notatka</b></td>
  35. </tr>
  36. <?php
  37. connection();
  38. $wynik = mysql_query("SELECT * FROM test")
  39. or die('Błąd zapytania');
  40. if(mysql_num_rows($wynik) > 0) {
  41. while($r = mysql_fetch_assoc($wynik)) {
  42. echo "<tr class=rowa>";
  43. echo "<td class=col1 cell width=30px>".$r['id']."</td>";
  44. echo "<td class=col2 cell width=150px>".$r['temat']."</td>";
  45. echo "<td class=col3 cell width=40px>".$r['jezyk']."</td>";
  46. echo "<td class=col4 cell width=13px><center><img src=obrazki/icon_info.gif width=13px height=13px title=\"".$r['data']."\"></center></td>";
  47. echo "<td class=col5 cell width=13px><center><img src=obrazki/icon_hash.gif width=13px height=13px>|ASDASD|</center></td>";
  48. echo "</tr>";
  49. }
  50. }
  51. ?>
  52. </table>
  53. </div>
  54. </center>
  55. </body>


Dodam, iż fajnie byłoby zrobić tak, aby po kliknięciu w icon_hash.gif notatka pojawiła mi się w div="notatka"

polaczenie.php:

  1. <?php
  2. /******************************************************
  3. * connection.php
  4. * konfiguracja połączenia z bazą danych
  5. ******************************************************/
  6.  
  7. function connection() {
  8. // serwer
  9. $mysql_server = "localhost";
  10. // admin
  11. $mysql_pass = "";
  12. $mysql_admin = "root";
  13. // nazwa baza
  14. $mysql_db = "baza";
  15. // nawiązujemy połączenie z serwerem MySQL
  16. @mysql_connect($mysql_server, $mysql_admin, $mysql_pass)
  17. or die('Brak połączenia z serwerem MySQL.');
  18. // łączymy się z bazą danych
  19. @mysql_select_db($mysql_db)
  20. or die('Błąd wyboru bazy danych.');
  21. }
  22.  
  23. ?>


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





Grupa: Zarejestrowani
Postów: 9
Pomógł: 2
Dołączył: 26.11.2008

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


fachowcem w PHP nie jestem, ale zdązyłem sobie zakodować, ze na etapie "tworzenia" nie powinno się uzywać @mysql_, bo ta "małpa" przed mysql słuzy do tłumienia komunikatów błędów (które mogą duzo pomóc w przypadku błędów w zapytaniach/połączeniu)


zamiast:
  1. if(mysql_num_rows($wynik) > 0) {
  2. while($r = mysql_fetch_assoc($wynik)) {
  3. echo "<tr class=rowa>";
  4. echo "<td class=col1 cell width=30px>".$r['id']."</td>";
  5. echo "<td class=col2 cell width=150px>".$r['temat']."</td>";
  6. echo "<td class=col3 cell width=40px>".$r['jezyk']."</td>";
  7. echo "<td class=col4 cell width=13px><center><img src=obrazki/icon_info.gif width=13px height=13px title=\"".$r['data']."\"></center></td>";
  8. echo "<td class=col5 cell width=13px><center><img src=obrazki/icon_hash.gif width=13px height=13px>|ASDASD|</center></td>";
  9. echo "</tr>";
  10. }
  11. }

mozesz:
  1. <?php if(mysql_num_rows($wynik) > 0):
  2. while($r = mysql_fetch_assoc($wynik)):
  3. ?>
  4. <tr class=rowa>
  5. <td class=col1 cell width=30px><?php echo $r['id'] ?></td>
  6. <td class=col2 cell width=150px><?php echo $r['temat'] ?></td>
  7. <td class=col3 cell width=40px><?php echo $r['jezyk'] ?></td>
  8. <td class=col4 cell width=13px><center><img src=obrazki/icon_info.gif width=13px height=13px title=<?php echo $r['data'] ?></center></td>
  9. <td class=col5 cell width=13px><center><img src=obrazki/icon_hash.gif width=13px height=13px>|ASDASD|</center></td>
  10. </tr>
  11. <?php endwhile; endif; ?>


ponadto:
  1. echo '<tr class=rowa>';

jest szybsze niz:
  1. echo "<tr class=rowa>";

jeśli masz tylko html do "wyplucia", bo php przy pojedyńczym cudzysłowiu nie sprawdza czy w środku znajdują się jakieś zmienne


a co do kodu:
  1. <?php if(mysql_num_rows($wynik) > 0):
  2. while($r = mysql_fetch_assoc($wynik)):
  3. ?>
  4. <tr class=rowa>
  5. <td class=col1 cell width=30px><?php echo $r['id'] ?></td>
  6. <td class=col2 cell width=150px><?php echo $r['temat'] ?></td>
  7. <td class=col3 cell width=40px><?php echo $r['jezyk'] ?></td>
  8. <td class=col4 cell width=13px><center><img src=obrazki/icon_info.gif width=13px height=13px title=<?php echo $r['data'] ?></center></td>
  9. <td class=col5 cell width=13px><center><a href="localhost/notatka.php?notkaid=<?php echo $r['id']; ?>"<img src=obrazki/icon_hash.gif width=13px height=13px>|ASDASD|</a></center></td>
  10. </tr>
  11. <?php endwhile; endif; ?>


i w samym div np.:
  1. <div ="notatka">
  2. <?php if( isset($_GET['notkaid']) && is_numeric($_GET['notkaid']) )
  3.  
  4. connection();
  5. $sql = 'SELECT * FROM test WHERE id='.$_GET['notkaid'];
  6. $res = mysql_query($sql);
  7. $dat = mysql_fetch_assoc($res);
  8. if(mysql_num_rows($res) >0) echo $dat['notatka'];
  9.  
  10. ?>
  11. </div>


nie podałeś jak wygląda tabela, więc i odpowiedź taka wydumana "na kolanie"

Ten post edytował G4rcU 28.02.2012, 02:01:57
Go to the top of the page
+Quote Post
strugi
post
Post #5





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 19.02.2012

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


Tabela:
ID|temat|jezyk|data|notatka

Zastanawiam się, czy przypadkiem źle mnie nie zrozumiałeś. Owszem, napisałem chaotycznie, ale jest to do zrozumienia tongue.gif

Może w tej tabelce zrobić tak, że ID będzie do wysłania postem do pliku (którego nie mam) - notatka.php ?

////

Trochę namotałem i zrobiłem taką linijkę:

  1. echo "<td class=col5 cell width=13px><center><form action=notatka.php method=post><input type=hidden name=notatka value=\"".$r['id']."\" /><a href=\"java script:this.form.submit();\"><a href=\"java script:zmien('notatka.php', 'tekstnotatki')\"><img src=obrazki/icon_info.gif width=13px height=13px ></a></a></form></center></td>";


Jednak nie mam pojęcia jak zrobić do tego plik notatka.php, który wyświetli mi notatkę w divie "tekstnotatki", która w bazie jest znana pod id pobranym z tego formularza.

Ten post edytował strugi 28.02.2012, 05:37:04
Go to the top of the page
+Quote Post
G4rcU
post
Post #6





Grupa: Zarejestrowani
Postów: 9
Pomógł: 2
Dołączył: 26.11.2008

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


przeciez Ci napisałem jak to zrobić

  1. <td class=col5 cell width=13px><center><a href="localhost/notatka.php?notkaid=<?php echo $r['id']; ?>"><img src=obrazki/icon_hash.gif width=13px height=13px>|ASDASD|</a></center></td>
tu jest link, który "wybiera" notatkę z bazy o podanym ID


a w kodzie:
  1. <div ="notatka">
  2. <?php if( isset($_GET['notkaid']) && is_numeric($_GET['notkaid']) )
  3.  
  4. connection();
  5. $sql = 'SELECT notatka FROM test WHERE id='.$_GET['notkaid'];
  6. $res = mysql_query($sql);
  7. $dat = mysql_fetch_assoc($res);
  8. if(mysql_num_rows($res) >0) echo $dat['notatka'];
  9.  
  10. ?>
  11. </div>

sprawdzasz, czy zmienna notkaid, przekazywana w adresie strony, jest ustawiona (i czy jest liczbą) - jeśli tak, to pobiera dane z bazy i wyświetla w div
Go to the top of the page
+Quote Post
strugi
post
Post #7





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 19.02.2012

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


Ajj, przepraszam, pomyłka.
Twój kod działa dobrze smile.gif
Dziękuję serdecznie.

Ten post edytował strugi 28.02.2012, 17:09:31
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: 21.08.2025 - 13:15