|
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 . 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.
|
|