waardes tussen variabele zetten (Opgelost)
shamrock - 10/07/2010 15:30
Lid
Hallo,
Ik weet even niet meer hoe ik het volgende krijg:
Waardes uit de database:
1
2
4
6
11
En ik wil dit automatisch echooen als:
'1','2','4','6','11'
Wie kan mij hiermee helpen?
Bedankt
15 antwoorden
Gesponsorde links
Martijn - 10/07/2010 15:34 (laatste wijziging 10/07/2010 15:34)
Crew PHP
echo " ' ".implode(" ',' ",$array()." ' ";
met wat spaties erbij
shamrock - 10/07/2010 15:36 (laatste wijziging 10/07/2010 15:50)
Lid
ochja bedankt
zat al te zoeken bij implement ofzoiets maar het moet idd implode zijn
edit:
Nu kom ik erachter dat hij waarde uit een array moet halen.
ik moet ze uit een while loop halen
ik kan:
doen maar dan staat achteraan ook een comma...
hoe kan ik dit het beste oplossen?
TotempaaltJ - 10/07/2010 16:03
PHP interesse
In de while loop kan bijv. dit:
Jelmerholland - 10/07/2010 16:20 (laatste wijziging 10/07/2010 16:20)
PHP beginner
Wat ik doe (beetje omslachtig) is een $i aanmaken, die op false zetten,
als $i = true
geen komma
$i = false
anders
wel komma
shamrock - 14/07/2010 09:11 (laatste wijziging 14/07/2010 09:20)
Lid
TotempaaltJ schreef:
In de while loop kan bijv. dit:
[..code..]
dit krijg ik niet werkend.
wat moet ik echoen? (echo $array of echo $array[])?
Beide echo's zijn leeg terwijl de $waarde wel gevuld is?
als ik array[0] typ krijg ik wel een waarde maar ik wil graag een array van alle waardes
Jelmerholland - 14/07/2010 09:49
PHP beginner
$array[] = waarde?
Je wilt alle waardes in je array toevoegen dmv een while-loop ofzo?
shamrock - 14/07/2010 10:04
Lid
ja precies
en dan moet ik buiten de while loop dit hebben:
$colors = array($array);
(als ik $colors echo krijg ik dit resultaat: Array)
Ik wil dus hier graag die waarde uit de while loop
$colors moet bijvoorbeeld worden:
$colors = array('#043e60','#393ace','#c8683a','#4f935b','#ab98c3','#8d8cbf');
$colors = array ( '#043e60' , '#393ace' , '#c8683a' , '#4f935b' , '#ab98c3' , '#8d8cbf' ) ;
de kleuren haalt hij dan uit de while loop
Stijn - 14/07/2010 10:37
PHP expert
Je hebt $array[] = $waarde in je while lus gedaan. Na je while lus doe je dan de code van Martijn in zijn eerste reactie. Moeilijk is dit niet, toch?
shamrock - 14/07/2010 10:45 (laatste wijziging 14/07/2010 10:51)
Lid
maar als ik $array buiten de while lus echo krijg ik als output: "Array" ipv de lijst met waarde?
Ik moet een soort kleuren generator hebben.
Hij moet kijken hoeveel kleuren hij moet maken (uit een db) en die in een array zetten.
Heb dit maar werkt niet:
$array[] = "";
$res = @mysql_query("SELECT land FROM cms_stats_landen");
$nr = @mysql_num_rows($res);
$x = 1;
while($x <= $nr)
{
$rand = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f');
$color = '#'.$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)];
$array[] = $color;
}
$kleuren = " ' ".implode(" ',' ",array[]." ' ");
$colors=array($kleuren);
$array [ ] = "" ;
$res = @ mysql_query ( "SELECT land FROM cms_stats_landen" ) ; $x = 1 ;
while ( $x <= $nr )
{
$rand = array ( '0' , '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9' , 'a' , 'b' , 'c' , 'd' , 'e' , 'f' ) ; $color = '#' . $rand [ rand ( 0 , 15 ) ] . $rand [ rand ( 0 , 15 ) ] . $rand [ rand ( 0 , 15 ) ] . $rand [ rand ( 0 , 15 ) ] . $rand [ rand ( 0 , 15 ) ] . $rand [ rand ( 0 , 15 ) ] ; $array [ ] = $color ;
}
shamrock - 14/07/2010 11:09 (laatste wijziging 14/07/2010 11:45)
Lid
Zal het duidelijker uitleggen.
Ik haal bijvoorbeeld 10 waardes uit een database.
Dan wil ik een array gevuld hebben:
array('1','2','3','4','5','6','7','8','9','10');
Zijn er maar 4 resultaten in de database dan wil ik graag het volgende:
array('1','2','3','4');
de getallen 1 t'm 4 of 1 t'm 10 etc... moeten willekeurige kleurcodes worden
Vriendelijk bedankt
Stijn - 14/07/2010 11:49
PHP expert
Dat mag weg. Je kan misschien het volgende in de plaats schrijven: $array = array();
Waarom doe je dit? Dit mag weg. $kleuren is een string, dus je kleuren gescheiden met komma's.
Je code kan optimaler geschreven worden. Hier vind je een versie die aan jou startbericht voldoet.
<?php
$array = array();
$nr = mysql_result(mysql_query("SELECT COUNT(*) FROM cms_stats_landen"), 0);
$x = 0;
$rand = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f');
while($x < $nr)
{
$array[] = '#'.$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)];
}
$kleuren = " ' " . implode(" ',' ",$array) . " ' ";
echo $kleuren;
echo "<pre>", var_dump($array) , "</pre>"; //dit is een dump van je $array die al je kleuren bevat.
//de array $array bevat al je kleuren, je kan dus met $array verder werken. Je kan deze array overlopen met foreach bv
?>
<?php
$x = 0 ;
$rand = array ( '0' , '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9' , 'a' , 'b' , 'c' , 'd' , 'e' , 'f' ) ; while ( $x < $nr )
{
$array [ ] = '#' . $rand [ rand ( 0 , 15 ) ] . $rand [ rand ( 0 , 15 ) ] . $rand [ rand ( 0 , 15 ) ] . $rand [ rand ( 0 , 15 ) ] . $rand [ rand ( 0 , 15 ) ] . $rand [ rand ( 0 , 15 ) ] ; }
$kleuren = " ' " . implode ( " ',' " , $array ) . " ' " ;
echo "<pre>" , var_dump ( $array ) , "</pre>" ; //dit is een dump van je $array die al je kleuren bevat.
//de array $array bevat al je kleuren, je kan dus met $array verder werken. Je kan deze array overlopen met foreach bv
?>
Gesponsorde links
Dit onderwerp is gesloten .