Avatar billede kimdolleris Nybegynder
29. marts 2006 - 09:21 Der er 7 kommentarer og
1 løsning

DELETE FROM form der ikke vil virke

Hey PHP'ere! De sidste par dage har jeg gået lavet en database, en add-form og en side med et udtræk. Nu vil jeg gerne kunne slette rækkerne igen enkeltvis... Det er en liste (select) som der skal vælges fra og det er kun navnet der skal stå på listen. Men det kan i vel se nedenstående! DET VIRKER BARE IKKE! *hulk hulk* ..... help!
------------

$data = mysql_query("SELECT * FROM members ORDER BY name")
or die(mysql_error());
Print "<br><form action=";
echo $PHP_SELF;
Print " method=post>";
Print "<hr align='center' width='300' size='3' style='color:#4b240a;'><h1 class='admin'>Remove member</h1><br>";
Print "<select name='remove' class='admin' id='remove'>";
while($info = mysql_fetch_array( $data ))

Print "<option>".$info['name'] . "</option>";
}
Print "</select>";
Print "<p><input type='hidden' name='removemode' value='remove'><input name='remove_member' type='submit' id='remove_mem' value='Remove member'></form></p>";

/* remove */
if ( $removemode=="remove")
{
mysql_query ("DELETE FROM members WHERE name='$name'");
Print "<div class='del_txt'><strong>".$info['name'] . " successfully deleted</strong></div>";
}

---------------
Før dette er der selvfølgelig :

// Connects to your Database // INCLUDE HER
mysql_connect("*****","*****","*****") or die(mysql_error());
mysql_select_db("*****") or die(mysql_error());
Avatar billede casualty Nybegynder
29. marts 2006 - 09:28 #1
Har du testet ved at udskrive "$removemode" eller eventuelt lave en

var_dump($_POST);

For at se hvad du egentlig får med over af data?
Avatar billede kimdolleris Nybegynder
29. marts 2006 - 09:36 #2
hmm... hvor skal den lægges ind for at teste det?
Avatar billede casualty Nybegynder
29. marts 2006 - 09:38 #3
$data = mysql_query("SELECT * FROM members ORDER BY name")
or die(mysql_error());
Print "<br><form action=";
echo $PHP_SELF;
Print " method=post>";
Print "<hr align='center' width='300' size='3' style='color:#4b240a;'><h1 class='admin'>Remove member</h1><br>";
Print "<select name='remove' class='admin' id='remove'>";
while($info = mysql_fetch_array( $data ))

Print "<option>".$info['name'] . "</option>";
}
Print "</select>";
Print "<p><input type='hidden' name='removemode' value='remove'><input name='remove_member' type='submit' id='remove_mem' value='Remove member'></form></p>";

/* remove */
var_dump($_POST);
if ( $removemode=="remove")
{
mysql_query ("DELETE FROM members WHERE name='$name'");
Print "<div class='del_txt'><strong>".$info['name'] . " successfully deleted</strong></div>";
}
Avatar billede jackass- Nybegynder
29. marts 2006 - 09:39 #4
$data = mysql_query("SELECT * FROM members ORDER BY name") or die(mysql_error());
Print "<br><form action=" . $_SERVER['PHP_SELF'] . " method=post>";
Print "<hr align='center' width='300' size='3' style='color:#4b240a;'><h1 class='admin'>Remove member</h1><br>";
Print "<select name='names' class='admin' id='names'>";

while($info = mysql_fetch_array( $data )) { 
  Print "<option>".$info['name'] . "</option>";
}
Print "</select>";
Print "<p><input type='hidden' name='removemode' value='remove'><input name='remove_member' type='submit' id='remove_mem' value='Remove member'></form></p>";

/* remove */
if ($_POST['removemode'] == "remove") {
  $user = $_POST['names'];
  mysql_query ("DELETE FROM members WHERE name='$user'");
  Print "<div class='del_txt'><strong>".$info['name'] . " successfully deleted</strong></div>";
}
Avatar billede casualty Nybegynder
29. marts 2006 - 09:39 #5
"var_dump" laver et dump af alle variabler i et object. Ved at lave var_dump($_POST); kan du se alt hvad der bliver sendt med i dit post...
Avatar billede kimdolleris Nybegynder
29. marts 2006 - 09:48 #6
argh! Jeg ville gerne give jer begge point! Jackass - det virker! Tak.. lige en ekstra ting - Når siden genloades er select'en ikke opdateret for man selv refresher sitet. Kan man skrive noget ekstra i?

Du må gerne svare og få dine point..
Avatar billede jackass- Nybegynder
29. marts 2006 - 09:57 #7
Smid følgende ind lige under din "successfully deleted" linie, så bliver siden reloaded med opdateret <select> :)

echo "<script>self.location.href=\"siden.php\"</script>";
Avatar billede kimdolleris Nybegynder
29. marts 2006 - 10:04 #8
Tak!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester