Avatar billede nicocarlos Nybegynder
08. september 2004 - 20:11 Der er 11 kommentarer og
1 løsning

Kan dette lade sig gøre i php/mySQL

hejsa.
Jeg har bb.php som jeg includer på en side.
I bb.php har jeg:
$string = preg_replace("#\[prov\](\d+)\[/prov\]#i", '<a href="?p=showuserinfo&clanid=$1">$1</a>', $string );

og på min side laver jeg så [prov]brugerid f.eks. 1[/prov] men jeg ville gerne have at den hentede brugernavnet der hører til det id istedet for kun at vist ID som $1 f.ek.s 1... Hvordan kan det lade sig gøre?
Avatar billede amews_aj Nybegynder
08. september 2004 - 20:30 #1
Prøv noget med:

$string = preg_replace("#\[prov\](\d+)\[/prov\]#i", '<a href="?p=showuserinfo&clanid=<? echo $1; ?>"><? echo $1; ?></a>', $string );
Avatar billede nicocarlos Nybegynder
08. september 2004 - 20:32 #2
den løser ikke problemet.
Problemet er at den bare laver et tal: 1 
og så ikke mere, jeg ville gerne hente information af brugeren med det pågælende id og så printe noget andet f.ek.s brugernavn
Avatar billede nicocarlos Nybegynder
08. september 2004 - 20:34 #3
id=$1 <--- den skal bare være bruger id">$1 <---- den skal vise brugernavnet med den pågældende værdi</a>',
Avatar billede nicocarlos Nybegynder
08. september 2004 - 20:39 #4
den behøver nødvendigvis ikke at heddde $1 bare den kan vise brugernavnet når den printer..
Avatar billede amews_aj Nybegynder
08. september 2004 - 20:41 #5
HAr du hentet tingene ud af databasen?
Avatar billede nicocarlos Nybegynder
08. september 2004 - 20:42 #6
nope ikke selve brugernavnet der hører til $1, fordi jeg ved ikke hvor jeg skal hente det ud fordi jeg kan jo ikke hente det ud før og heller ikke efter den sætning eller kan jeg?
Avatar billede amews_aj Nybegynder
08. september 2004 - 21:12 #7
Du kan jo sige

<?
// CONNECT HER

$select = mysql_query("SELECT * FROM db WHERE brugernavn = '$brugernavn'");
$go = mysql_fetch_array($select);

$bruger = $go[brugernavn];
$id = $go[id];
?>

$string = preg_replace("#\[prov\](\d+)\[/prov\]#i", '<a href="?p=showuserinfo&clanid=<? echo $id; ?>"><? echo $bruger; ?></a>', $string );


ER det sådan noget?
Avatar billede nicocarlos Nybegynder
08. september 2004 - 21:19 #8
det skal nærmere være sådan her, fordi $bruger skal være er variabel:

$string = preg_replace("#\[prov\](\d+)\[/prov\]#i",
'<a href="?p=showuserinfo&clanid=<? echo $id; ?>">
$select = mysql_query("SELECT * FROM db WHERE id = '$id'");
$go = mysql_fetch_array($select);
$bruger = $go[brugernavn];
<? echo $bruger; ?></a>', $string );

hmm måske kan det der faktisk lade sig gøre...tester lige
Avatar billede nicocarlos Nybegynder
08. september 2004 - 21:24 #9
det ville det så ikke lige, men det er sådan det skal virke
Avatar billede amews_aj Nybegynder
08. september 2004 - 21:33 #10
du skal jo have det hele samlet sådan her

<?
// CONNECT HER
$select = mysql_query("SELECT * FROM db WHERE id = '$id'");
$go = mysql_fetch_array($select);
$bruger = $go[brugernavn];
$string = preg_replace("#\[prov\](\d+)\[/prov\]#i", '<a href="?p=showuserinfo&clanid=$id"'>
echo $bruger;</a>', $string );
?>
Avatar billede nicocarlos Nybegynder
09. september 2004 - 00:40 #11
nope det virker ikke...altså jeg har en side, der hedder main.php
hvor jeg printer det fra min db således:
print "$msgbuildbb";

Desuden har jeg bb.php som jeg har include på main.php så den henter:
$string = preg_replace("#\[prov\](\d+)\[/prov\]#i", '<a href="?p=showuserinfo&clanid=$1">$1</a>', $string );

men problemet er så hvor jeg skulle kunne få brugernavnet herind >$1< fordi du finder jo først ud af hvad variablen er lidt før. Og kan ikke hente bruger navnet før, og den laver fejl hvis jeg prøver at placere det før...
Avatar billede nicocarlos Nybegynder
05. oktober 2004 - 11:57 #12
jeg har fundet ud af det...
Lavede det som en function hvor jeg lave selve preg_replace og i og med det var en function så kunne jeg hente mySQL informationen.

og så indsatte jeg bare funktionen således:
$string = fix_prov($string);

det må være point til mig selv, tak for hjælpen :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester