Autor Zpráva
lopuch
Profil *
Dobrý den,
chtěl bych poprosil o radu. Snažím se vytvořit jednoduchý redakční systém, který by dokázal editovat jednotlivé záznamy v databázi. Bohužel jsem narazil na menší problém. Když kliknu na položku editovat tak se mi zobrazí pouze bílá stránka, ale já bych potřeboval aby se tam zobrazil třeba nadpis konkrétního záznamu. Následní editace záznamů není problém, ale jen jak na tu stránku např: http://localhost/redakce/redakce.php?clanek=redakce&id=1 zobrazit požadovaný text. Děkuji za pomoc.

<?php
  session_start();
  include "connect2.php";
  
  //pokud máme globální proměnnou nastavenou na ano, jsme úspěšně přihlášeni 
  //a můžeme pracovat.
  if($_SESSION['rovnase']=='ano')
  {
    
    echo "<table>";
    echo "<tr><td>";
    echo "Jste úspěšně přihlášeni jako <b>".$_SESSION['jmeno']."</b>";
    echo "</td>";
    echo "<td>";
    echo "<form action='' method='post'>";
    echo "<input type='submit' name='odhlas' value='Odhlasit se'>"; 
    echo "</form>";
    echo "</td></tr></table>";
  }
  else
  {
    echo "Ne něco je špatně";
    header("location: admin.php");
  }
  
  //provedeme odhlaseni uživatele
  if(empty($_POST['odhlas']))
   {
     $_POST['odhlas']=NULL;
   }
  else
   {
     $_SESSION['rovnase']='ne';
     header("location: admin.php");
   } 
?>
<!-- MENU-->
<a href="uvodni_stranka.php">Úvodní stránka</a> |
<a href="#">Informace pro rodiče</a> |
<a href="#">Kalendář akcí</a> |
<a href="#">Jídelníček</a> |

<!-- OBSAH STRÁNKY -->
<H1>Úvodní stránka</H1>

<?php

  //do promenne sql ulozime obsah tabulky uvodni
  $sql = mysql_query("SELECT * FROM uvodni")or die(mysql_error());
  
  if(!isset($clanek)) 
  { 
  
  //while cyklem projdeme obsah promenne sql a zobrazime jeji obsah    
    while($row = mysql_fetch_array($sql))
      { 
    
        $id=$row["id_uvodni"];
      
        echo "<a href=\"redakce.php?clanek=redakce&id=$id\">Editace</a>";
        echo " | ";
        echo "<a href=\"redakce.php?clanek=redakce&id=$id\">Smazat</a>";
        echo "<br />";    
        echo $row['nadpis']."<br />";
        echo $row['datum']."<br />";
        echo "<b>".$row['vytvoril']."</b><br />";
        echo $row["obsah"];       
      
        echo "<br /><br />";                    
    }
  }

  if($_GET["clanek"]=="redakce")
    {
      echo "toho je první záznam";
    }

?>
Beavis
Profil
lopuch:
Myslíte stránkování?
lopuch
Profil *
Nevím jestli je to ono, ale prostě když kliknu na položku editovat tak aby se mi zobrazil text co je v databázi, který odpovídá tlačítku na které jsem právě kliknul.
Beavis
Profil
lopuch:
Aha.
Soubor edit.php:
...
$id =$ _GET["id"];
...

SELECT * FROM tabulka WHERE id = '$id'


Nejsem doma, takže se omlouvám za chybějící apostrofy (resp. ty SQL apostrofy) - (mám tu FR klávesnici)
Předpokládám že se zbytkem už si poradíte : ))
lopuch
Profil *
Asi už jste mě trošku nakopnul, jen trošku zádrhel, jak do proměnné uložím hodnotu konktétního záznamu ( id ) když kliknu na položku editovat. Potom bych to řešil asi takto: jak budu vědět id uložím ho do globální proměnné, vytvořím soubor edit.php a při selectu zadam do where id = $_sesssion['id']. Mohlo by to tak být?
lopuch
Profil *
Ještě možná pro upřesnění problému:

Mám dejme tomu dva záznamy v databázi: id, nadpis, autor, datum a obsah. u každého takto zobrazeného záznamu mám položku editovat a smazat. Pokud kliknu na položku editovat, otevře se mi stránka kde se mi obsah vypíše do textboxů a já ho budu moci editovat - vypsání do textboxů a editace zvládnu, jen to zobrazená mi dělá trošku problem:-/.

jak vypadá výpis na stránce:

Editace | Smazat
Prvni clanek
2010-03-01
ondra
dffdsdsdfdfdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd

Editace | Smazat
Druhý článek
2010-03-02
ondra
rrrrrrrrrrrrrrrrrrrrrrrrrrrrreeeeeeeeeeeeeeeeeeeessssssssssssssssssssssss

Beavis
Profil
lopuch:
Tak ve výpisu dát :
.. 
$id = $row['id'];
echo " <a href=\"edit.php?id=". $id ."\">Editovat</a>";
..

Ne session['id'] ale $_GET['id'] - pokud dáte edit.php?id=2 vytáhne se Vám článek s id 2.
Poté načtete data do pole, <textarea name="text"><?php echo $row['text'] ?> </textarea>.

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: