Avatar billede fritter Nybegynder
13. november 2002 - 19:54 Der er 6 kommentarer og
1 løsning

Slette fra en database med PHP

Hejsa.

Er der nogen som kan hjælpe mig. Jeg har lavet et PHP/HTML program som connecter til en database, og ved hjælp af en søge funktion, kan jeg trække data ud fra databasen. Så langt så godt. Desuden har jeg fået lavet en knap, som viser tilbage til søge siden, efter at man har modtaget data.
Mit problem er nu, at jeg gerne vil lave en knap som sletter det indhold i databasen som jeg lige har hentet ind. Hvordan gør jeg det? Jeg vedlægger min kode, så I kan se den!
<html>
<body>
<?
if($soeg){

    $db = mysql_connect("127.0.0.1", "root");
    mysql_select_db("Account",$db);

    $foresp = mysql_query("SELECT * FROM hotel WHERE vaerelse LIKE '%$soeg%'");
   
    echo mysql_num_rows($foresp)." Resultat(er) fundet<BR><BR>";
    while($data=mysql_fetch_array($foresp)){

    echo"Værelse    : $data[0]<BR>";
    echo"Dato og Tid : $data[1]<BR>";
    echo"Pris i kr.  : $data[2]<BR>";
    echo"Ydelse      : $data[3]<BR><BR><BR>";
    }
    echo"<INPUT TYPE=SUBMIT VALUE=Slet>\t";
    echo"<INPUT TYPE=SUBMIT VALUE=Udskriv>\t";
    echo"<FORM METHOD=POST ACTION=$PHP_SELF>";
    echo"<INPUT TYPE=SUBMIT VALUE=Tilbage>";   
}else{
?>
    <FORM METHOD=POST ACTION=<?echo $PHP_SELF;?>>
    Indtast Værelses Nummer
    <INPUT TYPE=TEXT NAME=soeg>
    <INPUT TYPE=SUBMIT VALUE=Søg>
    <INPUT TYPE=Reset VALUE=Nulstil>
    </FORM>
<?
}
?>       
</body>
</html>
Avatar billede abpdk Nybegynder
13. november 2002 - 21:02 #1
Hvis jeg har forstået dig korrekt, vil du have den til at slette den samme forespørgsel som den du lige har søgt på? I så fald, her er så mit bud.

For lige at forklare har jeg bare byttet lidt om på nogle af navnene, dvs. at "soeg" nu er søgeknappen og "query" er forespørgslen. Den spørger så på knapperne og henholdsvis søger og sletter. Søgning bliver videregivet til sletningen via "<INPUT TYPE=HIDDEN VALUE=$query>". Håber det virker! :)

<html>
  <body>

<?
  if($soeg){

    $db = mysql_connect("127.0.0.1", "root");
    mysql_select_db("Account",$db);

    $foresp = mysql_query("SELECT * FROM hotel WHERE vaerelse LIKE '%$query%'");
 
    echo mysql_num_rows($foresp)." Resultat(er) fundet<BR><BR>";

    while($data=mysql_fetch_array($foresp)){
      echo "Værelse    : $data[0]<BR>";
      echo "Dato og Tid : $data[1]<BR>";
      echo "Pris i kr.  : $data[2]<BR>";
      echo "Ydelse      : $data[3]<BR><BR><BR>";
    }

    echo "<FORM METHOD=POST ACTION=$PHP_SELF>";
    echo "<INPUT TYPE=HIDDEN VALUE=$query>";
    echo "<INPUT TYPE=SUBMIT VALUE=Slet>\t";
    echo "<INPUT TYPE=SUBMIT VALUE=Udskriv>\t";
    echo "<INPUT TYPE=SUBMIT VALUE=Tilbage>";
    echo "</FORM>"; 

  } elseif ($slet) {

    $db = mysql_connect("127.0.0.1", "root");
    mysql_select_db("Account",$db);

    mysql_query("DELETE FROM hotel WHERE vaerelse LIKE '%$query%'");

  }else{
?>
    <FORM METHOD=POST ACTION=<?echo $PHP_SELF;?>>
      Indtast Værelses Nummer
      <INPUT TYPE=TEXT  NAME="query">
      <INPUT TYPE=SUBMIT NAME="soeg" VALUE=Søg>
      <INPUT TYPE=Reset  VALUE=Nulstil>
    </FORM>
<?
  }
?>     
  </body>
</html>

// abpdk
Avatar billede abpdk Nybegynder
13. november 2002 - 21:05 #2
Jeg kan se at jeg der lige mangler en "NAME=slet" i <INPUT TYPE=SUBMIT VALUE=Slet>
Avatar billede fritter Nybegynder
13. november 2002 - 21:12 #3
Desværre virkede det ikke. Nu fungerer de 3 knapper bare som back buttons!
Avatar billede abpdk Nybegynder
14. november 2002 - 00:17 #4
Jeg garanterer selvfølgelig heller ikke for at den kode jeg gav dig virker perfekt hos dig. Jeg har bare forsøgt at implementerer min løsning i den kode du postede. For at få det til at virke må du nok selv pille lidt ved det, men du forstår ved princippet i det jeg postedede? Selve idéen i det virker i hvert fald her!

PS: Du ville vide hvordan du slettede, derfor har jeg selvfølgelig ikke bekymret mig om de andre knapper.
Avatar billede abpdk Nybegynder
14. november 2002 - 00:29 #5
Den lille test jeg selv prøvede så således ud. Så kan du jo selv tilpasse det.

<html>
  <body>
<?php
  if ($soeg) {
    echo "Du søgte efter: <b>$query</b><p>";
    echo "<FORM METHOD=POST ACTION=$PHP_SELF>";
    echo "  <INPUT TYPE=HIDDEN NAME=query VALUE=\"$query\">";
    echo "  <INPUT TYPE=SUBMIT NAME=slet VALUE=SLET>";
    echo "</FORM>";
  } elseif ($slet) {
    echo "Du slettede: <b>$query</b><p>";
  } else {
    echo "<FORM METHOD=POST ACTION=$PHP_SELF>";
    echo "  Søgestreng: ";
    echo "  <INPUT TYPE=TEXT NAME=query><p>";
    echo "  <INPUT TYPE=SUBMIT NAME=soeg VALUE=SØG>";
    echo "</FORM>";
  }
?>
  </body>
</html>
Avatar billede fritter Nybegynder
15. november 2002 - 11:58 #6
Jeps. Nu virker det. Mange tak
Avatar billede abpdk Nybegynder
15. november 2002 - 12:55 #7
Selv 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