/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Masse af form felter skal puttes i en MYSQ~
Fra : Allan Madsen


Dato : 05-07-04 00:59

Hejsa

Jeg har en masse form felter med samme navn, hvordan får jeg næmest puttet
dem i en mysql db.

Jeg kender ikke numret af form felter, da der sagtens kan komme flere med
tiden, nogle med et godt bud?


*S*

--
Med Venlig Hilsen
Allan Madsen



 
 
Johan Holst Nielsen (05-07-2004)
Kommentar
Fra : Johan Holst Nielsen


Dato : 05-07-04 18:59

Allan Madsen wrote:
> Hejsa
>
> Jeg har en masse form felter med samme navn, hvordan får jeg næmest puttet
> dem i en mysql db.
>
> Jeg kender ikke numret af form felter, da der sagtens kan komme flere med
> tiden, nogle med et godt bud?

Det nemmeste ville være at lave felterne som et array... f.eks.

<form action="submit_siden.php" method="post">

Felt1: <input type="text" value="" name="content[]"><br>
Felt2: <input type="text" value="" name="content[]"><br>
Felt3: <input type="text" value="" name="content[]"><br>
Felt4: <input type="text" value="" name="content[]"><br>
<input type="submit">
</form>

på submit_siden.php får du så et array der hedder $_POST['content'];

Hvis du vil indsætte den manuelt kan du lave noget ala
<?php
...
...
foreach($_POST['content'] as $c) {
$query = "INSERT INTO tabel (felt) VALUES ('".$c."')";
mysql_query($query);
}
...
...
?>

Eventuelt kan du lave noget smartere f.eks.
$query = "INSERT INTO tabel (felt) VALUES
('".implode("'),('",$_POST['content'])."')";

mvh
Johan

Christian Joergensen (06-07-2004)
Kommentar
Fra : Christian Joergensen


Dato : 06-07-04 12:26

On Mon, 05 Jul 2004 19:58:45 +0200, Johan Holst Nielsen wrote:
[snip - et par løsninger]

Man bør lige huske, med mindre man bruger noget "magic quotes"-hejs, at
køre en addslashes før du smider tingene i databasen:

   array_map('addslashes', $_POST['content']);

--
Christian Jørgensen
http://www.razor.dk

Få kontrol over dine nyhedsbreve: <http://www.ebrev.info>


Johan Holst Nielsen (06-07-2004)
Kommentar
Fra : Johan Holst Nielsen


Dato : 06-07-04 13:23

Christian Joergensen wrote:
> On Mon, 05 Jul 2004 19:58:45 +0200, Johan Holst Nielsen wrote:
> [snip - et par løsninger]
>
> Man bør lige huske, med mindre man bruger noget "magic quotes"-hejs, at
> køre en addslashes før du smider tingene i databasen:
>
>    array_map('addslashes', $_POST['content']);

Jah - selvfølgelig skal der validering osv :) Men det skriver jeg aldrig
når jeg laver forslag i sanne grupper her :) Det ville være spild af tid ;)

mvh
Johan

Peter Brodersen (06-07-2004)
Kommentar
Fra : Peter Brodersen


Dato : 06-07-04 13:39

On Tue, 06 Jul 2004 14:23:23 +0200, Johan Holst Nielsen
<phpgeek@gmail.com> wrote:

>>    array_map('addslashes', $_POST['content']);
>Jah - selvfølgelig skal der validering osv :) Men det skriver jeg aldrig
>når jeg laver forslag i sanne grupper her :) Det ville være spild af tid ;)

Jeg har det på samme måde - der er altid omstændigheder. Fx hvis
array'et er tomt (så vil foreach fejle), eller hvis man har
flerdimensionelle arrays (idet array_map ikke er rekursiv), etc.

--
- Peter Brodersen

Ugens sprogtip: én (og ikke een)

Jacob Atzen (06-07-2004)
Kommentar
Fra : Jacob Atzen


Dato : 06-07-04 16:02

Peter Brodersen <usenet@ter.dk> writes:

> Fx hvis array'et er tomt (så vil foreach fejle)

Foreach fejler kun, hvis man forsøger at bruge konstruktionen på
noget, der ikke er et array. Følgende virker fint:

foreach(array() as $value) {}

Så det kan godt betale sig, at holde "array-variable" og
"ikke-array-variable" stærkt adskilt.

--
Med venlig hilsen
- Jacob Atzen

Peter Brodersen (06-07-2004)
Kommentar
Fra : Peter Brodersen


Dato : 06-07-04 16:08

On 06 Jul 2004 17:02:07 +0200, Jacob Atzen <jacob@aub.dk> wrote:

>> Fx hvis array'et er tomt (så vil foreach fejle)
>
>Foreach fejler kun, hvis man forsøger at bruge konstruktionen på
>noget, der ikke er et array.

Jeg fik set lidt forkert, og lagde ikke mærke til at det var
input-felter, der selvfølgelig altid vil blive submittet med. Af en
eller anden grund antog jeg, at det var checkbokse eller
select-options, hvor der var risiko for ved ingen valgte, at ingen
content[]-værdi blev sendt med (og at $_POST['content'] derfor ikke
blev oprettet som array i første omgang) - beklager.

--
- Peter Brodersen

Ugens sprogtip: én (og ikke een)

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste