|
| 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)
| |
|
|