Autor Zpráva
slechtic
Profil *
Ahoj potřebuju poradit.Mám datábázi s články,které vypíšu

<?php
$vypis=mysql_query("select * from clanky order by id desc");
echo "V databázi je ".mysql_num_rows($vypis)." článků.<br/>\n";

while ($zaznam=mysql_fetch_array($vypis))
echo $zaznam[id]."| ",$zaznam[datum]."
<i><strong>".$zaznam[nadpis]."</strong></i><br/>".$zaznam[clanek]."<br /><br/>";
?>

a chci aby ukaždého článku bylo tlačítko smazat

<form action="smazat.php" method="post">
<input type="submit" name="<? zaznam["id"]?>" value="smazat">
</form>

ale nevím jak to vložit do toho cyklu a jestli je ta proměnná v name správně.Díky
ninja
Profil
Mas to dobre. Staci ten input pridat do echa v cyklu:

<?php
$vypis=mysql_query("select * from clanky order by id desc");
echo "V databázi je ".mysql_num_rows($vypis)." článků.<br/>\n";

echo ('<form action="smazat.php" method="post">');

while ($zaznam=mysql_fetch_array($vypis))
echo $zaznam[id]."| ",$zaznam[datum]."
<i><strong>".$zaznam[nadpis]."</strong></i><br/>".$zaznam[clanek]."<br /><br/>" . '<input type="submit" name="' . $zaznam["id"] . '" value="smazat">';

echo ('</form>');
?>
slechtic
Profil *
aha díky.zase jsem o něco chytřejší
slechtic
Profil *
tak jsem si myslel že už to mám, ale opak je pravdou.Když zadám do formuláře name="'.$zaznam[id].'"

tak nevím jak to mám zadat id v souboru smazat.php.Myslel jsem že takhle, ale to nefunguje.

<?php
//připojení k databázi
include "conn.php";

if ($smazat) {
$sql="delete from clanky where id=".$zaznam[id]."";
if (mysql_query($sql))
echo "Članek byl smazán";
else
echo "Článek se nepodařilo smazat";

}
?>
Aesir
Profil
slechtic:

Takhle to fungovat nebude. Předáváte id článku přes atribut name, který ale ve skriptu smazat.php nemůžete znát. Raději tlačítko smazat udělejte pomocí nastylovaného odkazu na smazat.php, kterým pomocí _GET předáte id článku.
Tzn. ve výpisu článku:
 

echo "<a href='smazat.php?id=$zaznam[id]'>Smazat</a>";

A následně v smazat.php:

$sql="delete from clanky where id=".$_GET['id'];
slechtic
Profil *
odkaz na smazat.php podle id funguje za to díky ,ale samotnej smazat.php nejede.
PLS kde je chyba.Nevypíše to žádnou chybu,ale okno je prázdný.

<?php
//připojení k databázi
include "conn.php";
//smazání příspěvku podle id
if ($smazat) {
$sql="delete from clanky where id=".$_GET['id'];
if (mysql_query($sql))
echo "Članek byl smazán";
else
echo "Článek se nepodařilo smazat";
}
?>
Aesir
Profil
slechtic:
Protože podmínka
if ($smazat) { 

nebude splněna. Místo toho testujte, zda se o smazání článku pokouší korektní uživatel.
slechtic
Profil *
Protože podmínka

if ($smazat) {


nebude splněna. Místo toho testujte, zda se o smazání článku pokouší korektní uživatel.


tak to je na mě ještě težký :((((((((((((((
slechtic
Profil *
Ahoj,tak jsem to zkoušel vyřešit,ale bez úspěchu.


<?php

include "conn.php"; //připojím se k databázi

$sql="SELECT username FROM user"; //vyberu uživatele

if ($sql==$_SERVER['PHP_AUTH_USER']) // a porovnám je

?>


potom bych chtěl v té podmímce mít DELETE FROM clanky WHERE id=$_GET['id']

ale už porovnání uživatele nejede
Toto téma je uzamčeno. Odpověď nelze zaslat.