string maken uit een array

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Arie Kant

Arie Kant

21/06/2012 15:37:44
Quote Anchor link
Hallo,

Ik loop even tegen een vraagje op.

In de tabel zit een kolom postcode met b.v. de waarde "3262", "3036", "2011" en "3555".

Nu moet ik deze waarde in een variabele stoppen, gescheiden door een komma, dus moet de variabele er zo uit komen zien : $postcodes = "3262,3036,2011,3555".

Om dit te maken dacht ik de waarden eerst in een array te zetten en dan deze array in een variabele te plaatsen.

De aaray ziet er dan als volgt uit :

$query = mysql_query("SELECT postcode FROM tabel") or die(mysql_error());
while ($row = mysql_fetch_array($query, MYSQL_BOTH)) {
echo "" . $row['postcode'] . ",";
}

Hiermee krijg ik het gewenste resultaat op het scherm n.l. "3262,3036,2011,3555".

Maar hoe kan ik hier nu i.p.v. een echo een variabele van maken?

Alvast bedankt voor het meedenken!

Groeten,

Arie
 
PHP hulp

PHP hulp

14/11/2024 07:40:35
 
Wouter J

Wouter J

21/06/2012 15:53:16
Quote Anchor link
Om dit op te slaan in een variabele gebruik je de . operator op dezelfde manier als hoe je hem nu gebruikt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$postcodes
= array(3262, 3036, 2011, 3555);
$postcode = ''; // definieer onze var

foreach ($postcodes as $pc) {
    $postcode = $postcode.$pc.',';
}

?>

En $postcode = $postcode.'foo' kun je korter schrijven als $postcode .= 'foo'. Dus:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$postcodes
= array(3262, 3036, 2011, 3555);
$postcode = ''; // definieer onze var

foreach ($postcodes as $pc) {
    $postcode .= $pc.',';
}

?>


Maar dit alles was gewoon even om je wat kennis bij te brengen. Want wat jij wilt moet je met de functie implode doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$postcodes
= array(3262, 3036, 2011, 3555);
$postcode = implode(',', $postcodes; // voeg een , tussen elk item

echo $postcode; // "3262,3036,2011,3555"
?>
 
Arie Kant

Arie Kant

21/06/2012 16:04:04
Quote Anchor link
Hoi Wouter,

Bedankt voor je reactie !

Hoe ik dit voor elkaar krijg met een array en deze met een echo tonen maar hoe kan ik dan het beste deze array krijgen?

Daar bedoel ik dus mee dat jij nu hardcoded schrijft : array(3262, 3036, 2011, 3555);
maar hoe kan ik dan doen vanuit een tabel?

Groeten,

Arie
 
Gerhard l

gerhard l

21/06/2012 16:17:15
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?
# array defineren
$aArray = array();
$query = mysql_query("SELECT postcode FROM tabel");
# or die is niet de juiste afhandeling
if($query !== false){
    while ($row = mysql_fetch_array($query, MYSQL_BOTH)) {
        $aArray[] = $row['postcode'];
    }
}


# Nu zit in aArray de postcodes, en jij weet nu hoe je die moet weergeven
?>
Gewijzigd op 21/06/2012 16:17:36 door gerhard l
 
Arie Kant

Arie Kant

21/06/2012 16:38:28
Quote Anchor link
pffffffffffff, het zal vast aan mij liggen maar begrijpen doe ik het nog niet helemaal ......... :-(

Jij hebt het over $aArray[] maar ik moet toch gewoon een string hebben?

Even nog voor de duidelijkheid, ik heb diverse waarden in een tabel zitten en wil deze waarden gewoon achter elkaar, gescheiden door een komma, in een variabele string hebben. Dus ik wil geen array of een echo hebben maar de waarden uit de tabel in een variabele string welke ik buiten de while lus kan gebruiken.

Groeten,

Arie
 
Q S

Q S

21/06/2012 17:05:07
Quote Anchor link
Dan denk ik dat je dit bedoeld
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$string
= "";
query = mysql_query("SELECT postcode FROM tabel");
if($query !== false){
    while ($row = mysql_fetch_array($query, MYSQL_BOTH)) {
        $string .= $row['postcode'].',';
    }
}

?>
 
Wouter J

Wouter J

21/06/2012 17:09:19
Quote Anchor link
En ik denk dat ik dat al heb uitgelegd...
 
Q S

Q S

21/06/2012 17:10:28
Quote Anchor link
@Wouter dat week ik wel zeker
 
Eddy E

Eddy E

21/06/2012 18:11:28
Quote Anchor link
Wat een moeilijk gedoe.

Ooit gehoord van implode()?

Gebruik $string = implode(",", $array); en je hebt wat je wilt.

Zie ik nu net dat WouterJ dat onderaan zijn bericht ook al zegt.
Gewijzigd op 21/06/2012 18:12:28 door Eddy E
 
Wouter J

Wouter J

21/06/2012 18:11:58
Quote Anchor link
Eddy en ook dat heb ik uitgelegd...
 
Obelix Idefix

Obelix Idefix

21/06/2012 20:22:29
Quote Anchor link
Arie Kant op 21/06/2012 16:38:28:
Dus ik wil geen array of een echo hebben maar de waarden uit de tabel in een variabele string welke ik buiten de while lus kan gebruiken.

Je begint zelf over een array in de titel van je topic en in je post van 21/06/2012 15:37:44 ;-)

Arie Kant op 21/06/2012 15:37:44:
In de tabel zit een kolom postcode met b.v. de waarde "3262", "3036", "2011" en "3555".

Hoe staan de gegevens in je tabel, dat wordt mij nog niet duidelijk. Heb je een veld met meerdere postcodes of is er 1 postcode per keer.
Staan ze tussen " en staat het woordje 'en' er ook daadwerkelijk?
 
Arie Kant

Arie Kant

22/06/2012 11:21:39
Quote Anchor link
Iedereen bedankt voor het meedenken .............. ;-)

Ik was inderdaad ook al bezig geweest met implode maar het 'probleem' was dat ik de variabele array niet goed gevuld kreeg.

Het is inmiddels wel gelukt met wat Q S zei, mijn dank hiervoor!

Groeten,

Arie
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.