/ 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
explode probs
Fra : Mikkel Andreasen


Dato : 21-08-03 23:18

Hej

Jeg har en form der submitter følgende:
$adresser= "
firmanavn1,gade1,nummer1,by1
firmanavn2,gade2,nummer2,by2
"

Jeg vil så meget gerne have det ind på formen
firma[] = firmanavn1, firmanavn2
gade[] = gade1, gade2
osv.

Hvorledes gør jeg dette?
Med:

list($firma,$gade,$num,$by) = explode(",", $adresser);

får jeg kun

$firma = firmanavn1
$gade = gade1
osv.

--
Mvh / Regards

Mikkel Andreasen
Web: http://www.mema.dk
Mail: mema@mema.dk
Tlf: +45 98 15 65 45
Mobil: +45 28 14 05 63



 
 
Henrik Hedegaard (21-08-2003)
Kommentar
Fra : Henrik Hedegaard


Dato : 21-08-03 23:48

"Mikkel Andreasen" <news@mikkel-andreasen.com> wrote in message
news:3f454517$0$5136$edfadb0f@dread11.news.tele.dk...
> Hej
>
> Jeg har en form der submitter følgende:
> $adresser= "
> firmanavn1,gade1,nummer1,by1
> firmanavn2,gade2,nummer2,by2
> "
>
> Jeg vil så meget gerne have det ind på formen
> firma[] = firmanavn1, firmanavn2
> gade[] = gade1, gade2
> osv.

> Hvorledes gør jeg dette?
> Med:

opret dine arrays:

$firma = array();
$gader = array();

brug dit explode:

$result = explode(",", $adresser);

og tilføj til dine arrays:

array_push($firma, $result[0]);

Det kan så gøre ved at løbe alle linier postede igennem (såfremt de kommer i
en textarea form og ikke textfields)


/henrik


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.512 / Virus Database: 309 - Release Date: 20-08-2003



Mikkel Andreasen (22-08-2003)
Kommentar
Fra : Mikkel Andreasen


Dato : 22-08-03 00:11

"Henrik Hedegaard" <adonis@daimi.au.dk> skrev i en meddelelse
news:d_b1b.52850$Kb2.2451334@news010.worldonline.dk...

> > Med:
>
> opret dine arrays:
>
> $firma = array();
> $gader = array();
>
> brug dit explode:
>
> $result = explode(",", $adresser);
>
> og tilføj til dine arrays:
>
> array_push($firma, $result[0]);
>
> Det kan så gøre ved at løbe alle linier postede igennem (såfremt de kommer
i
> en textarea form og ikke textfields)

Jeg er ikke sikker på jeg er helt med.

$result bliver jo et stort array. Bliver jeg så nødt til først at finde
størrelsen og derefter lave en løkke der pusher?

Noget ala

for ($i = 0; $i>count($result)) {
array_push($firma, $result[$i]);
$i++;
array_push($gade, $result[$i]);
$i++;
array_push($num, $result[$i]);
$i++;
array_push($by, $result[$i]);
$i++;
}

Mikkel



Martin Sveegaard (22-08-2003)
Kommentar
Fra : Martin Sveegaard


Dato : 22-08-03 02:20

On Fri, 22 Aug 2003 00:18:07 +0200, "Mikkel Andreasen"
<news@mikkel-andreasen.com> wrote:

>Hej
>
>Jeg har en form der submitter følgende:
>$adresser= "
>firmanavn1,gade1,nummer1,by1
>firmanavn2,gade2,nummer2,by2
>"
>
>Jeg vil så meget gerne have det ind på formen
>firma[] = firmanavn1, firmanavn2
>gade[] = gade1, gade2
>osv.
>
>Hvorledes gør jeg dette?
>Med:
>
>list($firma,$gade,$num,$by) = explode(",", $adresser);
>
>får jeg kun
>
>$firma = firmanavn1
>$gade = gade1
>osv.

Du kan lave din form i den her stil:

<form action="modtag.php" method="post">
<?
for ($i=0;$i<2;$i++) {
echo "Firma: $i<br />";
?>
Firma:<input name="firma[]" type="text" /><br />
Gade:<input name="gade[]" type="text" /><br />
Nr.:<input name="nr[]" type="text" /><br />
By:<input name="by[]" type="text" /><br />
<br />
<?
}
?>
<input name="" type="submit">
</form>

og modtag.php:

<?
$firma = isset($_POST['firma']) ? $_POST['firma'] : "";
$gade = isset($_POST['gade']) ? $_POST['gade'] : "";
// osv...

for ($i=0;$i<2;$i++) {
   echo "<br />Firma nr.: $i<br />";
   echo "Navn = $firma[$i]<br />";
   echo "Gade = $gade[$i]<br />";
   // osv..
}
?>
--
Med Venlig Hilsen
c",) Martin S

Jonas Jalling (22-08-2003)
Kommentar
Fra : Jonas Jalling


Dato : 22-08-03 14:53

Mikkel Andreasen wrote:
> Hej
>
> Jeg har en form der submitter følgende:
> $adresser= "
> firmanavn1,gade1,nummer1,by1
> firmanavn2,gade2,nummer2,by2
> "
>
> Jeg vil så meget gerne have det ind på formen
> firma[] = firmanavn1, firmanavn2
> gade[] = gade1, gade2
> osv.
>
> Hvorledes gør jeg dette?
> Med:
>
> list($firma,$gade,$num,$by) = explode(",", $adresser);
>
> får jeg kun
>
> $firma = firmanavn1
> $gade = gade1
> osv.

Hej Mikkel,

Hvad hvis du i stedet skriver:
list ($firma[], $gade[], $num[], $by[]) = explode ('', '', $adresser);

--
Med venlig hilsen
Jonas Jalling



Rasmus Hansen (23-08-2003)
Kommentar
Fra : Rasmus Hansen


Dato : 23-08-03 17:31

Mikkel Andreasen wrote:

> Hej
>
> Jeg har en form der submitter følgende:
> $adresser= "
> firmanavn1,gade1,nummer1,by1
> firmanavn2,gade2,nummer2,by2
> "
>
> Jeg vil så meget gerne have det ind på formen
> firma[] = firmanavn1, firmanavn2
> gade[] = gade1, gade2
> osv.
>
> Hvorledes gør jeg dette?
> Med:
>
> list($firma,$gade,$num,$by) = explode(",", $adresser);
>
> får jeg kun
>
> $firma = firmanavn1
> $gade = gade1
> osv.
>

Hvis jeg forstår dig ret så har du i din variabel $adresser en lang
string hvor hver linje er kommasepareret.

Så kan du bruge

$firma=array();
$gade=array();
$nummer=array();
$by=array();

//Opdeler strengen i chunks af en linje hver
$lines=explode("\n",$adresser);

// For hver linje deler den op i firma, by osv.
foreach($lines as $line) {
   $felter=explode(",",$line);
   $firma[]=$felter[0];
   $gade[]=$felter[1];
   osv;   
}

Håber det kan bruges.

Mvh
Rasmus Hansen


Mikkel Andreasen (26-08-2003)
Kommentar
Fra : Mikkel Andreasen


Dato : 26-08-03 07:15

Jeg takker mange gange for alle svarene...


--
Mvh / Regards

Mikkel Andreasen



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

Månedens bedste
Årets bedste
Sidste års bedste