Avatar billede Frederik Nybegynder
08. oktober 2007 - 20:49 Der er 5 kommentarer og
1 løsning

Opdatering/sletning af data i MySQL

Hej.
Jeg har postet dette før, men føler ikke, at jeg har fået et endeligt svar.

Jeg vil gerne have mulighed for at kunne opdatere/slette data i MySQL fra min hjemmeside, f.eks. ved denne link-database. Er det noget der er muligt?

Min tabel ser således ud:

CREATE TABLE linkdatabse (
id int(11) NOT NULL auto_increment,
url varchar(255) NOT NULL
beskrivelse varchar(255) NOT NULL
PRIMARY KEY  (id)
)


#add.php
<html><head></head><body>

<p align="center">
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">

    <tr>
        <td bgcolor="#656565" width="100%" colspan="3"><p align="center"><b><font color="#ffffff">Tilføj Link</font></b></p></td>
    </tr>
    <tr>
        <td width="3%"></td>
        <td width="94%">
<br>
<p align="center">
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" id="AutoNumber1">
<form action="index.php?pageid=7" method="post">
    <tr>
        <td>URL:</td>
        <td><input type="text" name="url"><font color="red">*</font></td>
    </tr>
    <tr>
        <td>Beskrivelse:</td>
        <td><input type="text" name="beskrivelse"><font color="red">*</font></td>
    </tr>
    <tr>
        <td></td>
        <td><br><input type="submit" name="add" value="Tilføj Link"></td>
    </tr>
</form>
</table>
</p>

</td>
        <td width="3%"></td>
    </tr>
</table>
</p>
<br>

</body></html>


# add_ok.php
<p align="center">
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">

    <tr>
        <td bgcolor="#7a9294" width="100%" colspan="3"><p align="center"><b>Tilføj link</b></p></td>
    </tr>
    <tr>
        <td width="3%"></td>
        <td width="94%">
<br>
<?php
require("config.php");
$add = &$HTTP_POST_VARS['add'];
if(empty($add)) {
  ?>
  <br><a href="index.php?pageid=5">Tilføj link</a>
  <?php
  } else {

$url = &$HTTP_POST_VARS['url'];
$beskrivelse = &$HTTP_POST_VARS['beskrivelse'];

if(empty($url) OR empty($beskrivelse)) {
    echo '<font color="red"><b>Fejl!</b></font><br>Felterne markeret med en <font color="red">*</font> <u>skal</u> udfyldes!<br><br>
<a href="index.php?pageid=5"><b>Tilbage</b></a>';}   

else {
mysql_connect($mysql_host, $mysql_user, $mysql_pw);
mysql_select_db($mysql_db);
mysql_query("insert into linkdatabase (url, beskrivelse) values ('$url', '$beskrivelse')")
or die(mysql_error());
print "Hjemmesiden <b>\"$url\"</b> er nu tilføjet til databasen.";
?>
<br>
Gå til <a href="index.php?pageid=5"><b>Link Oversigt</b></a>
<?php
}
}
?>


</td>
        <td width="3%"></td>
    </tr>
</table>
</p>
<br>



# links.php
<p align="center">
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">

    <tr>
        <td bgcolor="#7a9294" width="100%" colspan="3"><p align="center"><b>Links</b></p></td>
    </tr>
    <tr>
        <td width="3%"></td>
        <td width="94%">
<br>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
<tr>
<td>
<?
include("links/add.php");
?>
</td>
</tr>
</table><br>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
  <tr>
    <td bgcolor="#656565" width="100%">
    <p align="center"><font color="#FFFFFF"><b>Link Oversigt</b></font></td>
  </tr>

<?
require("config.php");
$query = mysql_query("SELECT url, beskrivelse FROM linkdatabase ORDER BY id, url, beskrivelse") or die(mysql_error());
while($row = mysql_fetch_assoc($query)) {
  echo"
  <tr>
    <td width=\"100%\"><p align=\"left\"><a href=\"http://".$row['url']."\"><b>".$row['url']. "</b></a><br><small>" .$row['beskrivelse']. "</small></p></td>
  </tr>
  ";
}
?>
</table>

</td>
        <td width="3%"></td>
    </tr>
</table>
</p>
<br>


På forhånd tak.

- Frederik
Avatar billede zurekk Nybegynder
09. oktober 2007 - 12:37 #1
mysql_query( 'DELETE FROM `linkdatabase` WHERE `id`=1' );
Avatar billede zurekk Nybegynder
09. oktober 2007 - 12:39 #2
Og opdatere er:
mysql_query( 'UPDATE `linkdatabase` SET `url`="New URL", `beskrivelse`="New Description" WHERE `id`=1' );
Avatar billede Frederik Nybegynder
09. oktober 2007 - 12:49 #3
Så er det jo kun det link der har id=1 ? kan man ikke lave så at den henter id for det link der skal rettes/slettes? og hvordan ser det så ud når det skal være en post funktion???
Avatar billede 1409 Praktikant
10. oktober 2007 - 00:06 #4
Håber du kan bruge det her til noget:
CREATE TABLE `links` (
  `linksId` int(11) NOT NULL auto_increment,
  `http` char(255) NOT NULL default '',
  `link` char(255) NOT NULL default '',
  PRIMARY KEY  (`linksId`)
)


//Links.php

ECHO "<!-- main table -->\n";
ECHO"<TABLE ALIGN=\"center\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"0\">\n";
ECHO "<TR><TD HEIGHT=\"33\" ALIGN=\"center\">";

IF(isset($mess)){
    ECHO "<SPAN CLASS=\"mess\">$mess</SPAN>";
}
ECHO "</TD></TR>";

/* -- tilføj nyt link -- */
ECHO "<FORM METHOD=\"post\" ACTION=\"t_update.php\" enctype=\"multipart/form-data\" onSubmit=\"return checkLink(this)\">\n";
ECHO "<TR><TD><DIV CLASS=\"fed\" STYLE=\"text-align: center;\">Tilføj nyt link</DIV></TD></TR>\n";
ECHO "<TR><TD><SPAN CLASS=\"fed\">Selve linket (husk \"http://\"):</SPAN><SPAN CLASS=\"star\">*</SPAN><BR><INPUT TYPE=\"text\" NAME=\"http\" SIZE=\"100\"><BR>\n";
ECHO "<SPAN CLASS=\"fed\">Linktekst:</SPAN><SPAN CLASS=\"star\">*</SPAN><BR><INPUT TYPE=\"text\" NAME=\"link\" SIZE=\"100\"><BR><INPUT TYPE=\"submit\" CLASS=\"form\" NAME=\"new_link\" VALUE=\" - Tilføj link - \"></TD></TR>\n";
ECHO "</FORM>\n";
ECHO "<TR><TD><BR><BR><HR WIDHT=\"100%\" SIZE=\"1\" NOSHADE><BR></TD></TR>\n";

ECHO "<TR><TD><BR><DIV CLASS=\"fed\" STYLE=\"text-align: center;\">Eksisterende links:</DIV></TD></TR>\n";

MYSQL_CONNECT($host,$user,$password) OR DIE("Ingen kobling til database");
MYSQL_SELECT_DB($database) OR DIE("Umulig at finde database");

    /* selve linket */
$query = mysql_query("SELECT * FROM links ORDER BY link");

WHILE($r = MYSQL_FETCH_ARRAY($query)){
    $linksId = $r["linksId"];
    $http = $r["http"];
    $link = $r["link"];
   
    ECHO "<FORM METHOD=\"post\" ACTION=\"t_update.php\" enctype=\"multipart/form-data\" onSubmit=\"return checkLink(this)\">\n";

    ECHO "<TR><TD><INPUT TYPE=\"hidden\" NAME=\"linksId\" VALUE=\"$linksId\"><SPAN CLASS=\"fed\">Selve linket (husk \"http://\"):</SPAN><SPAN CLASS=\"star\">*</SPAN><BR><INPUT TYPE=\"text\" NAME=\"http\" VALUE=\"$http\" SIZE=\"100\"><BR>\n";
    ECHO "<SPAN CLASS=\"fed\">Linktekst:</SPAN><SPAN CLASS=\"star\">*</SPAN><BR><INPUT TYPE=\"text\" NAME=\"link\" VALUE=\"$link\" SIZE=\"100\"><BR><INPUT TYPE=\"submit\" NAME=\"upd_link\" VALUE=\" - Opdatér link - \" CLASS=\"form\">&nbsp;&nbsp;&nbsp;<INPUT TYPE=\"submit\" NAME=\"del_link\" VALUE=\" - Slet link - \" CLASS=\"form\"><BR><BR></TD></TR>\n";

    ECHO "</FORM>";
}

ECHO "<TR><TD HEIGHT=\"30\"><DIV ALIGN=\"right\" CLASS=\"til\"><A HREF=\"#tilbage\">Til toppen</A></DIV></TD></TR>\n";
/* -- tilføj nyt link -- */

ECHO "</TABLE>";



//t_update.php
/* - - Indsæt nyt link - - */
IF(isset($_POST['new_link'])) {

    $http = $_POST['http'];
    $link = $_POST['link'];
   
    MYSQL_CONNECT($host,$user,$password);
    MYSQL_SELECT_DB($database);

    $query = MYSQL_QUERY("INSERT INTO links (http, link)"."VALUES('$http', '$link')");

    $mess = "Linket er sat ind.";
    Header("Location:links.php?mess=$mess");
}

/* - - Opdatere eksisterende link - - */
IF(isset($_POST['upd_link'])) {

    $linksId = $_POST['linksId'];
    $http = $_POST['http'];
    $link = $_POST['link'];

    MYSQL_CONNECT($host,$user,$password);
    MYSQL_SELECT_DB($database);

    $query = MYSQL_QUERY("UPDATE links SET http = '$http', link = '$link' WHERE linksId='$linksId' ");

    $mess = "Linket er opdateret.";
    Header("Location:links.php?mess=$mess");
}

/* - - Slet link - - */
IF(isset($_POST['del_link'])) {

    $linksId=$_POST['linksId'];
   
    MYSQL_CONNECT($host,$user,$password);
    MYSQL_SELECT_DB($database);
   
    $query = MYSQL_QUERY("DELETE FROM links WHERE linksId = '$linksId' ");
   
    $mess = "Linket er slettet.";
    Header("Location:links.php?mess=$mess");
}
Avatar billede Frederik Nybegynder
11. oktober 2007 - 12:56 #5
Hmm.. Jeg kan ikke rigtig kombinere det med min kode..? Havde forestillet mig noget i form af en side der viser linkene (som jeg allerede har), og der så ud fra hvert link er en knap/link til en side hvor jeg kan gå ind og rette/slette i linket. Er muligt at lave sådan noget?

- Frederik
Avatar billede Frederik Nybegynder
15. oktober 2007 - 14:19 #6
- lukker
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