Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> jeszcze o eval, eval i zapytanie sql w tabeli
yacol
post 1.08.2005, 10:56:32
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 27.07.2005

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


Mam maly problem, z ktorym nie moge sobie poradzic... probowalem na rozne sposoby i nic...

Mam baze danych z tabela, ktora w jednej z kolumn zawiera m.in zapytanie sql SELECT...
Probuje wypisac zawartosc tej komorki na stronie, ale jak wiadomo print nie zinterpretuje mi zapytania poprawnie, tylko wypisze jako tekst, wiec probuje uzyc funkcji eval, ale to zwraca mi tylko napis 'Obiekt'.
Jak nalezy rozwiazac taka sprawe? :/

Zawartosc rekordu tabelki, ktora chce wyswietlic...

  1. <tr>
  2.  
  3. <td valign="top">
  4. <p class="big">
  5. W maju ...
  6. </p>
  7. </td>
  8. <td width=35>&nbsp;</td>
  9. <td width=180 valign="top">
  10. <a href="http://www.lpi.org" target="_blank"><img src="img/logo_latp.jpg" border="0" title="Partner Linux Professional Institute" alt="Partner Linux Professional Institute"></a>
  11. </td>
  12. </tr>
  13.  
  14. <br>
  15.  
  16. <br><br><strong>Obecnie w ofercie szkoleniowej z zakresu systemu Linux znajduj si?</strong><br><br>
  17. <tr>
  18. <td>
  19.  
  20. <ul type="square">
  21.  
  22. <?php
  23.  
  24. while($db1->next_row())
  25.  
  26. {
  27. ?>
  28. <li><a href=?section=training&sub=linux_details&tr_id=<?php print $db1->R['training_id']; ?>>
  29. <?php print $db1->R['training_no']; print " - "; print $db1->R['training_name']; ?>
  30. </a><br>
  31. <?php
  32. }
  33.  
  34. ?>
  35. </ul>
  36. </td>
  37.  
  38. </tr>



zawartosc strony, na ktorej chce to wyswietlic...

  1. <p class=\"big\">
  2.  
  3. <table cellpadding=\"2\" cellspacing=\"2\" border=0>
  4.  
  5.  
  6. <?php
  7.  
  8. $db=new Database;
  9. $db->connect();
  10.  
  11. $db->query(&#092;"SELECT * FROM tbl_modules WHERE modules_name='$section' AND sub_name='$sub' AND lang='$lang' ORDER BY modules_order DESC\");
  12.  
  13.  
  14.  
  15. $db1=new Database;
  16. $db1->connect();
  17.  
  18. $db1->query(&#092;"SELECT training_id, training_no, training_name FROM tbl_training WHERE trai
    n
  19. ng_section = 'linux' ORDER BY training_id\");
  20.  
  21.  
  22.  
  23. while($db->next_row())
  24.  
  25. {
  26. eval $db->R['modules_content'];
  27.  
  28.  
  29. }
  30. ?>
  31.  
  32. </p>
  33. </table>
Go to the top of the page
+Quote Post
nospor
post 1.08.2005, 11:01:03
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




eval () wykouje kod php. Twój rekord zawiera też html (głównie html), więc ci to nie zadziała.
A nie możesz poprostu w miejscu, gdzie jest kod php wstwić ciąg np. {KODPHP}
a potem poprzez str_replace zamienić go na to co ma sie wyswietlić?

Nie utrudniajcie sobie życia.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
yacol
post 1.08.2005, 11:10:08
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 27.07.2005

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


cale wyrazenie <a href=?section=training&sub=linux_details&tr_id=<?php print $db1->R['training_id']; ?>>
<?php print $db1->R['training_no']; print " - "; print $db1->R['training_name']; ?>
</a> mialbym zastapic {kodphp1}?

poza tym na tej stronie, oprocz tego rekordu wyswietlane sa rowniez inne, w zaleznosci od parametru sub_name i w tych innych rekordach rowniez wystepuje podobny problem (kod php). Jak sobie z tym poradzic?

Ten post edytował yacol 1.08.2005, 11:13:09
Go to the top of the page
+Quote Post
nospor
post 1.08.2005, 11:16:14
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




a ty nie znasz tego kodu php co jest w rekordzie? jak znasz to go wykonaj i jego wynik podstaw za {KODPHP}.

A pozatym zamiast czystego html w rekordzie zrób tylko php, czyli daj
  1. <?php
  2.  
  3. echo &#092;"to twoj kod html\";
  4. //tu instrukcje inne php
  5. echo &#092;"tu znowu kod html\";
  6.  
  7. ?>
bedziesz mial wtedy sam kod php któy będzie mógł być wykonany przez eval


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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: 18.07.2025 - 01:33