Autor Zpráva
BBB
Profil *
Mám asi triviální dotaz.

Vyselektuju si data z tabulky ($vysledek), u každé položky mám UPRAVIT a SMAZAT. Jak udělat, aby po kliknutí na jeden z těhto odkazů byla převzata hodnota příslušného ID a já mohl vesele UPRAVOVAT nebo MAZAT.
Díky

while ($zaznam = MySQL_Fetch_Array($vysledek)):
echo "<tr><td>".$zaznam["ID"]."</td>";
echo "<td><a href='edit.php?id='.mysql_Result($zaznam, 0, 'ID')'>Uprav</a></td>";
echo "<td><a href='delete.php?id='.mysql_Result($zaznam, 0, 'ID')'>Smaž</a></td></tr>";
endwhile;

Díky za radu nebo za navedení na správnou cestu.
Alphard
Profil
bude v $_GET['id'], nebo kde je problém?
BBB
Profil *
Když kliknu na UPRAV tak potřebuji, aby se otevřel soubor edit.php pro příslušné ID. Nevím jak na to. Toto je možná úplně blbý postup. Všechno jsem vyčetl během dneška v manuálu MySQL, taže se dá říct, že tomu vůbec nerozumím :) Možná je špatně syntaxe. Nemůžu to nikde na netu najít.
Alphard
Profil
no tak klikneš a dostaneš se na stránku edit.php, na které budeš mít v proměnné $_GET['id'] id vybraného záznamu, pak už jenom v závislosti na konkrétní situaci dáš podmínku where id = $_GET['id'] a vybere se ti z databáze příslušný záznam, který dále zpracuješ
BBB
Profil *
Tak nějak si to představuju. Jenže po kliknutí se do proměnné nic neuloží, tady nebudu mít ID vybraného záznamu. něco je špatně, ale já nevím co.
Alphard
Profil
tak se podívej do výsledného html zdrojáku, jestli jsou správny ID v adresách
ten výpis s mysql_result ti nezkontroluju, protože ho nepoužívám, ale myslím, že by to šlo jednodušejc, prostě echo "<td><a href='edit.php?id=".$zaznam["ID"]."'>Uprav</a></td>";
jeden apostrof byl navíc, opraveno :-)
BaTeCzKo
Profil
Tohle nefunguje?


while($zaznam=mysql_fetch_array($vysledek)){
echo "
<tr>
<td>".$zaznam['id']."</td>
<td><a href='edit.php?id=".$zaznam['id']."'>Uprav</a></td>
<td><a href='delete.php?id=".$zaznam['id']."'>Smaž</a></td>
</tr>
";
}


a jinak treba v edit.php muze byt neco takoveho:


<?php

//nacteni id
$id=intval($_GET['id']);

//ulozeni
if(isset($_POST['nejakysloupec'])){
$nejakysloupec=$_POST['nejakysloupec'];
mysql_query("UPDATE `tabulka` SET nejakysloupec='$nejakysloupec'");
}

//nacteni obsahu
$data=mysql_query("SELECT * FROM `tabulka` WHERE id=$id");

?>


<form action="edit.php" method="post">

<textarea name="nejakysloupec">
<?php echo $data['nejakysloupec']; ?>
</textarea><br />

<input type="submit" value="Ulož" />

</form>
BBB
Profil *
právě že ID se do adresy nepřenese, ani v tvém příkladu. Pokud by jsi věděl nějakou adresu kde bych se o tom něco dočetl, tak by to stačilo. Diky
BBB
Profil *
BaTeCzKo
Nefunguje to přenesení příslušného ID do adresy
Alphard
Profil
echo "<tr><td>".$zaznam["ID"]."</td>";
zde se ID zobrazí správně?
BBB
Profil *
Alphard

Jo. Jasně.
BBB
Profil *
Hurá. Už jsem na to přišel. Špatná syntaxe jak jsem si myslel. Díky všem.

echo "<td><a href='edit.php?id=".$zaznam["ID"]."'>Uprav</a></td>";

******* uvozovky :)
BaTeCzKo
Profil
to by na to nemelo mit vliv, snad jen velikost id misto ID
Toto téma je uzamčeno. Odpověď nelze zaslat.