string maken uit een array
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
Code (php)
En $postcode = $postcode.'foo' kun je korter schrijven als $postcode .= 'foo'. Dus:
Code (php)
Maar dit alles was gewoon even om je wat kennis bij te brengen. Want wat jij wilt moet je met de functie implode doen:
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
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
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
?>
# 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
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
Code (php)
1
2
3
4
5
6
7
8
9
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'].',';
}
}
?>
$string = "";
query = mysql_query("SELECT postcode FROM tabel");
if($query !== false){
while ($row = mysql_fetch_array($query, MYSQL_BOTH)) {
$string .= $row['postcode'].',';
}
}
?>
En ik denk dat ik dat al heb uitgelegd...
@Wouter dat week ik wel zeker
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
Eddy en ook dat heb ik uitgelegd...
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?
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