PHP.EE FOORUM   
Nimi:   Pass:   Mäleta mind! 
   Teemad | php.ee esilehele | registreeri | Märgi kõik teemad loetuks | #php.ee Skype vestlus | RSS
UUS TEEMA  OTSI  Lehekülgi: 1
Delete MYSQL
Postitaja: Gerper 2009-02-25 19:05:40
<?php

mysql_connect("localhost", "kasutaja", "parool") or die(mysql_error());
mysql_select_db("databaasinimi") or die(mysql_error());

$result = mysql_query("SELECT * FROM naljad")
or die(mysql_error());



echo "<table border='0' align='center' height='auto' width='800' style='font: small-caps 800 12px arial;'>";
echo "<tr> <th bgcolor='#F0F1F1'>ID</th> <th bgcolor='#E4E4E4'>Nali</th> <th bgcolor='#EEEEEE'>Kustuta</th> </tr>";

while($row = mysql_fetch_array( $result )) {


echo "<tr style='text-align: cetner;'><td bgcolor='#F0F1F1'>";
echo $row['id'];
echo "</td><td bgcolor='#E4E4E4'>";
echo $row['nali'];
echo "</td><td bgcolor='#EEEEEE'>";

if(isset($_POST['delete'])) {
$query = mysql_query("DELETE FROM naljad WHERE id=" . $row['id'] . "")
or die(mysql_error());
if ($query == $row['id']){ echo 'KUSTUTATUD' ;}
}else{

echo "<form method='post' action=''>
<input type='submit' name='delete' value='Kustuta' />
" . $row['id'] . "
</form></td></tr>"; }

}

echo "</table>";

?>


Niisiis probleem selline, et kood peaks väljastama ka kustuta nupu õigesti, st. et vastavalt id-le kustutab selle id järgi nalja ära, aga praegu kustutab kõik naljad ära, ükskõik millist kustuta nuppu vajutada. Nupude arve genereerib õigesti, aga funktsioon ei ole õige.


Aidake !


Ette tänades,
Gerper
RE: Delete MYSQL
Postitaja: Gerper 2009-02-26 15:43:06
Aidake :)?
RE: Delete MYSQL
Postitaja: asdasd 2009-02-26 15:54:26
1. Ses suhtes sa ju ei anna oma vrmiga ID'd kaasa, et mis kustuta käseb
2. Kustutab kuna peale nupu vajatust on alati isset($_POST['kustuta']) TRUE ja ID's annab sama rea ID, niii nad kõik lähevad..
RE: Delete MYSQL
Postitaja: Deletar 2009-02-26 16:02:35
Sul on kustutamine pandud while tsükklisse, kuid mingit kontrolli ei ole millist "id" väärtust kustutada soovitakse. Ainuke kontroll on, et kas $_POST massiivis on "delete" muutuja olemas ning kui see on massiivis sees, siis täidetakse kustutamise laused iga "id" kohta.

Parandamiseks pead sa tingumuslausega kontrollima, kas just seda "id" on soovitud kustutada või itereerima üle näiteks delete massiivi idedega, mille sa oled oma formist postinud.

http://ee.php.net/manual/en/faq.html.php#faq.html.arrays alusta siit lugemist
RE: Delete MYSQL
Postitaja: Gerper 2009-02-26 17:03:29
TSITEERITUD:
1. Ses suhtes sa ju ei anna oma vrmiga ID'd kaasa, et mis kustuta käseb
2. Kustutab kuna peale nupu vajatust on alati isset($_POST['kustuta']) TRUE ja ID's annab sama rea ID, niii nad kõik lähevad..


Suured tänud ! Sain veast aru, lihtsalt post delete tuli muuta row idks ja formis tuli muuta inputi name väärtus ka row idks ning töötab.

SUURED, SUURED TÄNUD !

Leheküljed: 1

©2002-2013 Martin Rebane & PHP.ee kaasautorid
  0.0887060165405