Oisko kellään ideaa deleten käytöstä seuraavassa tilanteessa.
Elikkä mulla on sivu, jossa on taulukko, taulukon viimeiseen soluun jokaiselle riville tulee linkki, jonka pitäisi poistaa kyseinen rivi taulukosta.
<?php
function AvaaTietokanta ($osoite = "localhost",$tietokanta="xxxxxxxxx")
{
$yhteysnumero = mysql_connect($osoite,"xxxxxxxx","xxxxxxx");
mysql_select_db($tietokanta);
return $yhteysnumero;
}
$yhteys = AvaaTietokanta();
$kysely = "select * from Henk";
$query = "delete from Henk where snimi=$arvo;
$haku= mysql_query($kysely, $yhteys) or die ("Virhe kyselyssä!");
echo "<table border=1 bgcolor=#eeffff>";
echo "<tr bgcolor=\"#cccccc>\"
<td><b>Enimi</b></td>
<td><b>Snimi</b></td>
<td><b>Kunta</b></td>
<td><b>Palkka</b></td>
<td><b>saika</b></td>
<td><b>POISTA!</b></td>
</tr>";
while ($rivi = mysql_fetch_row($haku))
{ // MYSQL_ASSOC
$Enimi = $rivi[0];
$Snimi = $rivi[1];
$Kunta = $rivi[2];
$Palkka = $rivi[3];
$saika = $rivi[4];
//tulostetaan taulukon rivi
echo
"<tr><td>$Enimi</td><td>$Snimi</td><td>$Kunta</td><td>$Palkka</td><td>$saika</td><td><a href="'
'mysql_query($query, $yhteys)
>X</a>
</td></tr>";
}
echo "</table>";
?>Yllä on malli nykyisestä tilanteesta.
elikkä seuraava kysely pitäisi saada toimimaan siten, että $arvo saa arvon kyseisen taulukkorivin snimel:tä.
$query = "delete from Henk where snimi=$arvo;
Tee erillinen delete.php, joka hakee halutun snimen osoiteriviltä, elikkä queryksi tulisi "DELETE from Henk where snimi=".quote_smart($_GET['snimi']) (quote_smart-funktio löytyy PHP:n manuaalin kommenteista, php.netin haulla löytyy [tietoturvaa parantaa]).
Yleisesti:
-Funktionimet ja muuttujat pienellä, erittäin hyvä käytäntö
-'Select * from is evil'
-Tagien attribuutit tulisi kapsuloida heittomerkkeihin tyyliin border="1"
-mysql_query palauttaa resurssin joten sen tulostaminen suoraan kuulostaa erikoiselta idealta.
Aihe on jo aika vanha, joten et voi enää vastata siihen.