//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>";
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
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"
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)
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"; }
//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>";
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"); }
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?
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>
//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>";
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"); }
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
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>";
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)
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"); }
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>";
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)
<!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']}')");
<!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']}')");
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)
<!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']}')");
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 {
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']}')");
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']}')"); } } ?>
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
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..
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)
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..
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']}')"); } } ?>
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()); } } ?>
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"
#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.
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..
<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());
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..
Synes godt om
Ny brugerNybegynder
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.