Hej
Jeg har problemer at gemme data i en eksisterende mySQL.
Jeg har lavet en side som slutter med at man trykker på Submit. Når dette gøres oprettes der en linje i mySQL med de korrekte data (her er stadig tomme felter uden værdi).
På næste side ønsker jeg at kunne trykke på Submit igen og der skal lagres flere data i samme ”linje” i mySQL.
Når jeg trykker på Submit-knappen på side 2, laver den en ny linje hvor brugernavnet er blank.
Se evt. min side her: http://www.hvoribyen.dk/em
Har gennemset alle videoerne men synes ikke at der er noget der beskriver dette. Jeg ønsker jo ikke at rette noget tidligere indtastet.
Ønsker heller ikke at brugeren skal indtaste sit brugernavn igen.
Venlig hilsen
Peter
Lagre nye data i eksisterende linje
-
- Entusiast
- Indlæg:32
- Tilmeldt:22. feb 2012, 19:28
- Geografisk sted:Danmark
- Kontakt:
Re: Lagre nye data i eksisterende linje
Hvordan ser din php kode ud på din anden side? - Det er lidt svært at hjælpe når vi ikke kan se din kode...
Husk at du skal bruger "INSERT WHERE" til at indsætte i samme række som brugeren før...
Husk at du skal bruger "INSERT WHERE" til at indsætte i samme række som brugeren før...
-
- Entusiast
- Indlæg:32
- Tilmeldt:22. feb 2012, 19:28
- Geografisk sted:Danmark
- Kontakt:
Re: Lagre nye data i eksisterende linje
Selvfølgelig. Jeg var i tvivl om, om det var nødvendigt.
PHP side 1:
PHP side 2:
Men det er som om at den ikke kan 'huske' $navn, da den værdi jo kun indtastes på første side. så opretter den bare en ny linje i mySQL hvor navn er blank.
Venlig hilsen
Peter
(Håber at det er forståeligt)
PHP side 1:
Kode: Vælg alt
[color=#FF0000]$data = mysql_query("SELECT * FROM embud WHERE navn='$navn'") or die(mysql_error());[/color]
PHP side 2:
Kode: Vælg alt
[color=#FF0000]if (isset ($_POST['update'])) {
$navn = $_POST['navn'];
$email = $_POST['email'];
$kvartfinaleet = $_POST['kvartfinaleet'];
$kvartfinaleto = $_POST['kvartfinaleto'];
$kvartfinaletre = $_POST['kvartfinaletre'];
$kvartfinalefire = $_POST['kvartfinalefire'];
$semifinaleet = $_POST['semifinaleet'];
$semifinaleto = $_POST['semifinaleto'];
$finalevinder = $_POST['finalevinder'];
$tabeldatato = "INSERT INTO embud (kvartfinaleet, kvartfinaleto, kvartfinaletre, kvartfinalefire, semifinaleet, semifinaleto, finalevinder) VALUES
('$kvartfinaleet','$kvartfinaleto','$kvartfinaletre','$kvartfinalefire','$semifinaleet','$semifinaleto','$finalevinder')";
// $tabeldatato = "UPDATE embud SET kvartfinaleet = '$kvartfinaleet' WHERE navn ='$navn'"; <----- Har forsøgt med dette, men virkede ikke
$resultatto = mysql_query($tabeldatato);
if($resultatto) {
echo "Dit bud er blev registreret <br/>";
}
else {
echo "Fejl";
}
}
else {
echo "Du trykkede ikke på næste";
}
// --------------- Vis data -----------------------------------------------------------------
$data = mysql_query("SELECT * FROM embud WHERE navn='$navn'") or die(mysql_error()); /* Vælg alle data fra tabel */
while ($info = mysql_fetch_array($data))
{
echo "Navn: " . $info['navn'] . "<br/>";
echo "E-Mail: " . $info['email']. "<br/><br/>";
}
//mysql_close();
?> [/color]
Venlig hilsen
Peter
(Håber at det er forståeligt)
- Daniel
- Admin
- Indlæg:625
- Tilmeldt:14. jun 2011, 09:27
- Geografisk sted:Danmark, Fyn, Nørre Aaby
- Kontakt:
Re: Lagre nye data i eksisterende linje
Husk lige en anden gang når du skriver kode at sætte det mellem , gør det lidt mere overskueligt.
Kode: Vælg alt
Re: Lagre nye data i eksisterende linje
Du kan ikke bruge den samme POST variable på en ny php side. Hvis du ikke har en form som sender navnet til din 2. php side så er det klart at din navne variabel er tom...
Hvis du vil bruge det samme navn på den næste side kan du indsætte den i din form automatisk via php:
Dette forudsætter self at man i formen forinden har intastet i feltet "navn" og at det så bliver sendt videre til den næste side i en POST variabel
På den her måde vil den 2. form på din 1. php side sende navnet fra den første form videre til den 2. php side...
Hvis du vil bruge det samme navn på den næste side kan du indsætte den i din form automatisk via php:
Kode: Vælg alt
<input type="text" name="navn" value="<?php echo '$_POST['navn']'; ?>" />
På den her måde vil den 2. form på din 1. php side sende navnet fra den første form videre til den 2. php side...