Avatar billede -kenner- Nybegynder
01. april 2005 - 14:01 Der er 71 kommentarer og
3 løsninger

Funktion til at slette i en MySQL database..

Hej eksperter,

Jeg sider og leger med php og MySQL, og jeg mangler en slet funktion, som skal stå bagert i tabellen.

Php prøver at tilføje ligeså snart siden åbnes, hvordan kan jeg undgå det, så jeg ikke viser: Du mangler at udfylde navn, før man trykker tilføj?

På forhånd tak.

Mvh Kenneth

Kode:

<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
      <title>Venner</title>
</head>
<body>
<center>
<?php
//skaber forbindelse til databasen
mysql_connect("Lokalhost", "Database", "Kodeord") or die (mysql_error());
mysql_select_db("Database") or die (mysql_error());
?>
<p>Tilføj en ven til vennelisten</p>
<form name="medlem-tilfoej" method="post" action="<?php echo $PHP_SELF; ?>">
<p>navn:<input type="text" name="navn" size="60" maxlength="60"></p>
<p>email:<input type="text" name="email" size="60" maxlength="60"></p>
<p>Køn:<select name="kon"><option value="">Vælg</option><option value="Dreng">Dreng</option><option value="Pige">Pige</option></select></p>
<input type="submit" name="send" value="Tilfoej dig">
</form>

<?php
//henter indhold fra felterne
$navn = $_REQUEST ["navn"];
$email = $_REQUEST ["email"];
$kon = $_REQUEST ["kon"];

//Tjekker om felterne er udfyldt
if ("$navn" == ""){
    echo "Fejl: Du mangler at udfylde dit navn";
} else if ("$email" == "") {
    echo "Fejl: Du mangler at udfylde email";
} else if ("$kon" == "") {
    echo "Fejl: Du mangler at udfylde køn";
} else {


//Indsaet indhold i databasen
mysql_query("INSERT INTO venner (id, navn, email, kon) values (0, '$navn', '$email', '$kon')");
}
//Vis medlemmer
//Laver forespørgsel i tabellen
$venner = mysql_query ("SELECT * FROM venner") or die (mysql_error());
//Udskriver de fundne data i en tabel
//Titel til tabel
print "<p>Venneliste</p>";
print "<table style=\"border: 2px solid #000000;Border-collapse:collapse;\">";
while ($row = mysql_fetch_array($venner))
print "<tr><td style=\"border: 1px dashed #000000;\">".$row["id"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["navn"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["kon"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["email"]."</td></tr>";
print"</table>";

?>
</body>
</html>
Avatar billede busschou Praktikant
01. april 2005 - 14:15 #1
måske
if $_REQUEST['name'] != "" {
//henter indhold .... osv
}
Avatar billede busschou Praktikant
01. april 2005 - 14:16 #2
vås
if $_REQUEST['send'] != "" {
//henter indhold .... osv
}
Avatar billede busschou Praktikant
01. april 2005 - 14:17 #3
måske
if $_REQUEST['name'] != "" {
//henter indhold .... osv
}
Avatar billede busschou Praktikant
01. april 2005 - 14:21 #4
hmm spooky at den gentager mig....skete vist lige en dejl der..
Men den 14:16:15 burde gøre at felterne kun tjekkes hvis formen er submittet
Avatar billede busschou Praktikant
01. april 2005 - 14:23 #5
hvis du ønsker at kunne slette hver enkelt?
Så skal du lave en dynamisk form
Dvs i din :
----------------
while ($row = mysql_fetch_array($venner))
print "<tr><form name=\"medlem-slet\" method=\"post\" action=\"$PHP_SELF;\"><td style=\"border: 1px dashed #000000;\">".$row["id"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["navn"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["kon"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["email"]."</td>
<td><input type=\"submit\" name=\"slet\" value=\"slet\"></td></form></tr>";
print"</table>";
------------
skal du efter <tr> lave en <form> med action til sig selv men et navn afhængig af din løkke....feks id´et
Så laver du endnu en <td> med en submit knap med name="slet"
Avatar billede busschou Praktikant
01. april 2005 - 14:29 #6
der skal selvfølgelig tilføjes input felter af typen "hidden" for fx id hvis det er unikt så formen sender id´et videre.
Endvidere skal formens og submit´s navn gøres unikt.
Noget ala form name=\"medlem-slet .$row["id"].\"  (er ikke helt sikker på syntaksten der)
Avatar billede jaw Nybegynder
01. april 2005 - 14:30 #7
En lille bitte ting, men når nu der bruges $_REQUEST på de andre variabler, bør din $PHP_SELF; være $_SERVER['PHP_SELF'];
Avatar billede haren Nybegynder
01. april 2005 - 15:05 #8
Du behøver ikke at bruge det. Men jeg har ændret lidt i din kode.

if(isset($_POST['send'])) {

if (empty($_POST['navn'])){
    echo "Fejl: Du mangler at udfylde dit navn";
} else if (empty($_POST['email'])) {
    echo "Fejl: Du mangler at udfylde email";
} else if (empty($_POST['køn'])) {
    echo "Fejl: Du mangler at udfylde køn";
}

} else {
Avatar billede -kenner- Nybegynder
01. april 2005 - 20:44 #9
# busschou, jeg søger også funktionen til at kunne slette en enkelt række i databasen..

# haren, jeg vil lige prøve at sætte din rettelse ind i koden..
Avatar billede -kenner- Nybegynder
01. april 2005 - 21:09 #10
# haren, Det virker fint, den tilføjer ikke når man åbner siden, faktisk, så tilføjer den slet ikke.. Koden ser nu sådan ud:

<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
      <title>Venner</title>
</head>
<body>
<center>
<?php
//skaber forbindelse til databasen
mysql_connect("chopin.1go.dk", "free50947", "m161165") or die (mysql_error());
mysql_select_db("free50947") or die (mysql_error());
?>
<p>Tilføj en ven til vennelisten</p>
<form name="medlem-tilfoej" method="post" action="<?php echo $PHP_SELF; ?>">
<p>navn:<input type="text" name="navn" size="60" maxlength="60"></p>
<p>email:<input type="text" name="email" size="60" maxlength="60"></p>
<p>Køn:<select name="kon"><option value="">Vælg</option><option value="Dreng">Dreng</option><option value="Pige">Pige</option></select></p>
<input type="submit" name="send" value="Tilfoej dig">
</form>

<?php
//henter indhold fra felterne
$navn = $_REQUEST ["navn"];
$email = $_REQUEST ["email"];
$kon = $_REQUEST ["kon"];

//Tjekker om felterne er udfyldt
if(isset($_POST['send'])) {

if (empty($_POST['navn'])){
    echo "Fejl: Du mangler at udfylde dit navn";
} else if (empty($_POST['email'])) {
    echo "Fejl: Du mangler at udfylde email";
} else if (empty($_POST['kon'])) {
    echo "Fejl: Du mangler at udfylde køn";
}

} else {


//Indsaet indhold i databasen
mysql_query("INSERT INTO venner (id, navn, email, kon) values (0, '$navn', '$email', '$kon')");
}
//Vis medlemmer
//Laver forespørgsel i tabellen
$venner = mysql_query ("SELECT * FROM venner") or die (mysql_error());
//Udskriver de fundne data i en tabel
//Titel til tabel
print "<p>Venneliste</p>";
print "<table style=\"border: 2px solid #000000;Border-collapse:collapse;\">";
while ($row = mysql_fetch_array($venner))
print "<tr><td style=\"border: 1px dashed #000000;\">".$row["id"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["navn"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["kon"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["email"]."</td></tr>";
print"</table>";

?>
</body>
</html>
Avatar billede -kenner- Nybegynder
01. april 2005 - 21:13 #11
#busschou, jeg kan bedst bruge noget copy and paste, så læser jeg det, og forstår.. Det er en lettere måde for mig at lærer php og MySQL på..
Avatar billede busschou Praktikant
01. april 2005 - 22:27 #12
udskift din while med følgende:
----------------
while ($row = mysql_fetch_array($venner))
print "<tr><form name=\"medlem-slet".$row["id"]."\" method=\"post\" action=\"$PHP_SELF;\">
<td style=\"border: 1px dashed #000000;\">".$row["id"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["navn"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["kon"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["email"]."</td>
<td><input type=\"hidden\" name=\"id\" value=\"".$row["id"]."\">
<input type=\"submit\" name=\"slet\" value=\"Slet\"></td></form></tr>";
print"</table>";
------------
Avatar billede busschou Praktikant
01. april 2005 - 22:28 #13
Det den gør er at oprette en form med hvert sit navn til hver linje
Avatar billede busschou Praktikant
01. april 2005 - 22:31 #14
nu laver du så et sted tilsvarende for hvis du skulle indsætte en:
if(isset($_POST['slet'])) {
  $id = $_REQUEST ["email"];
  mysql_query("DELETE FROM venner WHERE id = $id");
}
Avatar billede busschou Praktikant
01. april 2005 - 22:32 #15
copy paste fejl:
if(isset($_POST['slet'])) {
  $id = $_REQUEST ["email"];
  mysql_query("DELETE FROM venner WHERE id = $id");
}
Men det kræver selvfølgelig at Id er unik for hver indgang i tabellen?
Avatar billede busschou Praktikant
01. april 2005 - 22:35 #16
alt i alt fåes:
-------------------------
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
      <title>Venner</title>
</head>
<body>
<center>
<?php
//skaber forbindelse til databasen
mysql_connect("chopin.1go.dk", "free50947", "m161165") or die (mysql_error());
mysql_select_db("free50947") or die (mysql_error());
?>
<p>Tilføj en ven til vennelisten</p>
<form name="medlem-tilfoej" method="post" action="<?php echo $PHP_SELF; ?>">
<p>navn:<input type="text" name="navn" size="60" maxlength="60"></p>
<p>email:<input type="text" name="email" size="60" maxlength="60"></p>
<p>Køn:<select name="kon"><option value="">Vælg</option><option value="Dreng">Dreng</option><option value="Pige">Pige</option></select></p>
<input type="submit" name="send" value="Tilfoej dig">
</form>

<?php
//henter indhold fra felterne
$navn = $_REQUEST ["navn"];
$email = $_REQUEST ["email"];
$kon = $_REQUEST ["kon"];

//tjekker om der skal slettes
if(isset($_POST['slet'])) {
  $id = $_REQUEST ["email"];
  mysql_query("DELETE FROM venner WHERE id = $id");
}

//Tjekker om felterne er udfyldt
if(isset($_POST['send'])) {

if (empty($_POST['navn'])){
    echo "Fejl: Du mangler at udfylde dit navn";
} else if (empty($_POST['email'])) {
    echo "Fejl: Du mangler at udfylde email";
} else if (empty($_POST['kon'])) {
    echo "Fejl: Du mangler at udfylde køn";
}

} else {


//Indsaet indhold i databasen
mysql_query("INSERT INTO venner (id, navn, email, kon) values (0, '$navn', '$email', '$kon')");
}
//Vis medlemmer
//Laver forespørgsel i tabellen
$venner = mysql_query ("SELECT * FROM venner") or die (mysql_error());
//Udskriver de fundne data i en tabel
//Titel til tabel
print "<p>Venneliste</p>";
print "<table style=\"border: 2px solid #000000;Border-collapse:collapse;\">";
while ($row = mysql_fetch_array($venner))
print "<tr><form name=\"medlem-slet".$row["id"]."\" method=\"post\" action=\"$PHP_SELF;\">
<td style=\"border: 1px dashed #000000;\">".$row["id"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["navn"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["kon"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["email"]."</td>
<td><input type=\"hidden\" name=\"id\" value=\"".$row["id"]."\">
<input type=\"submit\" name=\"slet\" value=\"Slet\"></td></form></tr>";
print"</table>";

?>
</body>
</html>
Avatar billede busschou Praktikant
01. april 2005 - 22:36 #17
og jeg bliver ved med den copy paste fejl....flot af mig :o(
if(isset($_POST['slet'])) {
  $id = $_REQUEST ["slet"];
  mysql_query("DELETE FROM venner WHERE id = $id");
}
Avatar billede busschou Praktikant
01. april 2005 - 22:37 #18
det er sku for sent
if(isset($_POST['slet'])) {
  $id = $_REQUEST ["id"];
  mysql_query("DELETE FROM venner WHERE id = $id");
}
----
sådan..godnat ;o)
ved ikke helt om det virker 100%...men det skulle være ideen med det :o) så er der lidt at se på og arbejde med i al fald
Avatar billede haren Nybegynder
02. april 2005 - 17:50 #19
Fjern dette:

//henter indhold fra felterne
$navn = $_REQUEST ["navn"];
$email = $_REQUEST ["email"];
$kon = $_REQUEST ["kon"];

----

Skift dette:

mysql_query("INSERT INTO venner (id, navn, email, kon) values (0, '$navn', '$email', '$kon')");

ud med dette:

mysql_query("INSERT INTO venner (id, navn, email, kon) values (0, '{$_POST['navn']}', '{$_POST['email'}', '{$_POST['kon']}')");
Avatar billede -kenner- Nybegynder
02. april 2005 - 21:12 #20
Den tilføjer stadig kun tomme felter..

Koden ser nu sådan ud:
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
      <title>Venner</title>
</head>
<body>
<center>
<?php

//skaber forbindelse til databasen
mysql_connect("localhost", "bruger", "kode") or die (mysql_error());
mysql_select_db("free50947") or die (mysql_error());
?>
<p>Tilføj en ven til vennelisten</p>
<form name="venner-tilfoej" method="post" action="<?php echo $PHP_SELF;?>">
<p>navn:<input type="text" name="navn" size="60" maxlength="60"></p>
<p>email:<input type="text" name="email" size="60" maxlength="60"></p>
<p>Køn:<select name="kon"><option value="">Vælg</option><option value="Dreng">Dreng</option><option value="Pige">Pige</option></select></p>
<input type="submit" name="send" value="Tilfoej dig">
</form>

<?php

//Tjekker om felterne er udfyldt


if(isset($_POST['send'])) {

if (empty($_POST['navn'])){
    echo "Fejl: Du mangler at udfylde dit navn";
} else if (empty($_POST['email'])) {
    echo "Fejl: Du mangler at udfylde email";
} else if (empty($_POST['kon'])) {
    echo "Fejl: Du mangler at udfylde køn";
}

} else {

//Indsaet indhold i databasen
mysql_query("INSERT INTO venner (id, navn, email, kon) values (0, '{$_POST['navn']}', '{$_POST['email']}', '{$_POST['kon']}')");
}
//Vis medlemmer
//Laver forespørgsel i tabellen
$venner = mysql_query ("SELECT * FROM venner") or die (mysql_error());
//Udskriver de fundne data i en tabel
//Titel til tabel
print "<p>Venneliste</p>";
print "<table style=\"border: 2px solid #000000;Border-collapse:collapse;\">";
while ($row = mysql_fetch_array($venner))
print "<tr><td style=\"border: 1px dashed #000000;\">".$row["id"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["navn"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["kon"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["email"]."</td></tr>\n";
print"</table>";

?>
</body>
</html>
Avatar billede -kenner- Nybegynder
03. april 2005 - 13:01 #21
# busschou, sletter den funktion hele rækken?
Avatar billede busschou Praktikant
03. april 2005 - 13:06 #22
denner her:
mysql_query("DELETE FROM venner WHERE id = $id");
sletter hele rækken i tabellen "venner" hvor "id"´et er lig "$id"
Det kræver selvfølgelig at "id"´et er unikt for ellers vil alle rækker med pågældende id blive slettet
...så ja det burde slette hele rækken :o)
Avatar billede -kenner- Nybegynder
03. april 2005 - 13:09 #23
# busschou, når jeg trykker slet, melder den denne fejl:

Error 405 Method Not Allowed
The requested method POST is not allowed for URL /;

Powered by Zeus Technology
Avatar billede -kenner- Nybegynder
03. april 2005 - 13:27 #24
Med en lille rettelse i din PHP_SELF, så kan scriptet slette, men jeg er lidt træt af at skulle trykke to gange før den opdatere at rækken er slettet..

if(isset($_POST['slet'])) {
  $id = $_REQUEST ["id"];
  mysql_query("DELETE FROM venner WHERE id = $id");
}

while ($row = mysql_fetch_array($venner))
print "<tr><form name=\"medlem-slet".$row["id"]."\" method=\"post\" action=\"$PHP_SELF\">
<td style=\"border: 1px dashed #000000;\">".$row["id"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["navn"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["kon"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["email"]."</td>
<td><input type=\"hidden\" name=\"id\" value=\"".$row["id"]."\">
<input type=\"submit\" name=\"slet\" value=\"Slet\"></td></form></tr>";
print"</table>";
Avatar billede -kenner- Nybegynder
03. april 2005 - 13:29 #25
# busschou, koden ser nu sådan ud:

<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
      <title>Venner</title>
</head>
<body>
<center>
<?php
// No cache
Header('Cache-Control: no-cache');
Header('Pragma: no-cache');

//skaber forbindelse til databasen
mysql_connect("Localhost", "bruger", "kode") or die (mysql_error());
mysql_select_db("database") or die (mysql_error());
?>
<p>Tilføj en ven til vennelisten</p>
<form name="venner-tilfoej" method="post" action="<?php echo $PHP_SELF;?>">
<p>navn:<input type="text" name="navn" size="60" maxlength="60"></p>
<p>email:<input type="text" name="email" size="60" maxlength="60"></p>
<p>Køn:<select name="kon"><option value="">Vælg</option><option value="Dreng">Dreng</option><option value="Pige">Pige</option></select></p>
<input type="submit" name="send" value="Tilfoej dig">
</form>

<?php
//henter indhold fra felterne
$navn = $_REQUEST ["navn"];
$email = $_REQUEST ["email"];
$kon = $_REQUEST ["kon"];

//Tjekker om felterne er udfyldt


if ("$navn" == ""){
    echo "Fejl: Du mangler at udfylde dit navn";
} else if ("$email" == "") {
    echo "Fejl: Du mangler at udfylde email";
} else if ("$kon" == "") {
    echo "Fejl: Du mangler at udfylde køn";
} else {

//Indsaet indhold i databasen
mysql_query("INSERT INTO venner (id, navn, email, kon) values (0, '$navn', '$email', '$kon')");
}
//Vis medlemmer
//Laver forespørgsel i tabellen
$venner = mysql_query ("SELECT * FROM venner") or die (mysql_error());

//slette funktion
if(isset($_POST['slet'])) {
  $id = $_REQUEST ["id"];
  mysql_query("DELETE FROM venner WHERE id = $id");
}
//Udskriver de fundne data i en tabel
//Titel til tabel
print "<p>Venneliste</p>";
print "<table style=\"border: 2px solid #000000;Border-collapse:collapse;\">";
while ($row = mysql_fetch_array($venner))
print "<tr><form name=\"ven-slet".$row["id"]."\" method=\"post\" action=\"$PHP_SELF\">
<td style=\"border: 1px dashed #000000;\">".$row["id"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["navn"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["kon"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["email"]."</td>
<td><input type=\"hidden\" name=\"id\" value=\"".$row["id"]."\">
<input type=\"submit\" name=\"slet\" value=\"Slet\"></td></form></tr>";
print"</table>";

?>
</body>
</html>
Avatar billede busschou Praktikant
03. april 2005 - 13:45 #26
prøv at byt om så de står sådan her
-------------------
//slette funktion
if(isset($_POST['slet'])) {
  $id = $_REQUEST ["id"];
  mysql_query("DELETE FROM venner WHERE id = $id");
}
//Vis medlemmer
//Laver forespørgsel i tabellen
$venner = mysql_query ("SELECT * FROM venner") or die (mysql_error());
-----------------------
Skal lige være sikker på det du skriver
Virker det bortset fra at du skal trykke opdater...eller hvordan?
Eller giver den stadig fejl?
Er lidt i tvivl nu jeg så dine tre sidste beskeder nemlig :o)
Avatar billede haren Nybegynder
03. april 2005 - 15:04 #27
-kenner- har lige flyttet rundt i koden.. ;)

<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
      <title>Venner</title>
</head>
<body>
<center>
<?php

//skaber forbindelse til databasen
mysql_connect("localhost", "bruger", "kode") or die (mysql_error());
mysql_select_db("free50947") or die (mysql_error());

//Tjekker om felterne er udfyldt

if(isset($_POST['send'])) {

if (empty($_POST['navn'])){
    echo "Fejl: Du mangler at udfylde dit navn";
} elseif (empty($_POST['email'])) {
    echo "Fejl: Du mangler at udfylde email";
} elseif (empty($_POST['kon'])) {
    echo "Fejl: Du mangler at udfylde køn";
} else {

//Indsaet indhold i databasen
mysql_query("INSERT INTO venner (id, navn, email, kon) values (0, '{$_POST['navn']}', '{$_POST['email']}', '{$_POST['kon']}')");

}

} else {

<p>Tilføj en ven til vennelisten</p>
<form name="venner-tilfoej" method="post" action="<?php echo $PHP_SELF;?>">
<p>navn:<input type="text" name="navn" size="60" maxlength="60"></p>
<p>email:<input type="text" name="email" size="60" maxlength="60"></p>
<p>Køn:<select name="kon"><option value="">Vælg</option><option value="Dreng">Dreng</option><option value="Pige">Pige</option></select></p>
<input type="submit" name="send" value="Tilfoej dig">
</form>

}

//Vis medlemmer
//Laver forespørgsel i tabellen
$venner = mysql_query ("SELECT * FROM venner") or die (mysql_error());
//Udskriver de fundne data i en tabel
//Titel til tabel
print "<p>Venneliste</p>";
print "<table style=\"border: 2px solid #000000;Border-collapse:collapse;\">";
while ($row = mysql_fetch_array($venner))
print "<tr><td style=\"border: 1px dashed #000000;\">".$row["id"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["navn"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["kon"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["email"]."</td></tr>\n";
print"</table>";

?>
</body>
</html>
Avatar billede haren Nybegynder
03. april 2005 - 15:10 #28
Slette funktionen skal se sådan her ud.. ;)

//slette funktion
if(isset($_POST['slet'])) {
$id = $_POST['sletid'];
mysql_query("DELETE FROM venner WHERE id = $id");
}

og der efter skal din query se sådan her ud:
//Udskriver de fundne data i en tabel
//Titel til tabel
print "<p>Venneliste</p>";
print "<table style=\"border: 2px solid #000000;Border-collapse:collapse;\">";
while ($row = mysql_fetch_array($venner))
print "<tr><form name=\"ven-slet".$row["id"]."\" method=\"post\" action=\"$PHP_SELF\">
<td style=\"border: 1px dashed #000000;\">".$row["id"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["navn"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["kon"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["email"]."</td>
<td><input type=\"hidden\" name=\"id\" value=\"".$row["id"]."\">
<form action=\"{$PHP_SELF}\" method=\"post\"><input type=\"hidden\" name=\"sletid\" value=\"{$row["id"]}\"><input type=\"submit\" name=\"slet\" value=\"Slet\"></td></form></tr>";
print"</table>";

?>
Avatar billede haren Nybegynder
03. april 2005 - 15:12 #29
En rettelse med alt inkluderet:

<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
      <title>Venner</title>
</head>
<body>
<center>
<?php

//skaber forbindelse til databasen
mysql_connect("localhost", "bruger", "kode") or die (mysql_error());
mysql_select_db("free50947") or die (mysql_error());

//Tjekker om felterne er udfyldt

if(isset($_POST['send'])) {

if (empty($_POST['navn'])){
    echo "Fejl: Du mangler at udfylde dit navn";
} elseif (empty($_POST['email'])) {
    echo "Fejl: Du mangler at udfylde email";
} elseif (empty($_POST['kon'])) {
    echo "Fejl: Du mangler at udfylde køn";
} else {

//Indsaet indhold i databasen
mysql_query("INSERT INTO venner (id, navn, email, kon) values (0, '{$_POST['navn']}', '{$_POST['email']}', '{$_POST['kon']}')");

}

} else {

?>

<p>Tilføj en ven til vennelisten</p>
<form name="venner-tilfoej" method="post" action="<?php echo $PHP_SELF;?>">
<p>navn:<input type="text" name="navn" size="60" maxlength="60"></p>
<p>email:<input type="text" name="email" size="60" maxlength="60"></p>
<p>Køn:<select name="kon"><option value="">Vælg</option><option value="Dreng">Dreng</option><option value="Pige">Pige</option></select></p>
<input type="submit" name="send" value="Tilfoej dig">
</form>

<?php
}

//Vis medlemmer
//Laver forespørgsel i tabellen
$venner = mysql_query ("SELECT * FROM venner") or die (mysql_error());

//slette funktion
if(isset($_POST['slet'])) {
$id = $_POST['sletid'];
mysql_query("DELETE FROM venner WHERE id = $id");
}

//Udskriver de fundne data i en tabel
//Titel til tabel
print "<p>Venneliste</p>";
print "<table style=\"border: 2px solid #000000;Border-collapse:collapse;\">";
while ($row = mysql_fetch_array($venner))
print "<tr><form name=\"ven-slet".$row["id"]."\" method=\"post\" action=\"$PHP_SELF\">
<td style=\"border: 1px dashed #000000;\">".$row["id"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["navn"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["kon"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["email"]."</td>
<td><input type=\"hidden\" name=\"id\" value=\"".$row["id"]."\">
<form action=\"{$_SERVER['PHP_SELF']}\" method=\"post\"><input type=\"hidden\" name=\"sletid\" value=\"{$row["id"]}\"><input type=\"submit\" name=\"slet\" value=\"Slet\"></td></form></tr>";
print"</table>";

?>
</body>
</html>
Avatar billede -kenner- Nybegynder
03. april 2005 - 17:51 #30
- Tilføj ven funktionen virker fint ;D

Men jeg er stadig nød til at trykke to gange for at slette fra databasen.. Er det lettere at lave med chack bokse?
Avatar billede busschou Praktikant
03. april 2005 - 20:12 #31
jeg ved ikke hvilken kode du bruger lige pt??
Men vil mene du skal sørge for at linjen
---------------
//Vis medlemmer
//Laver forespørgsel i tabellen
$venner = mysql_query ("SELECT * FROM venner") or die (mysql_error());
---------------
kommer lige før
---------------
//Udskriver de fundne data i en tabel
//Titel til tabel
print "<p>Venneliste</p>";
osv
---------------
Jeg tror måske at den sletter fra databasen...men at den ikke viser det fordi $venner dannes før den sletter
jeg er ikke sikker...men forsøget værd måske at sætte linjen længere ned :o)
Avatar billede haren Nybegynder
04. april 2005 - 14:07 #32
-kenner- er du sikker på du bruger denne kode?

<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
      <title>Venner</title>
</head>
<body>
<center>
<?php

//skaber forbindelse til databasen
mysql_connect("localhost", "bruger", "kode") or die (mysql_error());
mysql_select_db("free50947") or die (mysql_error());

//Tjekker om felterne er udfyldt

if(isset($_POST['send'])) {

if (empty($_POST['navn'])){
    echo "Fejl: Du mangler at udfylde dit navn";
} elseif (empty($_POST['email'])) {
    echo "Fejl: Du mangler at udfylde email";
} elseif (empty($_POST['kon'])) {
    echo "Fejl: Du mangler at udfylde køn";
} else {

//Indsaet indhold i databasen
mysql_query("INSERT INTO venner (id, navn, email, kon) values (0, '{$_POST['navn']}', '{$_POST['email']}', '{$_POST['kon']}')");

}

} else {

?>

<p>Tilføj en ven til vennelisten</p>
<form name="venner-tilfoej" method="post" action="<?php echo $PHP_SELF;?>">
<p>navn:<input type="text" name="navn" size="60" maxlength="60"></p>
<p>email:<input type="text" name="email" size="60" maxlength="60"></p>
<p>Køn:<select name="kon"><option value="">Vælg</option><option value="Dreng">Dreng</option><option value="Pige">Pige</option></select></p>
<input type="submit" name="send" value="Tilfoej dig">
</form>

<?php
}

//Vis medlemmer
//Laver forespørgsel i tabellen
$venner = mysql_query ("SELECT * FROM venner") or die (mysql_error());

//slette funktion
if(isset($_POST['slet'])) {
$id = $_POST['sletid'];
mysql_query("DELETE FROM venner WHERE id = $id");
}

//Udskriver de fundne data i en tabel
//Titel til tabel
print "<p>Venneliste</p>";
print "<table style=\"border: 2px solid #000000;Border-collapse:collapse;\">";
while ($row = mysql_fetch_array($venner))
print "<tr><form name=\"ven-slet".$row["id"]."\" method=\"post\" action=\"$PHP_SELF\">
<td style=\"border: 1px dashed #000000;\">".$row["id"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["navn"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["kon"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["email"]."</td>
<td><input type=\"hidden\" name=\"id\" value=\"".$row["id"]."\">
<form action=\"{$_SERVER['PHP_SELF']}\" method=\"post\"><input type=\"hidden\" name=\"sletid\" value=\"{$row["id"]}\"><input type=\"submit\" name=\"slet\" value=\"Slet\"></td></form></tr>";
print"</table>";

?>
</body>
</html>
Avatar billede -kenner- Nybegynder
04. april 2005 - 17:02 #33
# haren.. Ja, men kom til at tænke på om der ikke er en form for meget i dette stykke:

//Udskriver de fundne data i en tabel
//Titel til tabel
print "<p>Venneliste</p>";
print "<table style=\"border: 2px solid #000000;Border-collapse:collapse;\">";
while ($row = mysql_fetch_array($venner))
print "<tr><form name=\"ven-slet".$row["id"]."\" method=\"post\" action=\"$PHP_SELF\">
<td style=\"border: 1px dashed #000000;\">".$row["id"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["navn"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["kon"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["email"]."</td>
<td><input type=\"hidden\" name=\"id\" value=\"".$row["id"]."\">
<form action=\"{$_SERVER['PHP_SELF']}\" method=\"post\"><input type=\"hidden\" name=\"sletid\" value=\"{$row["id"]}\"><input type=\"submit\" name=\"slet\" value=\"Slet\"></td></form></tr>";
print"</table>";
Avatar billede haren Nybegynder
05. april 2005 - 14:34 #34
-kenner- det er sletfunktionen. Kan du prøve [igen] at forklare hvad problemet er.
Sorry. Men det gør det hele lidt nemmere.. ;)

//Udskriver de fundne data i en tabel
//Titel til tabel
print "<p>Venneliste</p>";
print "<table style=\"border: 2px solid #000000;Border-collapse:collapse;\">";
while ($row = mysql_fetch_array($venner))
print "<tr><form name=\"ven-slet".$row["id"]."\" method=\"post\" action=\"$PHP_SELF\">
<td style=\"border: 1px dashed #000000;\">".$row["id"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["navn"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["kon"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["email"]."</td>
<td><input type=\"hidden\" name=\"id\" value=\"".$row["id"]."\">
<form action=\"{$_SERVER['PHP_SELF']}\" method=\"post\"><input type=\"hidden\" name=\"sletid\" value=\"{$row["id"]}\"><input type=\"submit\" name=\"slet\" value=\"Slet\"></form></td></tr>";
print"</table>";
Avatar billede -kenner- Nybegynder
06. april 2005 - 14:45 #35
Jeg ved ikke præcist hvad problemet er, men den sletter først når jeg trykker anden gang..

Så ved jeg ikke om det er fordi det kommer i den forkerte rækkefølge, eller om det er fordi der mangler en anti cache eller hvad..

Kenneth
Avatar billede haren Nybegynder
06. april 2005 - 15:32 #36
Vil de skrive en URL.

Jeg er ved at være på bar bund.. :(
Avatar billede -kenner- Nybegynder
06. april 2005 - 18:13 #37
Så lige at når man tilføjer en ny til listen, så forsvinder formularen til at tilføje flere.. Hvad går der galt?

Url: http://www.kenda.1go.dk/Kenner-php/admin/venner.php
Avatar billede busschou Praktikant
06. april 2005 - 18:40 #38
Jeg vil stadig mene det med at klikke to gange sker fordi din $venner står oven over din slette funktion
Avatar billede busschou Praktikant
06. april 2005 - 18:44 #39
Det med at listen forsvinder er fordi du har en
if(isset($_POST['send'])) {
  tjek input og skriv
else
  dan formular
....
Så fjern den else og en parantes så følgende:
---------------
} else {

?>

<p>Tilføj en ven til vennelisten</p>
<form name="venner-tilfoej" method="post" action="<?php echo $PHP_SELF;?>">
<p>navn:<input type="text" name="navn" size="60" maxlength="60"></p>
<p>email:<input type="text" name="email" size="60" maxlength="60"></p>
<p>Køn:<select name="kon"><option value="">Vælg</option><option value="Dreng">Dreng</option><option value="Pige">Pige</option></select></p>
<input type="submit" name="send" value="Tilfoej dig">
</form>

<?php
}
-------
bliver til:
-------

?>

<p>Tilføj en ven til vennelisten</p>
<form name="venner-tilfoej" method="post" action="<?php echo $PHP_SELF;?>">
<p>navn:<input type="text" name="navn" size="60" maxlength="60"></p>
<p>email:<input type="text" name="email" size="60" maxlength="60"></p>
<p>Køn:<select name="kon"><option value="">Vælg</option><option value="Dreng">Dreng</option><option value="Pige">Pige</option></select></p>
<input type="submit" name="send" value="Tilfoej dig">
</form>

<?php
Avatar billede busschou Praktikant
06. april 2005 - 18:44 #40
og der fik jeg slettet en for meget...doh..såen her.

}
?>

<p>Tilføj en ven til vennelisten</p>
<form name="venner-tilfoej" method="post" action="<?php echo $PHP_SELF;?>">
<p>navn:<input type="text" name="navn" size="60" maxlength="60"></p>
<p>email:<input type="text" name="email" size="60" maxlength="60"></p>
<p>Køn:<select name="kon"><option value="">Vælg</option><option value="Dreng">Dreng</option><option value="Pige">Pige</option></select></p>
<input type="submit" name="send" value="Tilfoej dig">
</form>

<?php
Avatar billede -kenner- Nybegynder
06. april 2005 - 22:14 #41
# busschou.. Nu virker slette funktionen perfekt, du havde ret ang. at de skulle byttes om..

Kan du ikke komme med hele koden, fo når jeg sætter det ind forsvinder tilføj formen helt..
Avatar billede busschou Praktikant
06. april 2005 - 22:16 #42
send det du har så jeg ikke sender noget forkert :o)
Avatar billede haren Nybegynder
07. april 2005 - 13:43 #43
Så lige at når man tilføjer en ny til listen, så forsvinder formularen til at tilføje flere.. Hvad går der galt?

Url: http://www.kenda.1go.dk/Kenner-php/admin/venner.php

--

Sådan lavede jeg det for at få det til at virke.
Smid koden så skal jeg ændre det. ;)
Avatar billede -kenner- Nybegynder
07. april 2005 - 16:56 #44
Sådan ser koden ud nu. Det eneste der mangler, er at tilføj formularen forsvinder, når man har tilføjet, eller fungerer alt optimalt.

Kode:

<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
      <title>Venner</title>
</head>
<body>
<center>
<?php

//skaber forbindelse til databasen
mysql_connect("chopin.1go.dk", "free50947", "m161165") or die (mysql_error());
mysql_select_db("free50947") or die (mysql_error());

//Tjekker om felterne er udfyldt

if(isset($_POST['send'])) {

if (empty($_POST['navn'])){
    echo "Fejl: Du mangler at udfylde dit navn";
} elseif (empty($_POST['email'])) {
    echo "Fejl: Du mangler at udfylde email";
} elseif (empty($_POST['kon'])) {
    echo "Fejl: Du mangler at udfylde køn";
} else {

//Indsaet indhold i databasen
mysql_query("INSERT INTO venner (id, navn, email, kon) values (0, '{$_POST['navn']}', '{$_POST['email']}', '{$_POST['kon']}')");

}

} else {

?>

<p>Tilføj en ven til vennelisten</p>
<form name="venner-tilfoej" method="post" action="<?php echo $PHP_SELF;?>">
<p>navn:<input type="text" name="navn" size="60" maxlength="60"></p>
<p>email:<input type="text" name="email" size="60" maxlength="60"></p>
<p>Køn:<select name="kon"><option value="">Vælg</option><option value="Dreng">Dreng</option><option value="Pige">Pige</option></select></p>
<input type="submit" name="send" value="Tilfoej dig">
</form>

<?php
}

//slette funktion
if(isset($_POST['slet'])) {
$id = $_POST['sletid'];
mysql_query("DELETE FROM venner WHERE id = $id");
}

//Laver forespørgsel i tabellen
$venner = mysql_query ("SELECT * FROM venner") or die (mysql_error());

//Udskriver de fundne data i en tabel
//Titel til tabel
print "<p>Venneliste</p>";
print "<table style=\"border: 2px solid #000000;Border-collapse:collapse;\">";
while ($row = mysql_fetch_array($venner))
print "<tr><form name=\"ven-slet".$row["id"]."\" method=\"post\" action=\"$PHP_SELF\">
<td style=\"border: 1px dashed #000000;\">".$row["id"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["navn"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["kon"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["email"]."</td>
<td><input type=\"hidden\" name=\"id\" value=\"".$row["id"]."\">
<form action=\"{$_SERVER['PHP_SELF']}\" method=\"post\"><input type=\"hidden\" name=\"sletid\" value=\"{$row["id"]}\"><input type=\"submit\" name=\"slet\" value=\"Slet\"></td></form></tr>";
print"</table>";

?>
</body>
</html>
Avatar billede busschou Praktikant
07. april 2005 - 18:11 #45
Sådan ser koden ud nu. Det eneste der mangler, er at tilføj formularen forsvinder, når man har tilføjet, eller fungerer alt optimalt.

Kode:

<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
      <title>Venner</title>
</head>
<body>
<center>
<?php

//skaber forbindelse til databasen
mysql_connect("chopin.1go.dk", "free50947", "m161165") or die (mysql_error());
mysql_select_db("free50947") or die (mysql_error());

//Tjekker om felterne er udfyldt

if(isset($_POST['send'])) {

  if (empty($_POST['navn'])){
    echo "Fejl: Du mangler at udfylde dit navn";
  } elseif (empty($_POST['email'])) {
    echo "Fejl: Du mangler at udfylde email";
  } elseif (empty($_POST['kon'])) {
    echo "Fejl: Du mangler at udfylde køn";
  } else {

    //Indsaet indhold i databasen
    mysql_query("INSERT INTO venner (id, navn, email, kon) values (0, '{$_POST['navn']}', '{$_POST['email']}', '{$_POST['kon']}')");
  }
}
?>

<p>Tilføj en ven til vennelisten</p>
<form name="venner-tilfoej" method="post" action="<?php echo $PHP_SELF;?>">
<p>navn:<input type="text" name="navn" size="60" maxlength="60"></p>
<p>email:<input type="text" name="email" size="60" maxlength="60"></p>
<p>Køn:<select name="kon"><option value="">Vælg</option><option value="Dreng">Dreng</option><option value="Pige">Pige</option></select></p>
<input type="submit" name="send" value="Tilfoej dig">
</form>

<?php


//slette funktion
if(isset($_POST['slet'])) {
$id = $_POST['sletid'];
mysql_query("DELETE FROM venner WHERE id = $id");
}

//Laver forespørgsel i tabellen
$venner = mysql_query ("SELECT * FROM venner") or die (mysql_error());

//Udskriver de fundne data i en tabel
//Titel til tabel
print "<p>Venneliste</p>";
print "<table style=\"border: 2px solid #000000;Border-collapse:collapse;\">";
while ($row = mysql_fetch_array($venner))
print "<tr><form name=\"ven-slet".$row["id"]."\" method=\"post\" action=\"$PHP_SELF\">
<td style=\"border: 1px dashed #000000;\">".$row["id"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["navn"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["kon"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["email"]."</td>
<td><input type=\"hidden\" name=\"id\" value=\"".$row["id"]."\">
<form action=\"{$_SERVER['PHP_SELF']}\" method=\"post\"><input type=\"hidden\" name=\"sletid\" value=\"{$row["id"]}\"><input type=\"submit\" name=\"slet\" value=\"Slet\"></td></form></tr>";
print"</table>";

?>
</body>
</html>
Avatar billede busschou Praktikant
07. april 2005 - 18:12 #46
Sådan der.. så burde formularen gerne blive der :o)
Avatar billede haren Nybegynder
08. april 2005 - 13:55 #47
Kodeordet er skrevet i indlæget.
Avatar billede haren Nybegynder
08. april 2005 - 13:57 #48
Det var godt du lige kunne ændre det sidste busschou.
Jeg plejer bare at gøre det sådan, formularen forsvinder.

Jeg havde bare ikke lige tænkt at det ikke passede her i denne sammenhæng.
Avatar billede busschou Praktikant
08. april 2005 - 15:01 #49
Tja det er jo altid afhængig af sammenhængen :o)
Avatar billede haren Nybegynder
08. april 2005 - 15:28 #50
:D
Avatar billede -kenner- Nybegynder
08. april 2005 - 19:55 #51
Tusind tak, i har hjulpet mig en del videre med php og MySQL ;D

Haren, sender du ikke lige svar, så i begge kan få point?

Tænkte på om i ikke kunne vise hvordan det skal laves, hvis det skal gøres med tjekbokse?

Mvh Kenneth
Avatar billede busschou Praktikant
09. april 2005 - 00:35 #52
Jeg gætter på det er ens køn du vil have som checkbox?
Jeg er ikke 100% på hvordan de virker. For jeg tror du kan risikere at folk klikker på både dreng og pige...og hvad gør man så
Men du kan bruge radio buttons vil jeg tro
Avatar billede -kenner- Nybegynder
09. april 2005 - 11:48 #53
Nej, det var nu i stedet for en slet knap, så kunne man tjekke dem man vil have slettet, så det er muligt at slette flere på en gang, og så have én slet knap i bunden, som sletter de tjekkede linier..
Avatar billede busschou Praktikant
09. april 2005 - 12:26 #54
Ok det kan vist godt lade sig gøre men er nok mere besværligt
For så skal du jo lave en løkke som løber alle checkbox´ene igennem og for hver som er "checked" skal du så lave en sql som sletter den pågældende id.
Jeg er ikke php haj så jeg tør ikke lave en færdig kode til dig (måske haren gør?)
Men min umiddelbare indskyldelse vil være at du skal gøre følgende:
1) Lige nu er hver submit knap en form - istedet bør hele tabellen være en form
2) Der hvor du laver hver submitknap laver du i stedet en checkbox
3) Der hvor du nu tjekker om der skal slettes skal der laves om. Du bliver nød til at løbe alle chekboxe igennem. Den eneste metode jeg kender til det er ved hjælp af HTML DOM (http://www.w3schools.com/htmldom/dom_obj_checkbox.asp) og javascript
-----
Jeg vil foreslå du beholder det som du har det af følgende årsag
Med checkbox skal du klikke på hver af dem du skal slette og en submit knap og du skal lave meget kode om
Som du har det nu skal du klikke på hver af dem du skal slette
Ergo skal du klikke en ekstra gang med checkboxe samt lave noget kode halløj ;o)
Avatar billede -kenner- Nybegynder
09. april 2005 - 12:30 #55
OKay, så holder jeg mig til den nuværende løsning, men kom til at tænke på om det kan lade sig gøre at lave tilføj formularen, så når den melder fejl bliver det man allerede har indstasete/valgt stående, så man ikke skal udfylde det igen..
Avatar billede busschou Praktikant
09. april 2005 - 12:33 #56
Så skal du på dine felter lave values
altså:
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
      <title>Venner</title>
</head>
<body>
<center>
<?php

//skaber forbindelse til databasen
mysql_connect("chopin.1go.dk", "free50947", "m161165") or die (mysql_error());
mysql_select_db("free50947") or die (mysql_error());

//Tjekker om felterne er udfyldt

if(isset($_POST['send'])) {

  if (empty($_POST['navn'])){
    echo "Fejl: Du mangler at udfylde dit navn";
  } elseif (empty($_POST['email'])) {
    echo "Fejl: Du mangler at udfylde email";
  } elseif (empty($_POST['kon'])) {
    echo "Fejl: Du mangler at udfylde køn";
  } else {

    //Indsaet indhold i databasen
    mysql_query("INSERT INTO venner (id, navn, email, kon) values (0, '{$_POST['navn']}', '{$_POST['email']}', '{$_POST['kon']}')");
  }
}
?>

<p>Tilføj en ven til vennelisten</p>
<form name="venner-tilfoej" method="post" action="<?php echo $PHP_SELF;?>">
<p>navn:<input type="text" name="navn" value="<?php echo $_POST['navn'];?>" size="60" maxlength="60"></p>
<p>email:<input type="text" name="email" value="<?php echo $_POST['email'];?> "size="60" maxlength="60"></p>
<p>Køn:<select name="kon"><option value="">Vælg</option><option value="Dreng">Dreng</option><option value="Pige">Pige</option></select></p>
<input type="submit" name="send" value="Tilfoej dig">
</form>

<?php


//slette funktion
if(isset($_POST['slet'])) {
$id = $_POST['sletid'];
mysql_query("DELETE FROM venner WHERE id = $id");
}

//Laver forespørgsel i tabellen
$venner = mysql_query ("SELECT * FROM venner") or die (mysql_error());

//Udskriver de fundne data i en tabel
//Titel til tabel
print "<p>Venneliste</p>";
print "<table style=\"border: 2px solid #000000;Border-collapse:collapse;\">";
while ($row = mysql_fetch_array($venner))
print "<tr><form name=\"ven-slet".$row["id"]."\" method=\"post\" action=\"$PHP_SELF\">
<td style=\"border: 1px dashed #000000;\">".$row["id"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["navn"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["kon"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["email"]."</td>
<td><input type=\"hidden\" name=\"id\" value=\"".$row["id"]."\">
<form action=\"{$_SERVER['PHP_SELF']}\" method=\"post\"><input type=\"hidden\" name=\"sletid\" value=\"{$row["id"]}\"><input type=\"submit\" name=\"slet\" value=\"Slet\"></td></form></tr>";
print"</table>";

?>
</body>
</html>
Avatar billede -kenner- Nybegynder
09. april 2005 - 14:23 #57
hehe, taak.. Vil gerne udvide min tabel med artoid, som er et sekscifret tal.

Prøvede med denne kode, men den tilføjer bare 127 lige meget hvad jeg skriver:

<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
      <title>Venner</title>
      <link href="../indexSheet.css" rel="stylesheet" type="text/css">
</head>
<body class="indhold">
<center>
<?php

//skaber forbindelse til databasen
mysql_connect("chopin.1go.dk", "free50947", "m161165") or die (mysql_error());
mysql_select_db("free50947") or die (mysql_error());

//Tjekker om felterne er udfyldt

if(isset($_POST['send'])) {

  if (empty($_POST['navn'])){
    echo "Fejl: Du mangler at udfylde dit navn";
  } elseif (empty($_POST['email'])) {
    echo "Fejl: Du mangler at udfylde email";
  } elseif (empty($_POST['kon'])) {
    echo "Fejl: Du mangler at udfylde køn";
  } elseif (empty($_POST['artoid'])) {
    echo "Fejl: Du mangler at udfylde Arto id";
  } else {
    //Indsaet indhold i databasen
    mysql_query("INSERT INTO venner (id, navn, email, kon, artoid) values (0, '{$_POST['navn']}', '{$_POST['email']}', '{$_POST['kon']}', {$_POST['artoid']})") or die (mysql_error());
  }
}
?>

<p>Tilføj en ven til vennelisten</p>
<form name="venner-tilfoej" method="post" action="<?php echo $PHP_SELF;?>">
<p>navn:<input type="text" name="navn" size="60" maxlength="60"></p>
<p>email:<input type="text" name="email" size="60" maxlength="60"></p>
<p>Arto id:<input type="text" name="artoid" size="60" maxlength="6"></p>
<p>Køn:<select name="kon"><option value="">Vælg</option><option value="Dreng">Dreng</option><option value="Pige">Pige</option></select></p>
<input type="submit" name="send" value="Tilfoej dig">
</form>

<?php


//slette funktion
if(isset($_POST['slet'])) {
$id = $_POST['sletid'];
mysql_query("DELETE FROM venner WHERE id = $id") or die (mysql_error());
}

//Laver forespørgsel i tabellen
$venner = mysql_query ("SELECT * FROM venner") or die (mysql_error());

//Udskriver de fundne data i en tabel
//Titel til tabel
print "<p>Venneliste</p>";
print "<table style=\"border: 2px solid #000000;Border-collapse:collapse;\"><tr><td style=\"border: 1px dashed #000000;\">ID</td>
<td style=\"border: 1px dashed #000000;\">Navn</td>
<td style=\"border: 1px dashed #000000;\">Køn</td>
<td style=\"border: 1px dashed #000000;\">Email</td>
<td style=\"border: 1px dashed #000000;\">Arto</td>
<td style=\"border: 1px dashed #000000;\">Slet</td></tr>";
while ($row = mysql_fetch_array($venner))
print "<tr><form name=\"ven-slet".$row["id"]."\" method=\"post\" action=\"$PHP_SELF\">
<td style=\"border: 1px dashed #000000;\">".$row["id"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["navn"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["kon"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["email"]."</td>
<td style=\"border: 1px dashed #000000;\">".$row["artoid"]."</td>
<td style=\"border: 1px dashed #000000;\"><input type=\"hidden\" name=\"id\" value=\"".$row["id"]."\">
<form action=\"{$_SERVER['PHP_SELF']}\" method=\"post\"><input type=\"hidden\" name=\"sletid\" value=\"{$row["id"]}\"><input type=\"submit\" name=\"slet\" value=\"Slet\"></td></form></tr>";
print"</table>";

?>
</body>
</html>
Avatar billede -kenner- Nybegynder
09. april 2005 - 14:29 #58
Hehe.. fandt lige ud af det selv, jeg skulle bruge 'int' istedet for 'tinyint'..

How, kan se du fik den forkerte kode..
Avatar billede busschou Praktikant
09. april 2005 - 14:38 #59
oki doki..ja tinyint er jo ikke så stort ;o)
Anyways så kører det da derudaf for dig :o)
Avatar billede -kenner- Nybegynder
09. april 2005 - 14:42 #60
Sådan, men ville blive rigtig glad hvis du lige kunne klare en if-sætning for mig.

Den skal skrive <a href="http://www.arto.dk/brugere/brugerinfo.asp?id=(artoid)" target="_blank">Brugere</a> i tabellen hvor der står ".$row["artoid"].", hvis der er et artoid, og eller skal den skrive "ingen bruger"

if ( {$_POST['email']} == "" ){
echo "Ingen bruger";
} else {
echo "<a href="http://www.arto.dk/brugere/brugerinfo.asp?id={$_POST['email']}">Bruger</a>";
}
Avatar billede busschou Praktikant
09. april 2005 - 14:48 #61
Hvorfor ikke bare lave en variabel
$udskriv ="";
if ( {$_POST['email']} == "" ){
$udskriv = "Ingen bruger";
} else {
$udskriv = "<a href="http://www.arto.dk/brugere/brugerinfo.asp?id={$_POST['email']}">Bruger</a>";
}
---
Så rette til
<td style=\"border: 1px dashed #000000;\">".$udskriv."</td>
Avatar billede busschou Praktikant
09. april 2005 - 14:49 #62
og så skal det vel nok være
$udskriv ="";
if ( {$_POST['email']} == "" ){
$udskriv = "Ingen bruger";
} else {
$udskriv = "<a href=\"http://www.arto.dk/brugere/brugerinfo.asp?id={$_POST['email']}\">Bruger</a>";
}
Avatar billede busschou Praktikant
09. april 2005 - 14:50 #63
og så er spørgsmålet om "funktion til at slette i mysql database" vel snart besvaret ;o) hehe
Avatar billede -kenner- Nybegynder
09. april 2005 - 15:04 #64
ja, hehe.. prøver lige koden..
Avatar billede haren Nybegynder
09. april 2005 - 15:13 #65
Svar :D
Avatar billede haren Nybegynder
09. april 2005 - 15:14 #66
#busschou -> Jeg vil mene man kan lave en løkke der løber det igennem. (Som du også nævner). Men det bliver alt alt for kompliceret til at jeg _lige_ kan lave det.

Hvis man arbejder ekstra på det er det selvfølgelig muligt.
Avatar billede haren Nybegynder
09. april 2005 - 15:17 #67
if (empty($_POST['email'])){
$udskriv = "Ingen bruger";
} else {
$udskriv = "<a href=\"http://www.arto.dk/brugere/brugerinfo.asp?id={$_POST['email']}\">Bruger</a>";
}

Kan det bare se ud.. ;)
Avatar billede -kenner- Nybegynder
09. april 2005 - 15:23 #68
Denne funktion skal skrive "Ingen bruger" hvis artoid er = 0 eller tom. Det skal den gøre ud fra de oplysninger den finder i tabellen venner i kolonnen artoid, så jeg er lidt forvirret over at i bruger $_post..
Avatar billede busschou Praktikant
09. april 2005 - 15:30 #69
fordi du skrev det 14:42:57 ?
Avatar billede haren Nybegynder
09. april 2005 - 16:02 #70
-kenner- => Jeg ændrede bare fra det busschou skrev.
Avatar billede haren Nybegynder
09. april 2005 - 16:04 #71
if (empty($row["artoid"])){
$udskriv = "Ingen bruger";
} else {
$udskriv = "<a href=\"http://www.arto.dk/brugere/brugerinfo.asp?id={$row["artoid"]}\">Bruger</a>";
}

--

- og som busschou sagde før:
og så er spørgsmålet om "funktion til at slette i mysql database" vel snart besvaret ;o) hehe
Avatar billede -kenner- Nybegynder
09. april 2005 - 16:39 #72
Den skriver hverken "Ingen bruger" eller "Bruger".

Kode:
<HTML>

    <HEAD>
    <TITLE> Kenner's Profil - Venner</TITLE>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link href="indexSheet.css" rel="stylesheet" type="text/css">
</HEAD>

    <BODY>

<table Style="width:100%;">
    <tr><td class="overskrift">Venner</td></tr>
    <tr><td>
<?php
//skaber forbindelse til databasen
mysql_connect("localhost", "bruger", "kode") or die (mysql_error());
mysql_select_db("database") or die (mysql_error());
//Laver forespørgsel i tabellen
$venner = mysql_query ("SELECT * FROM venner") or die (mysql_error());

//Tjekker om Arto id er tom eller 0
if (empty($row["artoid"])){
$Arto = "Ingen bruger";
} else if ($row["artoid"] == 0){
$Arto = "Ingen bruger";
} else {
$Arto = "<a href=\"http://www.arto.dk/brugere/brugerinfo.asp?id={$row["artoid"]}\">Bruger</a>";
}

//Udskriver venneliste i tabel
print "<table class=\"venner-tabel\">";
print "<tr class=\"fed-tekst\"><td>Navn</td><td>Køn</td><td>Email</td><td>Arto</td></tr>";
while ($row = mysql_fetch_array($venner))
print "<tr class=\"tekst\">
\t<td>".$row["navn"]."</td></td>
\t<td>".$row["kon"]."</td></td>
\t<td>".$row["email"]."</td></td>
\t<td>".$Artoid."</td>\n</tr>\n";
print"\n</table>";
?>
</td></tr>
</table>

    </BODY>

</HTML>
Avatar billede busschou Praktikant
09. april 2005 - 16:41 #73
\t<td>".$Artoid."</td>\n</tr>\n";
skal vel være
\t<td>".$Arto."</td>\n</tr>\n";
??
Eller hvor vil du have det stående henne?
Avatar billede -kenner- Nybegynder
09. april 2005 - 16:44 #74
Fandt selv fejlen: jeg kaldte $Artoid i stedet for $Arto, som jeg havde kaldt variablen.

Men nu skriver den Inden bruger helevejen ned, selv om at nogen af dem har et gyldigt artoid..
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