Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Wyświetlanie podstron
Forum PHP.pl > Forum > Przedszkole
zientek18
Witam, piszę takiego małego CMS'ika, a właściwie próbuję. Mianowicie do tej pory stworzyłem tabelę z trzema polami:
id, title, content. Zastanawiam sie jak wyswietlic $row['content'] wszedzie tam gdzie sie kliknie w link ? Może jakaś podpowiedź ?

  1. <?php
  2. include_once("cms_connect.php");
  3.    $tresc_zapytania = 'SELECT * FROM cms_podstrony';
  4.    $zapytanie = mysql_query($tresc_zapytania);
  5.    if (mysql_num_rows($zapytanie) > 0)
  6.    {
  7.        while($row = mysql_fetch_array($zapytanie))
  8.        {
  9.        echo "<a href=\"?id=";
  10.        echo $row['id'];
  11.        echo "\">";
  12.        echo $row['title'];
  13.        echo "</a>";
  14.        echo "<br />";
  15.        }
  16.    }
  17. ?>


Już sobie poradziłem poprzez:
  1. <?php
  2. if (($_GET['id']) == $row['id'])
  3.    {
  4.    echo $row['content'];
  5.    }
  6. ?>
Fifi209
To:

  1. <?php
  2. echo "<a href=\"?id=";
  3.       echo $row['id'];
  4.       echo "\">";
  5.       echo $row['title'];
  6.       echo "</a>";
  7.       echo "<br />";
  8. ?>


Można zapisać jako:
  1. <?php
  2. echo '<a href="?id='.$row['id'].'">'.$row['title'].'</a><br/>';
  3. ?>


Co do pytania, wyciągnij po prostu podstronę o danym id

  1. <?php
  2. $tresc_zapytania = 'SELECT * FROM cms_podstrony WHERE `id` = '. (int) $_GET['id'];
  3. ?>
zientek18
No dzięki za pierwszą uwagę co do zapisu.

Ale nie bardzo rozumiem co napisałeś na temat wyciąganiu podstrony o podanym ID.

Aktualnie posiadam taki kod, ale rozumiem, że można go zapisać jakoś inaczej - łatwiej ?

  1. <?php
  2.    include("cms_connect.php");
  3.    $tresc_zapytania = 'SELECT * FROM cms_podstrony';
  4.    $zapytanie = mysql_query($tresc_zapytania);
  5.    if (mysql_num_rows($zapytanie) > 0)
  6.    {
  7.        while($row = mysql_fetch_array($zapytanie))
  8.        {
  9.        echo '<a href="?id='.$row['id'].'">'.$row['title'].'</a><br />';
  10.        }
  11.    }
  12.    
  13.  
  14. ?>
  15.  
  16. <?php
  17.    include("cms_connect.php");
  18.    $tresc_zapytania = 'SELECT * FROM cms_podstrony';
  19.    $zapytanie = mysql_query($tresc_zapytania);
  20.    if (mysql_num_rows($zapytanie) > 0)
  21.    {
  22.        while($row = mysql_fetch_array($zapytanie))
  23.        {
  24.        if (($_GET['id']) == $row['id'])
  25.    {
  26.    echo $row['content'];
  27.    }
  28.        }
  29.    }
  30.        
  31. ?>
greg.paw.90
spr tak:
  1. <?php
  2. if(isset($id)){
  3. $link=mysql_query("SELECT * FROM cms_podstrony WHERE id='$id'");
  4. while($row=mysql_fetch_array($link))
  5. {
  6.    echo $row['content'];
  7. }
  8. ?>
Fifi209
Cytat(greg.paw.90 @ 14.06.2009, 10:40:01 ) *
spr tak:
  1. <?php
  2. if(isset($id)){
  3. $link=mysql_query("SELECT * FROM cms_podstrony WHERE id='$id'");
  4. while($row=mysql_fetch_array($link))
  5. {
  6.    echo $row['content'];
  7. }
  8. ?>


Wszystko ok tylko z moim zapytaniem winksmiley.jpg

To:
  1. <?php
  2. $link=mysql_query("SELECT * FROM cms_podstrony WHERE id='$id'");
  3. ?>


Zmień na:
  1. <?php
  2. $link = 'SELECT * FROM cms_podstrony WHERE `id` = '. (int) $_GET['id'];
  3. ?>


Bo w tamtym masz dziurę na sqli haha.gif
zientek18
Cytat(greg.paw.90 @ 14.06.2009, 08:40:01 ) *
spr tak:
  1. <?php
  2. if(isset($id)){
  3. $link=mysql_query("SELECT * FROM cms_podstrony WHERE id='$id'");
  4. while($row=mysql_fetch_array($link))
  5. {
  6.    echo $row['content'];
  7. }
  8. ?>


Nic się niewyświetla, a czy mój kod w poprzednim poście jest nieprawidłowy ?
Fifi209
Cytat(zientek18 @ 14.06.2009, 11:10:56 ) *
Nic się niewyświetla, a czy mój kod w poprzednim poście jest nieprawidłowy ?


Tak oba są niepoprawne...

Tu masz działający:
  1. <?php
  2. if(isset($_GET['id'])){
  3. $link = mysql_query('SELECT * FROM cms_podstrony WHERE `id` = '. (int) $_GET['id']);
  4. while($row=mysql_fetch_array($link))
  5.   echo $row['content'];
  6. }else{
  7. // tutaj kod wyświetlania wszystkich newsów
  8. }
  9. ?>
XP'ek
Witam nie będę zakładał nowego tematu bo nie ma sensu a miej więcej tego samego dotyczy.

Mam Taki kod

Kod
$id=$_GET['REKLAMA'];

$zapytanie="SELECT * FROM `zakladki` ORDER BY `nazwa` LIKE 'id'";
$wykonaj=mysql_query($zapytanie);

if($wiersz=mysql_fetch_array($wykonaj))
{
$zakladka = $wiersz['tresc'];
}

echo $wiersz['tresc'];



Jak zrobić by nie wyświetlał mi pierwszej treści z wiersza tylko np. z drugiej gdzie tabela jest zbudowana w ten sposób.

Kod
--
-- Struktura tabeli dla  `zakladki`
--

CREATE TABLE `zakladki` (
  `nazwa` varchar(255) collate utf8_polish_ci NOT NULL default '',
  `tresc` longtext collate utf8_polish_ci NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;

--
-- Zrzut danych tabeli `zakladki`
--

INSERT INTO `zakladki` VALUES ('POMOC', 'pomoc');
INSERT INTO `zakladki` VALUES ('KONTAKT', 'kontakt');
INSERT INTO `zakladki` VALUES ('WSPOLPRACA', 'wspolpraca');
INSERT INTO `zakladki` VALUES ('ONAS', 'o nas');



Chodzi mi dokładnie o kod dzięki któremu bedę w stanie wyświetlić w zakładce kontakt zawartość Kontaktu a w O Nas treść o nas a nie tak jak teraz niezależnie co wpisze mam "pomoc"







[edit]
oki nie ważne poradziłem sobie w ten sposób

Kod
$zapytanie="SELECT * FROM `zakladki` WHERE `nazwa` LIKE 'KONTAKT'";
$wykonaj=mysql_query($zapytanie);

if($wiersz=mysql_fetch_array($wykonaj))
{
$tresc = $wiersz['tresc'];
}

print "".$tresc."";
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.