Avatar billede funny Nybegynder
31. januar 2005 - 22:13 Der er 41 kommentarer og
1 løsning

Slet et id i sqlen.

Jeg har lavet en side der køre på id fra min sql det jeg ønsker er på min admin side at jeg kan slette de ider jeg ikke vil have mere er der en der kan sige hvordan jeg kan lave en kode til det.
Avatar billede pallotto Nybegynder
31. januar 2005 - 22:17 #1
Du kan lave det sådan:
if (isset($_GET['slet'])) {
mysql_query("DELETE FROM `$_GET[tabel]` WHERE `id`='$_GET[sletid]'");
}
og hvis du så skriver i din adressebar fx. index.php?slet=true&tabel=tabwall&sletid=7
du retter tagwall til hvad for en tabel det ska være i, og 7 til vilket id du vil have slettet.
Avatar billede michael_stim Ekspert
31. januar 2005 - 22:18 #2
Ved ikke om jeg forstår hvad du vil. Er det SQL eller det hele?

DELETE FROM table WHERE id=1 || id=2 osv
Avatar billede pallotto Nybegynder
31. januar 2005 - 22:21 #3
ja.. det smarte ved det jeg sendte dig.. var at du bare kunne lave et link fra din side.. og i databasen blev inlæget slettet, eller hvad det nu er der ska slettes
Avatar billede funny Nybegynder
31. januar 2005 - 22:24 #4
jeg har nogen fotoer med noget tekst som ligger under id i sqlen det jeg ønsker er at på min admin side er at jeg i et felt kan skrive det id jeg vil slette
Avatar billede funny Nybegynder
31. januar 2005 - 22:25 #5
p.s Jeg ved hvad ider der skal slettes da det står på siden.
Avatar billede michael_stim Ekspert
31. januar 2005 - 22:25 #6
Ja, eller bruge PHPmyAdmin, hvis det er en engangsforteelse. Er det noget der skal väre der permanent, er din ikke så sikker pallotto.
Avatar billede funny Nybegynder
31. januar 2005 - 22:26 #7
det skal gøres for fler bruger od de må ikke komme på min phpmyadmin
Avatar billede michael_stim Ekspert
31. januar 2005 - 22:27 #8
Det bedste ville väre at man henter de id'er der ligger i tabellen, ind i en dropdownbox, og så bare lave en slet-knap.
Avatar billede funny Nybegynder
31. januar 2005 - 22:28 #9
<div align="center">
  <form name="form1" method="post" action="">
    <p>
      <input type="text" name="textfield">
      <br>
      <input type="submit" name="Submit" value="Slet id">
    </p>
  </form>
</div>
Avatar billede michael_stim Ekspert
31. januar 2005 - 22:29 #10
OK funny, du må nok foklare lidt bedre. Vi skal have din databasestruktur, eller et link så man kan sätte sig ind i problemet.
Avatar billede funny Nybegynder
31. januar 2005 - 22:29 #11
ja det du siger michael_stim vil være fedt
Avatar billede funny Nybegynder
31. januar 2005 - 22:31 #12
den der med dropdownbox med slet knap hvordan kan jeg lave den
Avatar billede funny Nybegynder
31. januar 2005 - 22:33 #13
CREATE TABLE demo (
  id int(11) NOT NULL auto_increment,
  type text NOT NULL,
  pris text NOT NU
  pic1 text NOT NULL,
  pic2 text NOT NULL,
  pic3 text NOT NULL,
  pic4 text NOT NULL,
  PRIMARY KEY  (id)
) TYPE=MyISAM PACK_KEYS=0;
Avatar billede michael_stim Ekspert
31. januar 2005 - 22:49 #14
<?
//Åben din database
if(isset($_POST['Submit'])) {
$textfield=$_POST['textfield'];
mysql_query("DELETE FROM `demo` WHERE `id`=$textfield")or die(mysql_error());
}
?>
///Resten af din kode og form
<?
//Åben din database
mysql_query("SELECT id FROM demo") or die(mysql_error());
?>
<tr>
<td>Välg ID:</td>
<td>
<select name="sid">
<option selected>Välg ID</option>
<?
    while ($row=mysql_fetch_array($result)) {
    $id=$row['id'];
?>
    <option value='<? echo $id; ?>'><? echo $id; ?></option>
<?
}
?>
</select></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" name="Submit" value="Slet id"></td>
</tr>

Noget á la dette? Får du problemer er det bare at sige til.
Avatar billede hmortensen Nybegynder
01. februar 2005 - 00:27 #15
Og hvis du ønsker at kunne markere flere id'er af gangen, så sådan her:

<?php

//Åben din database

if(isset($_POST['Submit']))
{
    $id = implode(", ", $_POST['sid']);
    mysql_query("DELETE FROM `demo` WHERE `id` IN (".$id.")")or die(mysql_error());
}
?>

///Resten af din kode og form

<?php

//Åben din database

mysql_query("SELECT id FROM demo") or die(mysql_error());
?>
<tr>
<td>Vælg ID:</td>
<td>
<select name="sid[]" multiple>
<option selected>Välg ID</option>

<?php
while ($row=mysql_fetch_array($result))
{
    echo "<option value=\"".$row['id']."\">".$row['id']."</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" name="Submit" value="Slet id"></td>
</tr>
Avatar billede funny Nybegynder
01. februar 2005 - 15:07 #16
den siger No Database Selected
Avatar billede funny Nybegynder
01. februar 2005 - 15:14 #17
nu fik jeg det væk men den viser ikke noget i menuen
Avatar billede funny Nybegynder
01. februar 2005 - 15:35 #18
Jeg ved ikke hvad jeg laver siden den ikke vil vise mine ider i dropdownboxen
Avatar billede michael_stim Ekspert
01. februar 2005 - 15:36 #19
Send koden ind, så skal vi kikke på den.
Avatar billede funny Nybegynder
01. februar 2005 - 15:44 #20
<?
require_once("config.php");
require_once("mysqlconnect.php");
if(isset($_POST['Submit'])) {
$textfield=$_POST['textfield'];
mysql_query("DELETE FROM `salg` WHERE `id`=$textfield")or die(mysql_error());
}
?>

<?
require_once("config.php");
require_once("mysqlconnect.php");
mysql_query("SELECT id FROM salg") or die(mysql_error());
?>
<tr>
<td>Vælg ID:</td>
<td>
<select name="id">
<option selected>Vælg ID</option>
<?
    while ($row=mysql_fetch_array($result)) {
    $id=$row['id'];
?>
    <option value='<? echo $id; ?>'><? echo $id; ?></option>
<?
}
?>
</select></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" name="Submit" value="Slet id"></td>
</tr>
Avatar billede funny Nybegynder
01. februar 2005 - 15:45 #21
har lavet demo om til salg
Avatar billede michael_stim Ekspert
01. februar 2005 - 16:04 #22
Du skal have dine felter i en form för <table> som du også mangler:
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
Avatar billede michael_stim Ekspert
01. februar 2005 - 16:07 #23
<?
require_once("config.php");
require_once("mysqlconnect.php");
if(isset($_POST['Submit'])) {
$textfield=$_POST['textfield'];
mysql_query("DELETE FROM `salg` WHERE `id`=$textfield")or die(mysql_error());
}
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<table>
<?
require_once("config.php");
require_once("mysqlconnect.php");
mysql_query("SELECT id FROM salg") or die(mysql_error());
?>
<tr>
<td>Vælg ID:</td>
<td>
<select name="id">
<option selected>Vælg ID</option>
<?
    while ($row=mysql_fetch_array($result)) {
    $id=$row['id'];
?>
    <option value='<? echo $id; ?>'><? echo $id; ?></option>
<?
}
?>
</select></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" name="Submit" value="Slet id"></td>
</tr>
</table>
</form>
Avatar billede michael_stim Ekspert
01. februar 2005 - 16:08 #24
Glem ikke <HTML> osv för formen, hvis du ikke allerede har det.
Avatar billede funny Nybegynder
01. februar 2005 - 18:10 #25
nu er html med men jeg kan ikke få den til at hente mine ider ud
Avatar billede funny Nybegynder
01. februar 2005 - 18:11 #26
den viser bare dropdownboxen med navnet vis id i den
Avatar billede funny Nybegynder
01. februar 2005 - 18:12 #27
eller ikke vis men vælg id
Avatar billede funny Nybegynder
01. februar 2005 - 18:21 #28
den laver ikke nogen fejl på siden den vil bare ikke vise mine ider hvad kan jeg have lavet forkert
Avatar billede funny Nybegynder
01. februar 2005 - 18:22 #29
skal lige siges når jeg prøver at slette den der vælg id laver den det her You have an error in your SQL syntax near '' at line 1
Avatar billede funny Nybegynder
01. februar 2005 - 18:22 #30
men det er jo ikke et id
Avatar billede michael_stim Ekspert
01. februar 2005 - 18:30 #31
Det er mig der sover ;o)

<?
require_once("config.php");
require_once("mysqlconnect.php");
if(isset($_POST['Submit'])) {
$textfield=$_POST['textfield'];
mysql_query("DELETE FROM `salg` WHERE `id`=$textfield")or die(mysql_error());
}
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<table>
<?
require_once("config.php");
require_once("mysqlconnect.php");
$query=("SELECT id FROM salg") or die(mysql_error());
$result=mysql_query($query)
?>
<tr>
<td>Vælg ID:</td>
<td>
<select name="id">
<option selected>Vælg ID</option>
<?
    while ($row=mysql_fetch_array($result)) {
    $id=$row['id'];
?>
    <option value='<? echo $id; ?>'><? echo $id; ?></option>
<?
}
?>
</select></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" name="Submit" value="Slet id"></td>
</tr>
</table>
</form>

Pröv nu.
Avatar billede michael_stim Ekspert
01. februar 2005 - 18:31 #32
Glemte en ; efter:
$result=mysql_query($query);

Det var den linie der manglede för.
Avatar billede funny Nybegynder
01. februar 2005 - 18:34 #33
kanon nu kom mine ider men når jeg klikker på slet laver den fejl
You have an error in your SQL syntax near '' at line 1
og den sletter den ikke øvøv
Avatar billede michael_stim Ekspert
01. februar 2005 - 18:35 #34
Og så skal du også lige have rettet denne:
$textfield=$_POST['textfield'];
til:
$textfield=$_POST['id'];

Nu hedder den jo id og ikke textfield ;o)
Avatar billede michael_stim Ekspert
01. februar 2005 - 18:36 #35
Det er min fejl ;o) Var lidt for hurtig til at sende, för jeg fik kikket det hele igennem. Sorry.
Avatar billede funny Nybegynder
01. februar 2005 - 18:38 #36
sådan michael nu virker det squ takker mange gange laver du lige et svar så skal du få point
Avatar billede michael_stim Ekspert
01. februar 2005 - 18:39 #37
Havde jeg bare koncentreret mig lidt om opgaven, så var problemet löst for länge siden ;o) Men godt at det virker nu.
Avatar billede blaz Nybegynder
01. februar 2005 - 18:41 #38
Hvis du siger at du bruger id'er, kan det gøres let.
Her er et eks.:

<?php
mysql_query("delete from brugere where id = '$_GET[id]'") or die(mysql_error());
?>

Så kunne dit link fx. være: sletbrugere.php?id=<?=$_GET['id'];?>
Avatar billede funny Nybegynder
01. februar 2005 - 18:45 #39
takker men nu virker det mic har lavet tør ikke at pille ved mere.
Avatar billede michael_stim Ekspert
01. februar 2005 - 18:47 #40
blaz>>Det er ikke så smart at have sådanne kommandoer i adresselinien. Desuden skal han jo have id'et alligevel.
Avatar billede blaz Nybegynder
01. februar 2005 - 18:51 #41
Jeg går ud fra at funny har beskyttet sine sider. Det kan desuden også lægges ind i hans kode uden nogen problemer, dette var blot for at give et eksempel.
Avatar billede michael_stim Ekspert
01. februar 2005 - 19:05 #42
Man skal ALDRIG "gå ud fra" noget når man udvikler applikationer.
Desuden kan jeg ikke se at det skulle väre lettere at skrive:
mysql_query("delete from brugere where id = '$_GET[id]'") or die(mysql_error());
end:
mysql_query("DELETE FROM `salg` WHERE `id`=$textfield")or die(mysql_error());

ID'et skal jo träkkes ud ligemeget hvad, så det er kun denne kode der har med sletningen at göre:
if(isset($_POST['Submit'])) {
$textfield=$_POST['textfield'];
mysql_query("DELETE FROM `salg` WHERE `id`=$textfield")or die(mysql_error());
}

Men nok om det, nu spammer vi funnys tråd.
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