Problém s textom na stránke – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Problém s textom na stránke – PHP – Fórum – Programujte.comProblém s textom na stránke – PHP – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
w3q0
Věrný člen
17. 1. 2008   #1
-
0
-

Mám taký problém, mám databázu MySQL, a vytvorenú databázu blog, a v nej tabuľky novinky a kniha návštev. Teraz sa budem zaoberať tabuľkou novinky. Spravil som si kód, ktorý do nej pridá záznam

<html>

<head>
<title>Pridanie novinky</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
</head>
<body>
<center>
<?php

// Pripojenie k databázi.
require "config.php";
$db_spojenie = mysqli_connect($server, $uzivatel, $heslo, $db, 3306);

// Test pripojenia.
if (!$db_spojenie)
{
echo 'Pripojenie sa nepodarilo!';
echo '';
echo 'Popis chyby: ', mysqli_connect_error();
exit();
}

// Správné nastavení slovenčiny.
$objekt_vysledku = mysqli_query($db_spojenie, "SET NAMES 'cp1250'");
if (!$objekt_vysledku)
{
echo 'Poslanie SQL príkazu se nepodarilo!';
echo '';
echo 'Popis chyby: ', mysqli_error($db_spojenie);
exit();
}

// Test, či prišli data z formuláru.
if (isset($_POST['text']))
{
// Vytvorenie SQL príkazu typu INSERT.
$sql_prikaz =
"INSERT INTO novinky(datum,nadpis,email,text) "
."VALUES(NOW(),'"
.mysqli_real_escape_string($db_spojenie,$_POST['nadpis'])
."','"
.mysqli_real_escape_string($db_spojenie,$_POST['email'])
."','"
.mysqli_real_escape_string($db_spojenie,$_POST['text'])
."')"
;

// Odoslanie SQL príkazu do databáze.
$objekt_vysledku = mysqli_query($db_spojenie, $sql_prikaz);

if (!$objekt_vysledku)
{
echo 'Poslanie SQL príkazu se nepodarilo!';
echo '';
echo 'Popis chyby: ', mysqli_error($db_spojenie);
exit();
}
echo 'Novinka pridaná.';
}

// Odpojení od databáze.
if ($db_spojenie)
mysqli_close($db_spojenie);
?>

<form name="newsky" action="" method="post">
<b>Nadpis:</b>
<input name="nadpis" size="40">

<b>Mail:</b>
<input name="email" size="40">

<b>Text:</b>
<textarea name="text" rows="20" cols="30"></textarea>

<input type="submit" value="Odeslat zprávu">
</form>
</center>
</body>
</html>



A ďalej mám kód index.php, v ktorom sa tieto záznamy ukazujú. A práve v tomto kóde je chyba. Novinky sa zobrazuju tak, že najstaršia je hore, a najmladšia dole. Lenže ja chcem aby to bolo opačne, prvý príspevok dole, a posledný hore. Prikladám kód
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<link rel="stylesheet" href="style/print.css" type="text/css" >
<meta name="description" content="Blog a portfólio Michala Takáča.">
<meta name="keywords" content="blog,IT,portfolio,programing,webdesing,programovanie,portfólio">
<meta name="robots" content="index, follow">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<meta name="author" content="Michal Takáč">
<meta name="generator" content="PSPad">
<title>Web Blog Michala Takáča
</title>
</head>
<body>
<style>
body {
font-size:medium;
background-image: url(grafika/vianoce2.gif);
}
#kontajner {
background: white;
background-image: url(grafika/kont.gif);
width: 500px;
color: black;
float: none;
border: 1px solid white;
border-top: 1px solid black;
border-right: 1px solid black;
border-left: 1px solid black;
}
#navigacia {background: blue;
background-image: url(grafika/menu.gif);
color: black;
font-weight: bold;
border: 1px solid;
}
#peticka {
background: green;
color: white;
height: 15px;
font-size: 80%;
}
#peticka a:link {
color: white;
text-decoration: underline;
}
#peticka a:visited {
color: white;
}a:hover {
color: black;
text-decoration: none;
}
a:link {color: black;
text-decoration: none;
}
a:vlink {
color: black;
}
a:visited {
color: black;
}
a:active {
color: black;
text-decoration: bold;
}
h1:hover {
color: white;
}
h4 {
background-image: url(grafika/menu.gif);
color: black;
border: 1px solid;
}
.text {
font-size: 85%;
padding: 3px;
color: black;
border: 2px dashed;
}
.text a:link {
text-decoration: underline;
}
.poznamka {
font-size: 70%;
border-bottom: 2px;
color: blue;
padding-bottom: 2px;
}
.code {
background: tan;
color: black;
}
h1 {
float: center;
font-size: 150%;
}
textarea {
background: lightblue;
color: black;
}

</style>

<center>
<div id="kontajner"><h1>Michal Takáč Bloguje</h1> Vitajte na mojom blogu nielen zo sveta IT.
<p>
<div id="navigacia">
<a href="index.php">Blog</a>  
<a href="omne.php">O Mne</a>  
<a href="portfolio.php">Portfólio</a>  
</div>
<?php
require "config.php";
$db_spojenie = mysqli_connect($server, $uzivatel, $heslo, $db, 3306);

$objekt_vysledku = mysqli_query($db_spojenie, "SET NAMES 'cp1250'");

$objekt_vysledku = mysqli_query($db_spojenie, "SELECT * FROM novinky ORDER BY datum DESC");

while ($riadok = mysqli_fetch_array($objekt_vysledku))
{
echo "<h4>";
echo $riadok['nadpis'];
echo "</h4>";
echo "<p class='text'>";
echo $riadok['text'];
echo "<br> <br>";
echo "Od: ";
echo $riadok['email'];
echo "</a>";
echo " ";
echo "Dňa: " ;
echo $riadok['datum'];
echo "</p>";
}
?>
<a href="http://www.netagent.cz">
<script language="JavaScript" type="text/javascript">
<!--
document.write ('<a href="http://www.netagent.cz" target="_top"><img src="http://www.netagent.cz/agent.php?id=7817&box=1&color=klasik&ur='+escape(document.referrer)+'&rw='+escape(window.screen.width)+'&rh='+escape(window.screen.height)+'&cd='+escape(window.screen.colorDepth)+'&pt='+escape(document.title)+'&lc='+escape(document.location)+'" width="100" height="72" border="0" alt="NetAgent" /></a>');
//--></script> </a>
<noscript>
<a href="http://www.netagent.cz" target="_top">
<img src="http://www.netagent.cz/agent.php?id=7817&box=1&color=klasik" border="0" alt="NetAgent" width="100" height="72" ></a>
</noscript>
<div id="peticka" align="center"> Code & Design by Michal Takáč, Optimalizované pre IE a Firefox.
<a href="#" title="Vráť sa hore">Hore</a>
</div>
</div>
</center>
</body>
</html>
A ešte sa chcem spýtať na jednu vec. Do teraz, kým web nebežal pomocou PHP a MySQL, používal som na písanie kódu do článku tag
<textarea></textarea>

Lenže web už beží na PHP a MySQL, a preto sa chcem spýtať, ako mám zapisovať kódy do textu, ktorý sa vypisuje z MySQL s pomocou PHP. Tu sa na to používa práve to tlačítko nad príspevkom v ktorom je napísané kód. Ten krkolovný popis si nevšímajte, len som to teraz nevedel lepšie popísať :D

Nahlásit jako SPAM
IP: 88.212.21.–
HTML,CSS,PHP,MySQL, začínam s Objected C 2.0
Reklama
Reklama
w3q0
Věrný člen
17. 1. 2008   #2
-
0
-

To mi nikto nevie pomôcť?

Nahlásit jako SPAM
IP: 88.212.21.–
HTML,CSS,PHP,MySQL, začínam s Objected C 2.0
17. 1. 2008   #3
-
0
-

Pro ukladani datumu nepouzivej to co tam pouzivas. Pouzij pole typu timestamp a dej mu jako defaultni hodnotu CURRENT_TIMESTAMP. To ti bez jakekoliv prace utomaticky ulozi aktualni datup pri vkladani zaznamu.

To s tim kodem nechapu.

Btw, nevkladej kompletni zdrojove kody, pokud te o to nekdo nepozada, vkladej pouze to co se tyka problemu!!!

Nahlásit jako SPAM
IP: 81.30.238.–
Prosím, jestli potřebujete s něčím poradit,zeptejte se na fóru. Jakýkoliv bezdůvodný pokus mě kontaktovat skončí okamžitým přidáním do ignore listu![br][br] Současný počet osob, které to nepochopily: 7
w3q0
Věrný člen
17. 1. 2008   #4
-
0
-

Ide o to, že ak pridám novinku, ona sa pridá aj vypíše, ale na koniec stránky. Čiže ak ako prvú zadám novinku o spustení stránky a potom o programujte.com na začiatku stránky bude tá o spustení stránky. Lenže ja potrebujem aby bola tá najnovšia navrchu, čiže tá o programujte.com(to je iba príklad).

Nahlásit jako SPAM
IP: 88.212.21.–
HTML,CSS,PHP,MySQL, začínam s Objected C 2.0
17. 1. 2008   #5
-
0
-

Zamysli se nad tim: vypisovani mas bych rek v poradku, takze chyba bude asi nekde na strane vkladani do db ;)

Nahlásit jako SPAM
IP: 81.30.238.–
Prosím, jestli potřebujete s něčím poradit,zeptejte se na fóru. Jakýkoliv bezdůvodný pokus mě kontaktovat skončí okamžitým přidáním do ignore listu![br][br] Současný počet osob, které to nepochopily: 7
w3q0
Věrný člen
17. 1. 2008   #6
-
0
-

Lenže neviem kde, dal som tu aj kód na pridanie newsky, ale vôbec netuším čo može to "chybu" spôsobovať.

Nahlásit jako SPAM
IP: 88.212.21.–
HTML,CSS,PHP,MySQL, začínam s Objected C 2.0
w3q0
Věrný člen
18. 1. 2008   #7
-
0
-

Vôbec netuším :(

Nahlásit jako SPAM
IP: 88.212.21.–
HTML,CSS,PHP,MySQL, začínam s Objected C 2.0
Zelenáč0
Posthunter
18. 1. 2008   #8
-
0
-

Pokud vim, NOW() vraci datum ve formatu "yy-mm-dd hh:mm:ss".. Zkus to nahradit PHPckovskou fci time(), eventualne autoincrementujicim se ID..

Nahlásit jako SPAM
IP: 89.176.254.–
Zelenáč0
Posthunter
18. 1. 2008   #9
-
0
-

Eventualne zkus

EXTRACT(EPOCH FROM now())

Nahlásit jako SPAM
IP: 89.176.254.–
18. 1. 2008   #10
-
0
-

Na tohle je fakt nejlepsi ten CURRENT_TIMESTAMP

Nahlásit jako SPAM
IP: 81.30.238.–
Prosím, jestli potřebujete s něčím poradit,zeptejte se na fóru. Jakýkoliv bezdůvodný pokus mě kontaktovat skončí okamžitým přidáním do ignore listu![br][br] Současný počet osob, které to nepochopily: 7
Zelenáč0
Posthunter
18. 1. 2008   #11
-
0
-

CommanderZ napsal:
Na tohle je fakt nejlepsi ten CURRENT_TIMESTAMP


Je to to same, jako now(), akorat delsi!!?? Aby mohl radit prispevky timto zpusobem, potrebuje pocet sekund, milisekund od nejakeho data - cislo, ktere s pribyvajicim casem narusta... To provede budto pomoci time(), nebo pomoci EXTRACT(EPOCH FROM now()) event. EXTRACT(EPOCH FROM CURRENT_TIMESTAMP)

Nahlásit jako SPAM
IP: 89.176.254.–
18. 1. 2008   #12
-
0
-

Ne, ono CURRENT_TIMESTAMP neni hodnota policka kterou by jsi vkladal do databaze (mozna i je, to nevim, ale na tom ted nezalezi). Vtip je v tom, ze ty nastavis CURRENT_TIMESTAMP jako DEFAULT hodnotu policka uz pri vytvareni tabulky. A diky tomu v tom poli potom vzdy budes mit presny cas vytvoreni zaznamu ;)

Ja toto pouzivam u 99% vsech tabulek se kterymi pracuju. Pro cas vlozeni se vzdycky nejake vyuziti najde :)

Nahlásit jako SPAM
IP: 81.30.238.–
Prosím, jestli potřebujete s něčím poradit,zeptejte se na fóru. Jakýkoliv bezdůvodný pokus mě kontaktovat skončí okamžitým přidáním do ignore listu![br][br] Současný počet osob, které to nepochopily: 7
w3q0
Věrný člen
21. 1. 2008   #13
-
0
-

Ten CURRENT_TIMESTAMP pomohol. Vďaka :) Zelenáč vďaka za ochotu :)

Nahlásit jako SPAM
IP: 88.212.23.–
HTML,CSS,PHP,MySQL, začínam s Objected C 2.0
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 30 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý