StrongholdNet - forum graczy Stronghold
Największe polskie forum o grach z serii Stronghold.

Internet i komputery - Problemy z systemem newsów (PHP, MySQL)

Siwy - 13 Wrzesień 11, 14:17

Ahhh Tay, Tay :P . Takie podstawy, nie spodziewałem się ;) .

Nie możesz bezpośrednio w PHP pisać kodu HTML. Musisz go albo echować, albo kończyć kod PHP pisać HTML i znowu zacząć PHP, czyli np.
Kod:
<?php
jakis
kod
PHP
?>
<h1>Kod HTML</h1>
<p>Tutaj mogę pisać w HTML :)</p>
<?php
tutaj dalszy
ciag kodu PHP
?>


Ten sposób jest dobry, gdy mamy duży kod HTML do osadzenia w PHP, np. formularz jakiś etc. Lepiej po prostu echować go. Tutaj trzeba pamiętać o tym, że znaki specjalne w cudzysłowach muszą być poprzedzone backslashem, np. cudzysłowy właśnie. Czyli musisz przed każdy cudzysłów dodać backslach, np.
Kod:
echo "<div id=\"NEWS\">
<div id=\"TYTUL_NEWSA\">";


Jest także coś takiego jak magiczne cudzysłowy. To znaczy, że wewnątrz pojedynczych można normalnie stosować podwójne i odwrotnie. Co za tym idzie możesz to wyechowac w ten sposób:
Kod:
echo '<div id="NEWS">
<div id="TYTUL_NEWSA">';


Mam nadzieję, że pomogłem :) .

Tay - 13 Wrzesień 11, 14:45

Pomogłeś, przynajmniej ja rozumiem, a czy wszystko zadziała - zaraz się przekonamy ;) btw. którą metodę preferujesz? Tą z backslahsami czy może pojedyncze cudzysłoey?
Siwy - 13 Wrzesień 11, 15:02

Ja tą z backslashami, a raczej tą z podwójnymi cudzysłowami - dziwną nazwę jej nadałeś xd. Bo 'obsługuje' ona przejścia do nowej linii (\n) i przetwarza bezpośrednio w sobie zmienne, tzn. mozna napisać np. tak
Kod:
echo "Wartość tej zmiennej wynosi $zmienna";

w miejsce $zmienna skrypt podstawi jej wartość. W pojedynczych cudzysłowach wyświetli po prostu $zmienna.

Tay - 13 Wrzesień 11, 15:04

Okej, dzięki. Teraz trochę z tym pokombinuję, a potem na 99% zapytam o coś jeszcze ;)

[ Dodano: 13 Wrzesień 11, 17:20 ]
I oto pojawił się kolejny problem: data. Zrobiłem w pliku news.php coś takiego:

Kod:

$data = date("Y-m-d");
$zapytanie = "INSERT INTO newsy VALUES(NULL, '$tytul', '$tresc', '$data')";


A w pliku index.php coś takiego (zapewne za dużo tych ech, ale z tym pokombinuję później, grunt, że działa):

Kod:

echo "<div id=\"NEWS\">
<div id=\"TYTUL_NEWSA\">";
echo "<h3>".$news['tytul']."</h3>";
echo "</div>";
echo "<div id=\"DATA_NEWSA\">";
echo "<h4>".$news['data']."</h4>";
echo "</div>";
echo "<div id=\"TRESC_NEWSA\">";
echo "<p>".$news['tresc']."</p>";
echo "</div>";
echo "<div class=\"pasek4\"></div></div>";


Problem tkwi w tym, że w bazie data się zapisuje, jednakże na stronie się nie wyświetla. Pytanie brzmi: dlaczego? Liczę na Ciebie, Siwy ;)

Siwy - 13 Wrzesień 11, 20:14

A pobierasz ja przy zapytaniu SELECT? Pole na pewno ma nazwe data? :)

Btw. Tak poza problemem - polecam Ci troche zabawy z konsola, zamiast z PHPMyAdminem - tak dla poćwiczenia zapytań SQL etc.

Tay - 13 Wrzesień 11, 20:25

Siwy napisał/a:
A pobierasz ja przy zapytaniu SELECT?

Nie ;p Teraz już tak i działa ;) Dzięki ;)

Cytat:
Btw. Tak poza problemem - polecam Ci troche zabawy z konsola, zamiast z PHPMyAdminem - tak dla poćwiczenia zapytań SQL etc.

Okej, choć teraz mam gips i ciut to niewygodne.


Powered by phpBB modified by Przemo © 2003 phpBB Group