Autor Zpráva
serverteam.sk
Profil
Ahojte možná jsem toto téma již otevíral ale nechci se vracet k uzavřenému tématu, potřeboval bych zobrazit novinky z mysql doteď jsem to řešil pomocí includes ale s rostoucími potřebami herního portálu jsem narazil na mnoho problémů ( admini neumí php html atd. ) proto sem se rozhodl novinky a texty na stránkách zobrazit pomocí mysql se kterým lze snadno texty editovat. Předem děkuji za odpověd.
lionel messi
Profil
serverteam.sk:
Ahojte možná jsem toto téma již otevíral
Áno, otváral si ho necelú polhodinu pred založenímmm tejto duplicity, čo tu vidíme len neradi.

zobrazení novinek pomocí mysql

Moderátor Davex: Duplicitu jsem smazal.
serverteam.sk
Profil
Ano založil jsem témy 2 ale na začátku minulého roku sem podobnou tému taky otevíral
jakre
Profil
serverteam.sk:
proto sem se rozhodl novinky a texty na stránkách zobrazit pomocí mysql se kterým lze snadno texty editovat
A co mi s tím? Je široký pojem říci, že bys potřeboval zobrazit novinky z mysql.
Proč si texty novinek neuložíš do složky novinky, kam pak jednoduše přidáš textové soubory
s novinkami, které includuješ na dané místo na webu?
serverteam.sk
Profil
1. ano jakre tento spusob používám ale potřebuju aby to ze serverových důvodů v databázi kde bude mít server přístup
2. Potřebuju aby se mi postupně vypsali ve stylu
<div class="nadpis">*NADPIS*</div>
<div class="test">*TExT*</div>
<div class="cas">*ČAS*</div>
<div class="uzivatel">*UŽIVATEL*</div>
pomocí php scriptu
lionel messi
Profil
serverteam.sk:
Ano založil jsem témy 2 ale na začátku minulého roku sem podobnou tému taky otevíral
Založil si tému dnes tesne po tretej a plus-mínus o polhodinu si pomocou copy/paste založil úplne rovnakú tému s mierne pozmeneným nadpisom. Skús sa zamyslieť, akoby to vyzeralo, keby sa obdobne správali všetci.

Po vyjasnení menšieho nedorozumenia odstránená poznámka smerovaná k jakre.
jakre
Profil
lionel messi:
tomto vlákne nie je žiadna pridaná hodnota
A to mi brání k tomu, abych mohl na téma odpovědět?
lionel messi
Profil
jakre:
A to mi brání k tomu, abych mohl na téma odpovědět?
Samozrejme, že nie, zle som si prečítal tvoj prvý príspevok a myslel som si, že veta: „A co mi s tím?“ je adresovaná mne, nie autorovi, ospravedlňujem sa.
Fisir
Profil
Reaguji na lionela messiho:
Rozběhla se tu diskuse, takže asi budeme pokračovat tady (+ to pravděpodobně spíše patří do kategorie PHP).

Reaguji na serverteam.ska:
$query = $db->query('SELECT * FROM novinky ORDER BY cas DESC');
while($novinka = $query->fetch_assoc()){
    echo('<div class="nadpis">'.htmlspecialchars($novinka['nadpis']).'</div>');
    echo('<div class="test">'.htmlspecialchars($novinka['text']).'</div>');
    echo('<div class="cas">'.date('j. n. Y, G:i', strtotime($novinka['cas'])).'</div>');
    echo('<div class="uzivatel">'.htmlspecialchars($novinka['uzivatel']).'</div>');
}

Prosím.
serverteam.sk
Profil
děkuji a šlo by to nějak upravit aby mohly být všechny stránky v jedné tabulce ? (už tak jich tam mám dost kvůli fóru)
Fisir
Profil
Reaguji na serverteam.ska:
Ten kód žádné stránky ani tabulky neřeší. Nechápu.
serverteam.sk
Profil
1 Můžu se zeptat co znamená toto ? .htmlspecialchars
2 spní kód stejnou funkci když ho dám takto ?
<?php
7$query = $db->query('SELECT * FROM novinky ORDER BY cas DESC');
while($novinka = $query->fetch_assoc())
?>
    <div class="nadpis"><?php '.htmlspecialchars($novinka['nadpis']).' ?></div>
    <div class="test"><?php '.htmlspecialchars($novinka['text']).' ?></div>
    <div class="cas"><?php '.date('j. n. Y, G:i', strtotime($novinka['cas'])).' ?></div>
    <div class="uzivatel"><?php '.htmlspecialchars($novinka['uzivatel']).' ?></div>
Fisir
Profil
Reaguji na serverteam.ska:
Ad 1) V [#9] klikni na text htmlspecialchars.
Ad 2) Ne, nastuduj si syntaxi PHP.
jakre
Profil
lionel messi:
myslel som si, že veta: ‚A co mi s tím?‘ je adresovaná mne, nie autorovi
To se omlouvám já. Původně v mém příspěvku bylo zmíněno tvé jméno,
protože jsem místo u příspěvku číslo [#1] zmáčkl Odpovědět u tvého příspěvku.
serverteam.sk
Profil
a ještě otázka +vysvětleni [#10] Každá stránka bude mít svůj text, nadpis, čas , uživatele (a očekávám že v tomto případě bude potřeba i ID ) a stránek bude 10 v tom případě potřebuju do té jedné tabulky nacpat 10 řádků a potřebuju kód ve kterém když změním id z 1 na 2 tak se zobrazí údaje na řádku 2
tiso
Profil
serverteam.sk:
potŕebuju kéd
Čo za to?
serverteam.sk
Profil
+ [#13] ad 2 ve starém článku sem se dočetl že se nemá kombinovat html a php
Tomáš123
Profil
serverteam.sk:
ad 2 ve starém článku sem se dočetl že se nemá kombinovat html a php
To nie je pravda. Iba to nebude fungovať ak ich skombinuješ tamtým spôsobom.

Myslím, že takýto zápis nie je ničím škodný (úprava jedného z tvojich riadkov):
<div class="nadpis"><?php htmlspecialchars($novinka['nadpis']);?></div>
serverteam.sk
Profil
aha díky takze kombinovat spusobem <div>dasdadasdadas</div><div>.($novinka['nadpis']).</div> se dá
Fisir
Profil
Reaguji na serverteam.ska:
kombinovat spusobem <div>dasdadasdadas</div><div>.($novinka['nadpis']).</div> se dá
Ne. Už sis tu syntaxi nastudoval?
Tomáš123
Profil
serverteam.sk:
takze kombinovat spusobem
Vyššie som upravil príspevok [#18]. Pozri si ako sa dá kombinovať.

<div>dasdadasdadas</div><div>.($novinka['nadpis']).</div>
Ak by to bolo zapísané <div>dasdadasdadas</div><div><?php($novinka['nadpis'])?></div>

Symbol "." slúži na spájanie reťazcov v PHP nie spájanie HTML a PHP dokopy.

Samotný zápis je zbytočne obalený zátvorkami, ale ak to slúži na príkladové účely nie je to podstatné.
Fisir
Profil
Reaguji na Tomáše123:
Ak by to bolo zapísané <div>dasdadasdadas</div><div><?php($novinka['nadpis'])?></div>
Ani takto bohužel ne. Obsah proměnné $novinka['nadpis'] to nevypíše. Je třeba použít buď zkrácený zápis <?=, nebo funkci echo().
Tomáš123
Profil
Fisir:
Ani takto bohužel ne.
To mi je jasné. Mám ale za to, že to bol príklad a vyvracanie jeho správnosti nie je potrebné. Celé vlákno som nečítal. Nevedel som, že ide o výpis.
serverteam.sk
Profil
no už to chápu ale pořád přemýšlím nad tím jak předělat kód abych mohl přidat ID protože každá stránka bude mít svůj text a do kódu se musí přidat ID aby server poznal který řádek v tabulce má zobrazit.


respektive kolik a jaké mám dát sloupce do tabulky a jak ji mám pojmenovat aby to sedělo k tomuto kódu ?
<div class="nadpis"><?php htmlspecialchars($novinka['nadpis']);?></div>
Fisir
Profil
Reaguji na serverteam.ska:
aby server poznal který řádek v tabulce má zobrazit
V SQL je to klauzule WHERE.

Reaguji na serverteam.ska:
jaké mám dát sloupce do tabulky a jak ji mám pojmenovat
Pojmenovat novinky, sloupce nadpis, text, cas a uzivatel.
serverteam.sk
Profil
děkuji fisire asi to udělám podle [#25] a nebudu to už zhoršovat sice budu mít databázi plnou tabulek ale bude to tak lepší pro všechny


<?php
7$query = $db->query('SELECT * FROM novinky ORDER BY cas DESC');
while($novinka = $query->fetch_assoc())
?>

<?php htmlspecialchars($novinka['nadpis']);?>
<?php htmlspecialchars($novinka['text']);?>
<?php htmlspecialchars($novinka['cas']);?>
<?php htmlspecialchars($novinka['uzivatel']);?>
takto by to mělo fungovat


a ještě mini dotaz bude to fungovat když do databáze budu zapisovat data ve stylu
<p>Můžeš se teleportnout na hrače <b>/tp Hrac</b></p>
<p>Můžeš osobni správu <b>/msg Hrac Text</b></p>
<p>Dostaneš <b>2000Money</b></p>
?


Do souboru jsem to napsal takto a proto se ptám bude to fungovat ?

<?php
include "config.php";
mysql_connect($mysql_ip,$mysql_user,$mysql_pass);
mysql_select_db($mysql_name);
mysql_query('SELECT * FROM novinky WHERE id == 0');
?>  
Fisir
Profil
Reaguji na serverteam.ska:
takto by to mělo fungovat
Nemělo a ani nebude. Aby se obsah proměnné do stránky vypsal, je třeba si o to požádat, tedy použít funkci (respektive příkaz) echo. Nejsem si nyní jist (a nechci to zkoušet), co by udělal cyklus while, jelikož jsi ho nijak explicitně neohraničil a místo okamžitého zapsání dalšího příkazu jsi ukončil blok PHP kódu. Takže ho raději ohranič složenými závorkami:
<?php
$query = $db->query('SELECT * FROM novinky ORDER BY cas DESC');
while($novinka = $query->fetch_assoc()){
?>
<?php echo(htmlspecialchars($novinka['nadpis']));?>
<?php echo(htmlspecialchars($novinka['text']));?>
<?php echo(htmlspecialchars($novinka['cas']));?>
<?php echo(htmlspecialchars($novinka['uzivatel']));?>
<?php
}
?>

mini dotaz bude to fungovat když do databáze budu zapisovat data ve stylu
Jestli chceš, aby se ty HTML tagy v prohlížeči zpracovaly (jako že asi ano), musíš vyhodit funkci htmlspecialchars.

Do souboru jsem to napsal takto a proto se ptám bude to fungovat ?
Ne. Mícháš rozšíření mysql_* (které je zastaralé) a MySQLi.
Tomáš123
Profil
serverteam.sk:
Namiesto funkcie htmlspecialchars(), ktorá vyhodí všetky značky (čo častokrát nie je potrebné) môžeš použiť strip_tags(), kde vieš špecifikovať, ktoré značky premieňať nechceš.
serverteam.sk
Profil
Děkuji ale vyřešil jsem to jedním starým kódem který funguje
<?php
  function nadpis() {
    include "config.php";
    $db = mysql_connect($mysql_ip,$mysql_user,$mysql_pass) or die("Nelze se připojit k databázi.");
    mysql_select_db($mysql_name) or die("Nelze vybrat databázi.");
    $dotaz = "SELECT nadpis FROM novinky";
    $result = mysql_query($dotaz, $db) or die(mysql_error($db));
    while($radek = mysql_fetch_assoc($result)) {
       extract($radek);
       echo "
         <td>$nadpis</td>";
    }   
  }      
?>
<?php
  function text() {
    include "config.php";
    $db = mysql_connect($mysql_ip,$mysql_user,$mysql_pass) or die("Nelze se připojit k databázi.");
    mysql_select_db($mysql_name) or die("Nelze vybrat databázi.");
    $dotaz = "SELECT text FROM novinky";
    $result = mysql_query($dotaz, $db) or die(mysql_error($db));
    while($radek = mysql_fetch_assoc($result)) {
       extract($radek);
       echo "
         <td>$text</td>";
    }   
  }      
?>

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: