Autor Zpráva
krystofx
Profil
Zdravim.
Prosim mohl by nekdo upravit tento jednoduchy script http://pecan.cz/index.php?id=43&n=zobrazeni-clanku-z-databaze
abych to mohl nacist na zacatku stranky a pak si libovolne v title, css, obsahu atd libovolne echem vypisovat potrebne sloupce podle nazvu, jakoze nechci to rvat vsecko do php, ale uzavrit a kde potrebuju tam jednoduse vypsat
(zaroven ale zachovat ten hit - pocitadlo)
Mnohe dik


...
...
...
<div id="obsah">
<?php
/*
* Tento kousek vždy includuje do "stredu" stránky volaný článek z databáze přes URL
* Příklad volání: index.php?read=1
* do středu se načte článek s id 1
*/
  if(isset($_GET['read'])){
  $id=(int)$_GET['read'];     // Do proměnné $id si dáme číslo volaného článku. Tuto proměnnou raději z bezpečnostních důvodů přetypujeme na INTEGER
  require_once "db_conn.php";     // Spojení na databázi
  $Vyber=mysql_query("SELECT `nazev`,`popis`,`clanek`,`hit` FROM `clanky` WHERE `id`='$id' LIMIT 1");
    $Vypis=mysql_fetch_array($Vyber); // Naplníme pole
      if($Vypis['nazev']){  // Dostali jsme nějaký výsledek, vypíšeme článek
        echo "
          <h2>".$Vypis['nazev']."</h2>
          <p>".$Vypis['popis']."</p>
          <p>".$Vypis['clanek']."</p>
          <p>Přečteno: ".$Vypis['hit']."x </p>
          ";
        // Protože jsme "otevřeli" tento článek, přičteme mu hit.
        mysql_query("UPDATE `clanky` SET `hit`=`hit`+1 WHERE `id`='$id' LIMIT 1");
      }else{
        echo "Článek s takovým ID se v databázi nenachází.";
      }
 }
 ?>
</div>
...
...
...
peta
Profil
Pred radek 11 pridas
$clanek = '';
Radek 17 zmenis na
$clanek .= "
Radek 26 zmenis na
$clanek .= "Článek s takovým ID se v databázi nenachází.";
Na konec (radek 33) das
<?echo $clanek; ?>
Vypise to promennou clanky;
krystofx
Profil
Dikes.
Takze pro ostatni hodnoty taky pred tim radkem 11 nadefinuju $nazev = ''; $popis = '';
Ale jak s radem 17, musim to echo vickrat uzavrit a pro kazdy zopakovat nebo tam narvat vsechny
echo "
          $nazev .= ".$Vypis['nazev'].";
          $clanek .= ".$Vypis['nazev'].";
          $popis .= ".$Vypis['popis'].";
          atd;
?
peta
Profil
krystofx:
???
Zmenil jsi to, jak jsem napsal? Cislovani radku beru z tveho kodu. Kdyz doplnis nahore 1 radek, tak se to posune, ale tady v diskuzi zustanou cisla radku podle kodu ve tvem prispevku.

Jestli to hodlas vypisovat kazde zvlast ($nazev, $clanek, $popis) a ne spolecne jako $clanek, tak tam echo nepotrebujes. Echa se chces preci zbavit, ne? Navic to nepotrebujes tahkle duplikovat do promennych, muze pouzit primo

<?echo $Vypis['nazev']; ?>
<?echo $Vypis['nazev']; ?>
<?echo $Vypis['popis']; ?>

.= tam vlastne nepotrebujes, myslel jsem, ze clanku budes mit vic. Ted koukam, ze mas v sql LIMIT 1, taze ti staci = .
$clanek = '' - je tam nutne proto, ze vyber z databaze muze selhat a echo neexistujici promenne vypise error.

echo "
          $nazev .= ".$Vypis['nazev'].";
          $clanek .= ".$Vypis['nazev']."; //nazev nebo clanek?
          $popis .= ".$Vypis['popis'].";
          atd;
Vsechno to zvyraznene tam nema, co delat.
To, co pojmenovavas Vypis je ve skutecnosti radek z tabulky.

Co kdybys zkouknul par prikladu na php.net? Do vyhledavaciho policka na php.net si dej echo (nazev funkce) a podivej se, jak to tam ti lidi vselijak pisi.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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