[PHP] Array inhoud naar 1 string

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • inTIMidate
  • Registratie: September 2001
  • Laatst online: 20:29
Ik haal een aantal gegevens uit een database, deze gegevens wil ik gaan mailen.
De gegevens moeten dus in een variable komen te staan, deze variable is de body van het email bericht.
PHP:
1
2
3
4
while ($row = mysql_fetch_object($result)) { 
    $i++;
    $besteld[$i] = "$row->aantal x $row->itemnaam á $productprijs<br>";
}


Zoals je ziet heb ik dus een array met de gegevens, deze verschillen per keer en per aantal.
Alle gegevens van de array moeten in één string. Omdat de de array dus steeds een ander aantal gegevens bevat weet ik niet hoe ik deze allemaal in een string zet. Heeft iemand soms een oplossingen? :?

Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

foreach

oftewel:
PHP:
1
2
$output = '';
foreach($besteld as $line) $output .= $line;

of, nog beter:
implode
PHP:
1
$output = implode(' ', $besteld);

of, nog makkelijker:
PHP:
1
2
3
4
5
6
<?
while ($row = mysql_fetch_object($result)) {
    $i++;
    $besteld .= $row->aantal.' x '.$row->itemnaam.' &aacute; '.$productprijs.'<br />';
}
?> 

[ Voor 136% gewijzigd door Spider.007 op 05-03-2004 13:55 ]

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Acties:
  • 0 Henk 'm!

  • X-Lars
  • Registratie: Januari 2004
  • Niet online

X-Lars

Just GoT it.

Dit is al beter:
PHP:
1
$besteld[$i] = $row->aantal." x ".$row->itemnaam." &aacute; ".$productprijs."<br>";

Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

X-Lars schreef op 05 maart 2004 @ 13:50:
Dit is al beter:
PHP:
1
$besteld[$i] = $row->aantal." x ".$row->itemnaam." &aacute; ".$productprijs."<br>";
Maak er dan meteen single quote van; dan hoeft de compiler niet om te schakelen; en dat scheelt weer milliseconden ;)

PHP:
1
$besteld[$i] = $row->aantal.' x '.$row->itemnaam.' &aacute; '.$productprijs.'<br />';

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Acties:
  • 0 Henk 'm!

Verwijderd

Waarom met een array?

PHP:
1
2
3
4
5
6
$body = 'intro tekstje<br><br>';
while ($row = mysql_fetch_object($result)) {
    $body[] = $row->aantal.' x '.$row->itemnaam.' á '.$productprijs."<br>";
}
// de $body string is nu aangevuld met alle bestellingen
?>


is denk ik sneller naar het einddoel.

[ Voor 17% gewijzigd door Verwijderd op 05-03-2004 13:58 ]


Acties:
  • 0 Henk 'm!

  • inTIMidate
  • Registratie: September 2001
  • Laatst online: 20:29
Bedankt heren :> Ik kan ze weer verder :).

In een array zetten hoeft inderdaad niet, het leek mij de beste oplossing .

Acties:
  • 0 Henk 'm!

  • X-Lars
  • Registratie: Januari 2004
  • Niet online

X-Lars

Just GoT it.

offtopic:
@Spider.007: Ik zie heel vaak dat de één single quote en de ander double quote. Zelf ben ik gewend om te double quoten (zoals in mijn post hierboven), maar bij arrays niet, zoals in array['var']. Waar ik de gewoonte vandaan gehaald heb weet ik niet, maar het bevalt prima. Kun jij me (naast onderstaande) dan uitleggen hoe het zit met het "omschakelen van de compiler"?

Op php.net staat
[quote]If the string is enclosed in double-quotes ("), PHP understands more escape sequences for special characters: [...] [/quote]

Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Verwijderd schreef op 05 maart 2004 @ 13:57:
Waarom met een array?

PHP:
1
2
3
4
5
6
$body = 'intro tekstje<br><br>';
while ($row = mysql_fetch_object($result)) {
    $body[] = $row->aantal.' x '.$row->itemnaam.' á '.$productprijs."<br>";
}
// de $body string is nu aangevuld met alle bestellingen
?>


is denk ik sneller naar het einddoel.
Volgens mij maak je nu wederom een array aan. Kijk even naar mijn post, strings aan elkaar plakken doe je met
PHP:
1
$s .= 'a';
:)
X-Lars schreef op 05 maart 2004 @ 14:03:
offtopic:
@Spider.007: Ik zie heel vaak dat de één single quote en de ander double quote. Zelf ben ik gewend om te double quoten (zoals in mijn post hierboven), maar bij arrays niet, zoals in array['var']. Waar ik de gewoonte vandaan gehaald heb weet ik niet, maar het bevalt prima. Kun jij me (naast onderstaande) dan uitleggen hoe het zit met het "omschakelen van de compiler"?

Op php.net staat
[quote]If the string is enclosed in double-quotes ("), PHP understands more escape sequences for special characters: [...] [/quote]
Ik ben zelf aan het omschakelen dubbele naar enkele quotes; zie ook dit artikel :)

[ Voor 35% gewijzigd door Spider.007 op 05-03-2004 14:28 ]

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate

Pagina: 1