Avatar billede mike2002 Nybegynder
15. juni 2007 - 22:09 Der er 3 kommentarer og
1 løsning

Slet række

Neeej, nu har jeg bare brugt for lang tid på at rode rundt efter spørgsmål, der kunne hjælpe mig, og jeg kan åbenbart ikke hjælpe mig selv.

Jeg har en side til at redigere nogle rækker i en tabel og tænkte det var meget smart at tilføje en slet-mulighed.

Der er fem kolonner: id (hidden), navn, beskrivelse, pris //alle fire fra tabel// og den sidste er hvor jeg prøver at lave et link til at slette den pågældende række. Alle fem kolonner i rækkerne gentages med 'While'.

Jeg arbejder stadig i Dreamweaver, men håber det er OK jeg poster her? Har oprettet en delete record server behavior:

if ((isset($_GET['id'])) && ($_GET['id'] != "")) {
  $deleteSQL = sprintf("DELETE FROM menukort WHERE id=%s",
                      GetSQLValueString($_GET['id'], "int"));

Hvordan får jeg den integreret i min tabel?
Avatar billede mike2002 Nybegynder
15. juni 2007 - 22:25 #1
Jeg har set, at nogle har fået noget a la det her til at virke:

<td width="19%"><a href="slet.php?id=$_GET[id]">slet</a></td>

hvor der så i slet.php står

mysql_query("DELETE FROM 'menukort' WHERE 'id'=$_GET[id]");

echo"<meta HTTP-EQUIV=Refresh CONTENT=0;URL=edit_menukort.php>";

men det sker der intet ved på den måde jeg har fået det sat sammen på...
Avatar billede dkfire Nybegynder
15. juni 2007 - 23:53 #2
Du bliver nok nød til at vise lidt mere af din kode
Avatar billede mike2002 Nybegynder
16. juni 2007 - 19:16 #3
Yes, OK, her kommer PHP-koden fra øverste del af edit_menukort.php:

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "opretmenu")) {
  $insertSQL = sprintf("INSERT INTO menukort (navn, beskrivelse, pris) VALUES (%s, %s, %s)",
                      GetSQLValueString($_POST['navn'], "text"),
                      GetSQLValueString($_POST['beskrivelse'], "text"),
                      GetSQLValueString($_POST['pris'], "text"));

  mysql_select_db($database_halvvejen, $halvvejen);
  $Result1 = mysql_query($insertSQL, $halvvejen) or die(mysql_error());
}

if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "update_menukort")) {
  $updateSQL = sprintf("UPDATE menukort SET navn=%s, beskrivelse=%s, pris=%s WHERE id=%s",
                      GetSQLValueString($_POST['navn'], "text"),
                      GetSQLValueString($_POST['beskrivelse'], "text"),
                      GetSQLValueString($_POST['pris'], "text"),
                      GetSQLValueString($_POST['id'], "int"));

  mysql_select_db($database_halvvejen, $halvvejen);
  $Result1 = mysql_query($updateSQL, $halvvejen) or die(mysql_error());
}

if ((isset($_GET['id'])) && ($_GET['id'] != "")) {
  $deleteSQL = sprintf("DELETE FROM menukort WHERE id=%s",
                      GetSQLValueString($_GET['id'], "int"));

  mysql_select_db($database_halvvejen, $halvvejen);
  $Result1 = mysql_query($deleteSQL, $halvvejen) or die(mysql_error());
}

$colname_rsIndhold = "1";
if (isset($_GET['id'])) {
  $colname_rsIndhold = (get_magic_quotes_gpc()) ? $_GET['id'] : addslashes($_GET['id']);
}
mysql_select_db($database_halvvejen, $halvvejen);
$query_rsIndhold = sprintf("SELECT * FROM indhold WHERE id = %s", $colname_rsIndhold);
$rsIndhold = mysql_query($query_rsIndhold, $halvvejen) or die(mysql_error());
$row_rsIndhold = mysql_fetch_assoc($rsIndhold);
$totalRows_rsIndhold = mysql_num_rows($rsIndhold);

mysql_select_db($database_halvvejen, $halvvejen);
$query_rsUpdatemenukort = "SELECT * FROM menukort ORDER BY id ASC";
$rsUpdatemenukort = mysql_query($query_rsUpdatemenukort, $halvvejen) or die(mysql_error());
$row_rsUpdatemenukort = mysql_fetch_assoc($rsUpdatemenukort);
$totalRows_rsUpdatemenukort = mysql_num_rows($rsUpdatemenukort);
?>

Og her er formularen:

<form action="<?php echo $editFormAction; ?>" method="POST" name="update_menukort" id="update_menukort">
  <table width="100%"  border="0" cellpadding="0" cellspacing="2" class="indhold">
        <?php do { ?>
        <tr>
            <td width="3%"><input name="id" type="hidden" id="id2"></td>
            <td width="20%"><input name="navn" type="text" id="navn" value="<?php echo $row_rsUpdatemenukort['navn']; ?>"></td>
            <td width="39%"><textarea name="beskrivelse" cols="50" rows="2" id="beskrivelse"><?php echo $row_rsUpdatemenukort['beskrivelse']; ?></textarea></td>
            <td width="19%"><input name="pris" type="text" id="pris" value="<?php echo $row_rsUpdatemenukort['pris']; ?>"></td>
            <td width="19%"><a href="slet.php?id=$_GET[id]">slet</a></td>
           
        </tr>
        <?php } while ($row_rsUpdatemenukort = mysql_fetch_assoc($rsUpdatemenukort)); ?>
        </table>
      <p>
        <input type="submit" name="Submit" value="Gem &aelig;ndringer">
</p>
      <input type="hidden" name="MM_update" value="update_menukort">
</form>

Hjælper det?
Avatar billede mike2002 Nybegynder
17. juni 2007 - 23:55 #4
Man kan selvfølgelig ikke altid forvente at få hjælp og jeg blev for utålmodig, så jeg har lavet en lidt besværlig work-around, med at åbne en side seperat, hvor man så kan slette den pågældende post... Hvis der er nogen der vil vide, hvordan man gør det, skal I bare sige til ... ;-)

Lukker, bukker, sukker og slukker...
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