Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyświetlanie zawartości tabeli
Forum PHP.pl > Forum > PHP
Login
Witam
Mam kod wyświetljący zawartość tabeli Test i kolumny Tekst

  1. <?php
  2. $zapytanie = "SELECT * FROM Test";
  3. $result = mysql_query($zapytanie);
  4. $row = mysql_fetch_array($result);
  5. $temp = $row["Tekst"];
  6. ?>


Zawartość kolumny Tekst w tabeli

  1. <?
  2. print "Test";
  3. ?>


I wogóle nic nie wypisuję, a jak zmienię zawartość Tekst w tabeli na:
"Jakiś tekst"
To wypisuje mi: "Jakiś tekst"
sobieh
no dobra ale w czym problem bo troche ciezko twoj problem zrozumiec :/

  1. <?php
  2. $zapytanie = "SELECT * FROM Test";
  3. $result = mysql_query($zapytanie);
  4.  
  5. while($row = mysql_fetch_array($result))
  6. {
  7.  echo $row["Tekst"];
  8. }
  9. ?>


pokaze kolumne Tekst z wszystkich wierszy tabeli Test.
bez wzgledu na to jaka zawartosc ma ... moze to byc kod php / SQL obojetnie
dlatego ze jest traktowane jako String.
Login
Jak wyeksportuję tą tabelę to wygląda to tak:

  1. -- Struktura tabeli dla `Test`
  2. -- 
  3.  
  4. CREATE TABLE `Test` (
  5. `id` int(11) NOT NULL auto_increment,
  6. `Name` varchar(50) collate latin1_general_ci default NULL,
  7. `Title` varchar(50) collate latin1_general_ci default NULL,
  8. `Tekst` text collate latin1_general_ci,
  9. `Count` int(11) default NULL,
  10. PRIMARY KEY (`id`)
  11. ) ENGINE=MyISAM AUTO_INCREMENT=23 DEFAULT CHARSET=latin1 COLLATE=latin1_gene
    ral_ci AUTO_INCREMENT=23 ;
  12.  
  13. -- 
  14. -- Zrzut danych tabeli `Test`
  15. -- 
  16.  
  17. INSERT INTO `Test` VALUES (0, 'Test', 'Test', '<? print "Jakiś tekst" ?>', 0);
  18. INSERT INTO `Test` VALUES (1, 'tojest2', 'tojest2', 'To jest drugi tekst', 0);


I tego pierwszego INSERT INTO `Test` VALUES (0, 'Test', 'Test', '<? print "Jakiś tekst"; ?>', 0); mi nie wświetla. Dopiero gdy się pozbędę znaczników <?, ?> to wyświetli mi print "Jakiś tekst"

Poprostu nie chce mi wyświetlać kodu php
Mike122
Weź przepuść to przez:
[manual]htmlspecialchars()[manual]

Czyli:
  1. <?php
  2. $zapytanie = "SELECT * FROM Test";
  3. $result = mysql_query($zapytanie);
  4.  
  5. while($row = mysql_fetch_array($result))
  6. {
  7. $rowhtml = htmlspecialchars($row["Tekst"]);
  8. print $rowhtml;
  9. }
  10. ?>

lub
  1. <?php
  2. $zapytanie = "SELECT * FROM Test";
  3. $result = mysql_query($zapytanie);
  4.  
  5. while($row = mysql_fetch_array($result))
  6. {
  7. $code = highlight_string($row["Tekst"]);
  8. print $code;
  9. }
  10. ?>

Ten 2 przykład od razu pokoloruje kod.
Chyba to będzie tak
dry.gif
Login
to wyświetli treść w tabeli "Tekst", a nie o to mi chodzi.
Poprostu chcę, gdy tabela ma wartość <? print "txt" ?> żeby mi wświetliło "Txt", a jak mam znaczniki php (<?, ?>) to mi nic nie wyświetla
maryaan
wyswietla, popatrz w zrodlo strony winksmiley.jpg

przetestuj to
  1. <?
  2. $str = '<? print "txt" ?>';
  3. eval("?>".$str); 
  4. echo $str; //to widac tylko w zrodle
  5. ?>
zapodajesz odpowiednio i ma grac
Strzałek
Zależy co chcesz zrobić.

Jeżeli chcesz wyświetlić to co się znajduje w bazie, to musisz przepuścić tekst przez htmlspecialchars

Jeżeli natomiast chcesz aby ten kod umieszczony w bazie wykonywał się to musisz użyć eval
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.