Avatar billede shjorth Nybegynder
31. januar 2008 - 08:20 Der er 12 kommentarer og
1 løsning

MySQL insert

Hejsa.

Jeg har forsøgt at lave en "redigerings" funktion, som følger:
print("<form action="opdt.php" method="post">");
while($row = mysql_fetch_array($q)) {
print("<input type="text" name="ud_$row[id]" value="$row[navn]">");

print("<input type="text" name="ud_b_$row[id]" value="$row[belob]">");
}
print("<input type="submit" value="Rediger">");

Mit problem er at jeg er lidt på bar bund med hensyn til hvad jeg skal skrive af kode i opdt.php når navnene i de forskellige felter er ukendte.

Håber der er nogen der kan hjælpe.
Mange tak
Avatar billede showsource Seniormester
31. januar 2008 - 08:34 #1
Du kan bruge []
name="navn[". $row["id"] ."]" value="". $row["navn"] ."">
name="penge[". $row["id"] ."]" value="". $row["belob"] ."">

Så har du et array at lege med
Avatar billede shjorth Nybegynder
31. januar 2008 - 08:42 #2
Hmm. Men selve delen med mysql_query("UPDATE...... hvordan skal jeg udføre den?
Altså hele opdt.php - der er jeg helt blank
Avatar billede shjorth Nybegynder
31. januar 2008 - 08:43 #3
Hvordan skal jeg udnytte det array ? ;)
Avatar billede showsource Seniormester
31. januar 2008 - 08:47 #4
foreach($_POST["navn"] as $key => $value) {

$sql = "UPDATE tabel SET navn = '". $value ."', belob = '". $_POST["belob"][$key] ."' WHERE id = ". $key;

echo $sql ."<br>";

}
Avatar billede showsource Seniormester
31. januar 2008 - 08:48 #5
utestet :O)
Avatar billede shjorth Nybegynder
31. januar 2008 - 08:49 #6
Kunne jeg lokke dig til at give mig en kort forklaring af det ? Det virker sikkert fortræffeligt, men jeg er lidt i tvivl om de forskellige variabler :)
Avatar billede showsource Seniormester
31. januar 2008 - 09:11 #7
Fordi du bruger [] efter navnet, bliver det til et array

foreach($_POST["navn"] as $key => $value)
henter "key" med tilhørende "value" fra arrayet $_POST["navn"]

Og da $_POST["belob"] har samme "key-reference" som $_POST["navn"], kan belob sættes ud fra "key"

Det row som opdateres, er det row som har samme værdi som "key"
Avatar billede shjorth Nybegynder
31. januar 2008 - 15:56 #8
Nu har jeg forsøgt at gøre som du skrev.. Men det samme sker -> Den fjerner alle inputs :S
Kan der være fejl i det du skrev?
Avatar billede shjorth Nybegynder
31. januar 2008 - 15:59 #9
while($eow = mysql_fetch_array($b)) {
print("<input type='text' name='ud_[".$eow['id']."]' value='".$eow['ud_a']."'><input type='text' name='ud_b_[".$eow['id']."]' value='".$eow['ud_b']."'>");
}

Det er edit formen. Her er insert:

foreach($_POST["ud_"] as $key => $value) {

mysql_query("UPDATE tabel SET ud_a = '".$value."', ud_b = '".$_POST['ud_b'][$key]."' WHERE id = '".$key."'")or die(mysql_error());

}

Den reseter bare lortet :S
Avatar billede shjorth Nybegynder
31. januar 2008 - 16:08 #10
Jeg takker for hjælpen.
Jeg har oprettet et nyt spørgsmål her: http://www.eksperten.dk/spm/817442
Points er dine
Avatar billede shjorth Nybegynder
31. januar 2008 - 16:15 #11
Jeg fandt sku ud af det.. Det virkede fantastisk, så tusinde tak..
Ligger du et svar
Avatar billede showsource Seniormester
01. februar 2008 - 13:07 #12
Ingen point, ellers tak
Avatar billede shjorth Nybegynder
12. juni 2010 - 20:56 #13
Lukker her
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

IT-JOB