Avatar billede yakuza22 Nybegynder
22. august 2003 - 09:16 Der er 11 kommentarer og
1 løsning

DELETE from database udfra valg i en OPTION boks. how??

Hey alle.
Jeg har en option name=\"delete_id\">".$array3['mail']."</option> "; } i mit script.

Jeg vil gerne have at når jeg trykker på en submit knap, skal den slette nogle forekomster i min database udfra det valg jeg har taget i option boxen. Altså hvis jeg har valgt 'Jacob' i min option box, er det den der skal slettet i min mysql når jeg trykker på knappen. håber i kan hjælpe..

her er lidt script og hvor jeg gik i stå:

<?php
include 'opret_connection.php';
$array_navn = array();
$result = mysql_query("SELECT * FROM selskab ORDER BY company ASC")   
 
while ($array = mysql_fetch_array($result)){ echo "<option>".$array['company']."</option>";
$array_navn[] = $array;
}
?>

<input type=\"submit\" name=\"slet_selskab\" value=\"Slet\"></td>

<?

if(isset($_POST['slet_selskab'])){
  include "opret_connection.php";
  $query  = "DELETE FROM 'selskab' where 'company' = $??????? LIMIT1";
  $result =  mysql_query($query,$connection);
}

?>
Avatar billede michaelthomassen Nybegynder
22. august 2003 - 10:04 #1
Jeg går ud fra at du har en <select name="CompanyID"> før dine options, og en </select> efter. Dine options ændrer du så til :

echo "<option value = \"$array['companyID']\">".$array['companyid']."</option>";

I din submit kode skal du så have:
"DELETE FROM 'selskab' WHERE 'companyid' = " . $_REQUEST["CompanyID"]"

Jeg går ud fra at det er en kode det holder styr på nogle firmaer. Det er betydeligt mere sikkert at slette på companyid (jeg går ud fra at du har en sådan i din database), da der jo godt kan være to firmaer med samme navn.
Avatar billede michaelthomassen Nybegynder
22. august 2003 - 10:05 #2
Hov der var en " for meget i DELETE sætningen
Avatar billede localhost Nybegynder
22. august 2003 - 10:06 #3
Et par kommentarer, som måske er helt i skoven:
-Mangler du ikke ";" efter linje 4?
-Den dropdownboks du danner skal have et navn, du så kan refererer til den sidste del af din kode: DELETE FROM 'selskab' where 'company' = '$selskab'
  Eller sådan noget lignende...
Avatar billede localhost Nybegynder
22. august 2003 - 10:07 #4
Nå, der var en der var hurtigere ;-)
Avatar billede yakuza22 Nybegynder
23. august 2003 - 14:13 #5
jeg prøver således, får ingen fejl. men det virker stadig ikke;

<select name=\"CompanyID\"> ";
                     
while ($array3 = mysql_fetch_array($result3)){
echo    "<option value = ".$array3['CompanyID'].">".$array3['company']."</option> ";
}   
echo        "</select>


if(isset($_POST['slet_selskab'])){
$query_2    = "DELETE FROM 'selskab' WHERE 'company' = ".$array3["CompanyID"];
$result =  mysql_query($query_2,$connect);

}


Hvad gør jeg forkert?..
der bliver ikke slettet noget i min database..
Avatar billede schaefner Juniormester
23. august 2003 - 14:15 #6
Prøv at kommee med lidt mere af din kode
Avatar billede michaelthomassen Nybegynder
23. august 2003 - 14:20 #7
I din DELETE kode (som ligger på en anden side) hedder CompanyID ikke $array3["CompanyID"], den hedder bare $_REQUEST["CompanyID"]
Avatar billede michaelthomassen Nybegynder
23. august 2003 - 14:21 #8
Og så skal din query hedde:
$query_2 = "DELETE FROM 'selskab' WHERE 'companyid' = ".$_REQUEST["CompanyID"];

Jeg går ud fra at du har et felt i din database der hedder CompanyID
Avatar billede yakuza22 Nybegynder
24. august 2003 - 11:19 #9
når jeg lavet en
                echo "<pre>";
                print_r ($_REQUEST);
                echo "</pre>";
når der bliver trykket på knappen... så får jeg følgende output:


Array
(
    [CompanyID] =>
    [slet_selskab] => Slet
    [Maillingliste] => -
    [PHPSESSID] => d5ea393f81bb912b0220d6e7b4fa4bed
)
den er tom!..

min tabel hedder selskab og har et felt der hedder 'company' i min database.

har prøvet disse tre kombinationer uden held:

$query_2    = "DELETE FROM 'selskab' WHERE 'company' = ".$array3["CompanyID"];
$query_2  = "DELETE FROM 'selskab' WHERE 'company' = ".$_REQUEST["CompanyID"];
$query_2  = "DELETE FROM 'selskab' WHERE 'company' = ".$_REQUEST["company"];
Avatar billede yakuza22 Nybegynder
24. august 2003 - 11:21 #10
sådan ser min <select> ud:



<table align=\"left\">
    <tr> <td>
   
        Slet Selskab:</td><td>
       
        <select name=\"CompanyID\"> ";
            include 'opret_connection.php';
            $result3 = mysql_query("SELECT * FROM selskab ORDER BY company ASC") or die ("mysqlfejl");
         
              while ($array3 = mysql_fetch_array($result3)){
                        echo    "<option value = ".$array3['CompanyID'].">".$array3['company']."</option> ";
            }
            echo        "</select>
       
    </td></td>
    <td> <input type=\"submit\" name=\"slet_selskab\" value=\"Slet\"></td>
    </tr>
Avatar billede michaelthomassen Nybegynder
24. august 2003 - 11:29 #11
Ok, som jeg tidligere skrev, gik jeg ud fra at du havde en COmpanyID i din database, det har du åbenbart ikke. Her kommer hele koden:

include 'opret_connection.php';
$result3 = mysql_query("SELECT * FROM selskab ORDER BY company ASC") or die ("mysqlfejl");

echo"<table align=\"left\">
  <tr>
    <td>Slet Selskab:</td>
    <td><select name=\"CompanyID\"> ";
         
while ($array3 = mysql_fetch_array($result3)){
  echo    "<option value = ".$array3['Company'].">".$array3['Company']."</option> ";
}
echo "</select>
</td>
<td> <input type=\"submit\" name=\"slet_selskab\" value=\"Slet\"></td>
</tr>
</table>";




På din post side:

if(isset($_POST['slet_selskab'])){
  $query_2    = "DELETE FROM selskab WHERE company = " . $_REQUEST["Company"];
  $result =  mysql_query($query_2,$connect);
}

Det kan godt være at du skal rette Company til, således at casen passer med casen i din database (Company / company).
Avatar billede yakuza22 Nybegynder
25. august 2003 - 09:23 #12
fejlen var der manglede noget i min sql sætning.. jeg fik det løst med dette:

$query_2 = "DELETE FROM selskab WHERE company = '".$_REQUEST["CompanyID"]."'";

altså ville den ikke slette noget i min database med mindre der var ' ' om.

men tak for jeres hjælp.
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