Diskuze: Text v PHP

PHP PHP Text v PHP American English version English version

Aktivity (1)
Avatar
pgarsky
Člen
Avatar
pgarsky:13.9.2016 21:38

Ahoj,
mám na svojí stránce udělané to, že když mi někdo napíše zprávu pomocí kontaktního formuláře, vloží se do databáze a z databáze se mi pak načte na stránku zpravy.php.
Zde je PHP kód pro výpis zpráv:

<h2 style="text-align: center; font-size: 30px;">Zprávy</h2>
      <table border="1" align="center">
          <thead>
          <th>Jméno a přijmení:</th>
          <th>Email:</th>
          <th>Zpráva:</th>
          </thead>
          <tbody>
          <?php
          $zpravy = Db::queryAll('
            SELECT id, jmeno, email, zprava
            FROM zpravy
            ORDER BY id DESC
          ');
          foreach ($zpravy as $zprava) {
              echo('<tr>');
              echo('<td>' . htmlspecialchars($zprava['jmeno']) . '</td>');
              echo('<td>' . htmlspecialchars($zprava['email']) . '</td>');
              echo('<td>' . htmlspecialchars($zprava['zprava']) . '</td>');
              echo('<td>' . '<a href="zpravy.php?odstranit=' . htmlspecialchars($zprava['id']) . '"><img src="kos.jpg" width="35" height="35"></a>' . '</td>');
              echo('</tr>');
          }
          ?>
          </tbody>
      </table>

A teď k tomu, co potřebuji za radu. Když někdo napíše dlouho zprávu, tak se zpráva píše vždycky do jednoho řádku, a tedy poté jde přes celou stránku a pořád zůstává v jednom řádku. A já bych potřeboval vědět, buď jak:

  1. Udělat, aby se zpráva zobrazovala v několika řádcích, nebo za
  2. Jak udělat, aby zpráva v nějaké části skončila, a nepřesahovala přes stránku, a poté bylo možnost u ní třeba kliknout na 'Zobrazit vše' a zpráva by se na té stránce zobrazila v řádcích.

Děkuji za rady.

Editováno 13.9.2016 21:39
Odpovědět 13.9.2016 21:38
Pokud ti něco jde těžko, znamená to, že jdeš tou správnou cestou...
Avatar
Odpovídá na pgarsky
Martin Konečný (pavelco1998):13.9.2016 21:50

zdar,
buď můžeš v CSS tomu elementu, ve kterém zobrazuješ zprávu, dát určitou šířku - pak se text automaticky zalomí.
Případně můžeš použít funkci substr() a ořezat text na určitý počet znaků (pak můžeš připsat třeba tři tečky apod.). Jen u toho by asi chtělo pořešit, aby to nechalo celá slova.

Nahoru Odpovědět 13.9.2016 21:50
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
pgarsky
Člen
Avatar
Odpovídá na Martin Konečný (pavelco1998)
pgarsky:14.9.2016 7:03

A jak se to v tom CSS zalamuje ?

Nahoru Odpovědět 14.9.2016 7:03
Pokud ti něco jde těžko, znamená to, že jdeš tou správnou cestou...
Avatar
Jiří Fencl
Člen
Avatar
Jiří Fencl:14.9.2016 8:46

Kdyz nekdo udela novy radek v kontaktnim formulari, tak do HTML se to neprojevi - musis pouzit v PHP nl2br funkci. Pak tabulce bych dal CSS

table-layout: fixed;
width: 100%

a pro td

word-break:break-all
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět  ±0 14.9.2016 8:46
Avatar
Odpovídá na Jiří Fencl
Martin Štěpánek (Enormyk):14.9.2016 10:50

Promiň překlikl, chtěl jsem dát palec nahoru

Nahoru Odpovědět 14.9.2016 10:50
Nesnáším, když někdo u if nepoužívá {}, byť se jedná o jeden řádek.
Avatar
pgarsky
Člen
Avatar
Odpovídá na Jiří Fencl
pgarsky:14.9.2016 14:22

Děkuju mooooooc. :)

Nahoru Odpovědět 14.9.2016 14:22
Pokud ti něco jde těžko, znamená to, že jdeš tou správnou cestou...
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.