/ 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
At fjerne det sidste komma..
Fra : Janus


Dato : 19-02-07 22:37

Jeg har nogle værdier i en database som jeg henter ud sådan:

while ( $raekker = mysql_fetch_array($sql))
{
extract($raekker);
echo $funktion.", ";
}

Den der
--
echo $navne.", ";
--
Har jeg tilføjet for at resultatet ikke kommer til at stå sådan her:

JanJensJytteJørgen

Nu står det så sådan her:

Jan, Jens, Jytte, Jørgen,

Der afsluttes altså med et <komma><mellemrum> for meget. Kommaet er
værst, for det ser man jo.

Jeg har så prøvet at ordne det med en substr(), men den napper jo
kommaerne hele vejen hen og så er der ikke rigtig vundet noget ved at
tilføje dem i første omgang.

Hvad gør jeg forkert?

Jeg har også prøvet så småt at rode med nogle loop, men da fik jeg da
godt nok lagt hele browseren ned..

--
Janus


 
 
Michael Rasmussen (19-02-2007)
Kommentar
Fra : Michael Rasmussen


Dato : 19-02-07 23:09



Arne Feldborg (20-02-2007)
Kommentar
Fra : Arne Feldborg


Dato : 20-02-07 07:37

"Janus" <newsgroup@hjerteknuser.dk> skrev 19 Feb 2007 13:36:47 -0800


>Der afsluttes altså med et <komma><mellemrum> for meget. Kommaet er
>værst, for det ser man jo.
>
echo trim($streng, ', ');

--
mvh, A:\Feldborg

Slægtsforskning og lokalhistorie i midt- vestjylland
http://hammerum-herred.dk/

Ukendt (21-02-2007)
Kommentar
Fra : Ukendt


Dato : 21-02-07 00:42

> echo trim($streng, ', ');

jeg ville bruge

rtrim($streng,',');

Mvh
Morten



Arne Feldborg (21-02-2007)
Kommentar
Fra : Arne Feldborg


Dato : 21-02-07 07:45

"Morten Juel" <xSnAbElAstarchild.dk> skrev Wed, 21 Feb 2007 00:41:51
+0100

>> echo trim($streng, ', ');
>
>jeg ville bruge
>
>rtrim($streng,',');
>
Det kan man da godt, det vil bare ikke virke.

Det skal i så fald være rtrim($streng,', ');

--
mvh, A:\Feldborg

Slægtsforskning og lokalhistorie i midt- vestjylland
http://hammerum-herred.dk/

Ukendt (21-02-2007)
Kommentar
Fra : Ukendt


Dato : 21-02-07 21:15

>>jeg ville bruge
>>
>>rtrim($streng,',');
>>
> Det kan man da godt, det vil bare ikke virke.
>
> Det skal i så fald være rtrim($streng,', ');

Ja self overså lige han havde et mellem´rum oxo

Mvh
Morten



Arne Feldborg (22-02-2007)
Kommentar
Fra : Arne Feldborg


Dato : 22-02-07 08:30

"Morten Juel" <xSnAbElAstarchild.dk> skrev Wed, 21 Feb 2007 21:15:00
+0100


>> Det kan man da godt, det vil bare ikke virke.
>>
>> Det skal i så fald være rtrim($streng,', ');
>
>Ja self overså lige han havde et mellem´rum oxo
>
Hvad er egentlig begrundelsen for at du foretrækker rtrim() fremfor
trim().?

I det konkrete tilfælde vil de virke nøjagtig ens.

Og hvis der skulle indsnige sig et mellemrum før det første navn er det
vel ingen skade til at det bliver fjernet.


--
mvh, A:\Feldborg

Slægtsforskning og lokalhistorie i midt- vestjylland
http://hammerum-herred.dk/

Janus (21-02-2007)
Kommentar
Fra : Janus


Dato : 21-02-07 20:41

Okay.. Først og fremmest tak for forslagene og undskyld min manglende
tilbagemelding. Jeg har lige været lidt hårdt spændt for.

Jeg har prøvet mig lidt frem udfra jeres forslag, både Michael
Rasmussens og den med rtrim()..

Men lige lidt hjælper det.

Nu skal I se hvad jeg gør:
--- PHP ---
$query =   "SELECT id, fornavn FROM person WHERE
efternavn='Willumssen'";

$sql = mysql_query($query);
while ( $raekker = mysql_fetch_array($sql))
{
extract($raekker);
$fornavn=$fornavn.", ";
echo $fornavn;
}
--- --- ---

Her er outputtet så "Henry, Liselotte, "
Der er ingen problemer i at hente ud på denne måde. Men når jeg følger
jeres forslag, æder den komma og mellemrum hele vejen hen i outputtet.

Hvordan tackler jeg nu dette?

--
Janus


Ukendt (21-02-2007)
Kommentar
Fra : Ukendt


Dato : 21-02-07 21:12

Her er outputtet så "Henry, Liselotte, "
Der er ingen problemer i at hente ud på denne måde. Men når jeg følger
jeres forslag, æder den komma og mellemrum hele vejen hen i outputtet.

Hvordan tackler jeg nu dette?

Rtrim, ændre kun yderst til højre.. r står for right..

mvh
Morten



Janus (21-02-2007)
Kommentar
Fra : Janus


Dato : 21-02-07 21:49

On 21 Feb., 21:12, "Morten Juel" <xSnAbElAstarchild.dk> wrote:
>
> Rtrim, ændre kun yderst til højre.. r står for right..
>

Ja, det har jeg fattet. Jeg har også læst om den inde på php.net. Jeg
har forsøgt mange ting for at løse det, men det er som om outputtet
kommer i bidder og at det ikke lykkes mig at samle det i een.

rtrim ville virke hvis outputtet fra $fornavn var:
[Henry, Liselotte, William, Anton, ]
Nu virker det som om der istedet er fire output der bare er i
forlængelse af hinanden:
[Henry, ][Liselotte, ][William, ][Anton, ]

Og derfor behandler den hver enkelt og fjerner ", " så man ikke vinder
noget derved.

Det der undrer mig mest er, at jeg ikke kan finnde emner i gruppen der
omhandler dette. Og jeg har ellers skimmet trådene meget langt
tilbage. Det kan da ikke kun være mig der har haft det problem.
Hmm.. Men andre er måske så kvikke, at de ikke behøver spørge..
--
Janus


Michael Rasmussen (21-02-2007)
Kommentar
Fra : Michael Rasmussen


Dato : 21-02-07 21:55



Janus (21-02-2007)
Kommentar
Fra : Janus


Dato : 21-02-07 22:11

On 21 Feb., 21:55, Michael Rasmussen <m...@miras.org> wrote:

Nu ringede jeg så til et yngre familiemedlem.
Det føles som om det var i sidste uge han sad og gyngede på mit knæ
med sut i munden og savlede når han prøvede at sige 'hurtigere
Janus' .

Han lærte og fortalte mig følgende løsning:

--- PHP ---
while ( $raekker = mysql_fetch_array($sql))
{
extract($raekker);
$fornavn2.=$fornavn.", ";
}
echo rtrim($fornavn2,', ');
--- --- ---

De bliver jo alligevel hurtigt store, de små poder.

--
Janus


Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste