16. januar 2004 - 23:54
Der er
44 kommentarer og 2 løsninger
While - muligt at fjerne et tegn?
Hejsa!
Jeg sidder og rodder med et reklame system og det fungerer også efter hensigten. Mit eneste problem er, at mellem hvert link som udskrives (se nedenfor) har jeg indsat " - ".
Er det muligt at fjerne det ved sidste link, som udskrives (og limit er 4 som det fremgår)??
Som det udskrives nu, vil det være eksempelvis:
link1 - link3 - link 2 -
Stregen til sidst skal væk, argh! :)
$query = mysql_query("select * from database order by rand() limit 0,4");
while($row = mysql_fetch_array($query)) {
echo "<a href=\"
http://www.webside.webside/taeller.php?affiliates&id=$row[id]\" target=\"_blank\">$row[titel]</a> - ";
}
Venlig hilsen
Runner
Annonceindlæg fra HP
17. januar 2004 - 00:02
#1
Jeg er ikke PHP kyndig men logikken må være: første = true while(more rows) { if(første) første = false else skriv " - " skriv link }
17. januar 2004 - 00:06
#2
Ja, men umiddelbart kan jeg ikke lige omsætte det udfra mit eksempel... Er det muligt, at du eller andre kan lave en løsning udfra mit script?
Slettet bruger
17. januar 2004 - 00:48
#4
Og det skulle egentlig være et svar.
17. januar 2004 - 10:30
#5
Jeg har prøvet at indsætte det præcist som dit, men stadig uden synderligt resultat. Det ser stadig sådan ud: link1 - link3 - link 2 - link4 -
17. januar 2004 - 11:18
#6
Nogen bud på hvordan man får fjernet "-" ved det sidste link?? Plz svar hurtigt
17. januar 2004 - 11:28
#8
Upsada.... Den retter vi lige igen.... :-)
$query = mysql_query("select * from database order by rand() limit 0,4");
$firstlink = true;
while($row = mysql_fetch_array($query)) {
if (!firstlink) {
echo " - ";
$firstlink = false;
}
echo "<a href=\"
http://www.webside.webside/taeller.php?affiliates&id=$row[id]\" target=\"_blank\">$row[titel]</a> - ";
}
17. januar 2004 - 11:28
#9
Æv. Og en gang til. Vi mangler jo lige at fjerne din egen - i den sidste echo linie:
$query = mysql_query("select * from database order by rand() limit 0,4");
$firstlink = true;
while($row = mysql_fetch_array($query)) {
if (!firstlink) {
echo " - ";
}
echo "<a href=\"
http://www.webside.webside/taeller.php?affiliates&id=$row[id]\" target=\"_blank\">$row[titel]</a>";
}
17. januar 2004 - 11:30
#10
Og det var et svar. Du burde kunne cut/paste indlægget fra 11:28:58
17. januar 2004 - 11:33
#11
Mangler du ikke en else til at sætte firstlink = false ?
17. januar 2004 - 11:36
#12
arne_v >> Takker. Jeg kom til at rette min egen rettelse tilbage igen. :-/ Det havde jeg med i indlægget 11:28:13 men kom så til at lave min tredje kommentar på basis af den første, hvor den ikke var med.
Den skal se således ud:
$query = mysql_query("select * from database order by rand() limit 0,4");
$firstlink = true;
while($row = mysql_fetch_array($query)) {
if (!firstlink) {
echo " - ";
$firstlink = false;
}
echo "<a href=\"
http://www.webside.webside/taeller.php?affiliates&id=$row[id]\" target=\"_blank\">$row[titel]</a>";
}
17. januar 2004 - 11:37
#13
Tak sbm... men ehm... Nu ser det sådan her ud: Side2Side3Side6Side5 Er det mon noget med else eller noget?
17. januar 2004 - 11:38
#14
Okay! :) Jeg prøver lige det der ;)
17. januar 2004 - 11:41
#15
Jeg er ikke så stiv i PHP, da jeg aldrig har lavet noget i det, så jeg vil ikke nægte at jeg kan have smidt en fejl eller to ind. :-)
17. januar 2004 - 11:41
#16
Hmm.. Det er altså stadig sammenhængene Link1Link3 osv...?
17. januar 2004 - 11:42
#17
Doh!!!! Selvfølgelig. Arne_v har ret. Jeg har bare ikke lige tænkt mig om. Det skal naturligvis ind i en else del. SORRY!
$query = mysql_query("select * from database order by rand() limit 0,4");
$firstlink = true;
while($row = mysql_fetch_array($query)) {
if (!firstlink) {
echo " - ";
}
else {
$firstlink = false;
}
echo "<a href=\"
http://www.webside.webside/taeller.php?affiliates&id=$row[id]\" target=\"_blank\">$row[titel]</a>";
}
17. januar 2004 - 11:45
#18
Jeg er ked af at side det... Det sker altså igen :P
17. januar 2004 - 11:48
#19
Hvad så med dette: ??
$query = mysql_query("select * from database order by rand() limit 0,4");
while($row = mysql_fetch_array($query))
{
echo "<a href=\"
http://www.webside.webside/taeller.php?affiliates&id=$row[id]" target=\"_blank\">$row[titel]</a>";
for($i=0; $i<count($row); $i++)
{
echo " - ";
}
}
17. januar 2004 - 11:50
#20
runner19 >> Læste du mit sidste indlæg 11:42:44?
17. januar 2004 - 11:51
#21
Jacobclausen's eks. har jeg lige prøvet: Side7 - - - - - - - - Side4 - - - - - - - - StarLink.dk - - - - - - - - Side6 - - - - - - - - Det her udskriver den.
17. januar 2004 - 11:52
#22
sbm>> Ja, det var det den stadig gjorde det... altså side1side3side2 :(
17. januar 2004 - 11:55
#23
runner19 >> Måske ikke helt optimalt, men hvis du ikke angiver * i din sql, men kun tager fat ved den ene kolonne, hvor dit link er, burde mit script virke.
17. januar 2004 - 11:55
#24
$query = mysql_query("select id from database order by rand() limit 0,4");
17. januar 2004 - 11:57
#25
Jep, men id og titel skulle jo også helst indgå :/
17. januar 2004 - 11:58
#26
$query = mysql_query("select id from database order by rand() limit 0,4");
while($row = mysql_fetch_array($query))
{
echo "<a href=\"
http://www.webside.webside/taeller.php?affiliates&id=$row[id]" target=\"_blank\">$row[titel]</a>";
$antal = count($row)-1;
for($i=0; $i<$antal; $i++)
{
echo " - ";
}
}
17. januar 2004 - 12:00
#27
Den er lidt svær at dreje, synes jeg :/ Nogen bud sbm eller jakobclausen?
17. januar 2004 - 12:00
#28
Prøver...
17. januar 2004 - 12:00
#29
runner19 >> Vil du ikke godt lige prøve ovenstående eksempel (17/01-2004 11:58:57), hvor du istedet for $row[titel] skriver side - vil godt lige se hvordan det ser ud
17. januar 2004 - 12:01
#30
jacobclausen>> $row[titel] kan jo ikke udskrives når der kun hentes id... ?
17. januar 2004 - 12:02
#31
okay...2 sek
17. januar 2004 - 12:05
#32
Side - Side - Side - Side - Ovenstående udskrives - og streg til sidst... hmm :)
17. januar 2004 - 12:07
#33
Er det ikke her, at den er gal: for($i=0; $i<$antal; $i++) ??
17. januar 2004 - 12:08
#34
Mit sidste forsøg:
$query = mysql_query("select * from database order by rand() limit 0,4");
while($row = mysql_fetch_array($query))
{
echo "<a href=\"
http://www.webside.webside/taeller.php?affiliates&id=$row[id]" target=\"_blank\">$row[titel]</a>";
for($i=1; $i<4; $i++)
{
echo " - ";
}
}
17. januar 2004 - 12:10
#35
Øv: Side3 - - - Side2 - - - StarLink.dk - - - Side7 - - -
17. januar 2004 - 12:11
#36
Irriterende :/ Jeg er villig til at forhøje points for en løsning
17. januar 2004 - 12:14
#37
Må nok indrømme at jeg ikke fatter ret megt af hvorfor mit sidste forslag gav det- synes ellers det burde at virke. De tre første gange der udskrives et link udskriver den også " - ", men ikke fjerde gang da dette ikke er mindre end 4
17. januar 2004 - 12:14
#38
$firstItem = true;
while ($row = mysql_fetch_array($query)) {
if (!$firstItem) echo " - ";
$firstItem = false;
echo "<a href=\"
http://www.webside.webside/taeller.php?affiliates&id=" . $row["id"] . "\" target=\"_blank\">" . $row["titel"] . "</a>";
}
17. januar 2004 - 12:16
#39
Eller, hvis man vil spare en linie:
while ($row = mysql_fetch_array($query)) {
if (isset($firstItem)) echo " - ";
$firstItem = false;
echo "<a href=\"
http://www.webside.webside/taeller.php?affiliates&id=" . $row["id"] . "\" target=\"_blank\">" . $row["titel"] . "</a>";
}
17. januar 2004 - 12:19
#40
WoooW... Nu virker det... stingbat's løsning virkede - takker! :D Er det okay med jer, hvis i to for fordelt pointene?
17. januar 2004 - 12:21
#42
lynz >> den går vist ikke ;)
17. januar 2004 - 12:22
#43
lynz: Den går desværre ikke, i foghold til runner19's spørgsmål - der måtte jo hverken være " - " før den første, eller efter den sidste *S*
17. januar 2004 - 12:22
#44
runner19: Du kan bare fordele som du nu vil :-)
17. januar 2004 - 12:24
#45
De er så delt ;)
17. januar 2004 - 12:48
#46
Jamen jeg siger da mange tak, og godt du fandt ud af det
Computerworld tilbyder specialiserede kurser i database-management