Autor Zpráva
Darja
Profil
Zdravím,

mám problém - potřebuju upravit řádek v tabulce


$Poradi = je nějak zadaná
místo teček ve value si představte ty hodnoty, které jsou v řádku tabulky uloženy

Takhle vypadá formulář:

<table>
<form method="post">
          <tr><td>Název:</td><td><input name="Nazev" value="......."></td></tr>     
          <tr><td>Popisný text:</td><td><input name="Popis" value="......."></td></tr>
          <tr><td>Datum a čas:</td><td><input name="Datum" value="........"></td></tr>
          <tr><td>Lektor:</td><td><input name="Lektor" value="........"></td></tr>
          <tr><td>Cena:</td><td><input name="Cena" value="........."></td></tr>
          <tr><td></td><td><input type=submit value="Uložit"></td></tr>
</form>
</table>


Do formuláře vyplním co potřebuju, zmáčknu Uložit... a nic se nezmění.

Takhle vypadá php kód:

<?  if ($Poradi){      
    $host="localhost"; $uziv="root"; $heslo="";
    if(!mysql_connect($host,$uziv,$heslo)){
      echo "Nelze vytvořit spojení s databází!!!";
      }
    $link=mysql_connect($host,$uziv,$heslo);
    $db=mysql_select_db("jmeno_databaze",$link) or die ("Nepovedlo se otevřít databázi");
    $query = "UPDATE seminar SET Nazev='$Nazev', Popis='$Popis', Datum='$Datum', Lektor='$Lektor', Cena='$Cena' WHERE Poradi=$Poradi";
    $result = mysql_query($query, $link) or die(mysql_error());
    echo $row["Poradi"].". ".$row["Nazev"]."<br />";
    mysql_close();   }   
?>


Při vložení do formuláře
Keeehi
Profil
Používej $_POST["proměnná"] míso $proměnná. Spoléháš se na register globals on.
__construct
Profil
Predpokladám že by to malo byť takto:
<?  if ($_POST['Poradi']){
…
$query = "UPDATE seminar SET Nazev='{$_POST['Nazev']}', Popis='{$_POST['Popis']}', Datum='{$_POST['Datum']}', Lektor='{$_POST['Lektor']}', Cena='{$_POST['Cena']}' WHERE Poradi={$_POST['Poradi']}";
Darja
Profil
Díky,
nakonec jsem zjistila, že v tomhle nebyl problém. "Ztratila" se mi totiž hodnota proměnné $Poradi, proto to nefungovalo :-) Už si detaily nějak doladím sama...

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:

0