Avatar billede kres69 Nybegynder
26. april 2003 - 23:26 Der er 12 kommentarer og
1 løsning

Tilføjelse af slet-funktion i php.

Hej!
Jeg har lavet en kageordning, med lidt hjælp fra ekspertene herinde (tak Schaefner).
Jeg har siddet og rodet med en slet-funktion til min kageliste, men kan ikke få det til at funke.

I kan se kagelisten her:
http://www.kriztian.dk/einfo/kageordning-dev.php

Ud for hvert navn vil jeg gerne have en slet-funktion. Hvordan gør jeg dette?
Avatar billede kres69 Nybegynder
26. april 2003 - 23:27 #1
MIN KODE:

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body>

<?php
$db = mysql_connect("localhost", "kriztian_dk", "62IBdqRm");
mysql_select_db("kriztian_dk", $db);
if ($skriv){
mysql_query("INSERT INTO kageordning(uge, navn) VALUES ('$uge', '$navn')");
    }
?>

<?
/*
***** HTMLFORMULAREN *****
To formularer hvor man kan skrive uge og navn, og derefter trykke send.
*/
?>
<CENTER>
<FORM METHOD=POST ACTION=<? echo $PHP_SELF;?>>
<INPUT TYPE=hidden NAME=skriv VALUE=1>
<strong>uge: </strong>
  <INPUT NAME=uge TYPE=text size="4" maxlength="2">
  <strong>navn: </strong>
  <input name=navn type=text size="30" maxlength="20">

<INPUT TYPE=submit VALUE="Send til kageordning">
</FORM>
<BR><BR>



<?
/*
***** KAGEORDNINGEN *****
Kageordningen er opbygget af tre tabeller, som er omsluttet af en stor tabel. Dvs. 4
tabeller i alt. Hver af de tre tabeller består af tre celler. Dvs. 9 celler i alt.
I den midterste celle findes kald til databasen med echo $data.
*/
?>

<!--CONTENT TABEL-->

<table cellpadding="0" cellspacing="0" border="0"><tr>
<td colspan="3"><img src="images/kageordning/n.gif" width="507" height="403"></td>
</tr>
<?php
$ugen = "uge ";
?>
<?php
$mellemrum = "        ";
?>
<?
$foresp = mysql_query("SELECT uge, navn FROM kageordning ORDER BY uge");
while($data = mysql_fetch_row($foresp)){
    echo "<tr>";
    echo "<td><img src=\"images/kageordning/v.gif\"></td>";

   
    echo "<td valign=\"top\" width=\"306\" style=\"height: 73px; background-image: url(images/kageordning/c.gif)\"><blockquote><b>$ugen</b><b>$data[0]:</b><b>$mellemrum</b><b>$mellemrum</b>$data[1]";

    echo "</td>";
    echo "<td><img src=\"images/kageordning/e.gif\"></td>";
    echo "</tr>";
}
?>
<tr>
<td colspan="3"><img src="images/kageordning/s.gif" width="507" height="168"></td>
</tr></table>

</body>
</html>
Avatar billede schaefner Juniormester
26. april 2003 - 23:33 #2
Har vær post i databasen et unikt id?
Avatar billede schaefner Juniormester
26. april 2003 - 23:33 #3
vær = hver
Avatar billede kres69 Nybegynder
26. april 2003 - 23:37 #4
Ja, jeg har sat det til at være autoincrement.
Avatar billede kres69 Nybegynder
26. april 2003 - 23:38 #5
Dette er min database.

CREATE TABLE kageordning (
  id int(11) NOT NULL auto_increment,
  uge smallint(2) NOT NULL default '0',
  navn varchar(30) NOT NULL default '',
  PRIMARY KEY  (id)
) TYPE=MyISAM;
Avatar billede schaefner Juniormester
26. april 2003 - 23:39 #6
Prøv:

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>

<?php
$db = mysql_connect("localhost","kriztian_dk","62IBdqRm");
mysql_select_db("kriztian_dk", $db);
if ($skriv){
    mysql_query("INSERT INTO kageordning (uge, navn) VALUES ('$uge','$navn')");
}
if ($slet){
    mysql_query("DELETE FROM kageordning WHERE id=$slet");
}
/*
***** HTMLFORMULAREN *****
To formularer hvor man kan skrive uge og navn, og derefter trykke send.
*/
?>
<center>
<form method=post action=<? echo $php_self;?>>
<input type=hidden name=skriv value=1>
<b>uge:</b><input name=uge type=text size="4" maxlength="2">
<b>navn:</b><input name=navn type=text size="30" maxlength="20">
<input type=submit value="send til kageordning">
</form>
<?
/*
***** KAGEORDNINGEN *****
Kageordningen er opbygget af tre tabeller, som er omsluttet af en stor tabel. Dvs. 4
tabeller i alt. Hver af de tre tabeller består af tre celler. Dvs. 9 celler i alt.
I den midterste celle findes kald til databasen med echo $data.
*/
?>
<table cellpadding="0" cellspacing="0" border="0"><tr>
<td colspan="3"><img src="images/kageordning/n.gif" width="507" height="403"></td>
</tr>
<?
$foresp = mysql_query("SELECT uge,navn,id FROM kageordning ORDER BY uge");
while($data = mysql_fetch_array($foresp)){
    echo "<tr>";
    echo "<td><img src=\"images/kageordning/v.gif\"></td>";
    echo "<td valign=\"top\" width=\"306\" style=\"height: 73px; background-image: url(images/kageordning/c.gif)\"><blockquote><b>uge $data[uge]:</b>$data[navn]<br>";
    echo "<a href=\"?slet=$data[id]\">Slet</a>";
    echo "</td>";
    echo "<td><img src=\"images/kageordning/e.gif\"></td>";
    echo "</tr>";
}
?>
<tr>
<td colspan="3"><img src="images/kageordning/s.gif" width="507" height="168"></td>
</tr></table>

</body>
</html>
Avatar billede kres69 Nybegynder
26. april 2003 - 23:43 #7
Damn, jeg er imponeret. Det virker squ som det skal. Jeg har dog opdaget, at den ligger samme person i databasen flere gange. Kan det være fordi databasen ikke bliver lukket med det samme? Har du lige et hurtigt løsningsforslag som jeg kan arbejde videre med.

Du får pointene. Endnu engang tak.
Avatar billede schaefner Juniormester
26. april 2003 - 23:46 #8
Den sætter den da kun ind hvis du trykker igen?
Avatar billede kres69 Nybegynder
26. april 2003 - 23:49 #9
Det må jeg lige kigge lidt nærmere på. Jeg er parat med pointene hvis du melder besvaret : )
Avatar billede schaefner Juniormester
26. april 2003 - 23:54 #10
besvaret ;o)
Avatar billede schaefner Juniormester
26. april 2003 - 23:54 #11
Du kan lave den så man ikke kan vælge en uge der allerede er taget.
Avatar billede kres69 Nybegynder
26. april 2003 - 23:55 #12
Ja, det har jeg også tænkt på. Tak for svaret
Avatar billede schaefner Juniormester
26. april 2003 - 23:58 #13
Var så lidt
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