webForumDet fria alternativet

Stränghantering...

6 svar · 245 visningar · startad av Blårand

BlårandMedlem sedan jan. 20032 356 inlägg
#1

Är absolut ingen hejare på området, men borde inte nedanstående fungera?
Läser in en tabell i en array, läser sedan igenom arrayen och skriver ut värdena. Om längden på strängvärdet i $row["name"] är mer än 18, så kapas strängen av efter 16 tecken och lägger till ... Är strängen kortare än 18 så skrivs strängen ut i sin helhet. Vad kan vara fel i nedanstående kod? Det är inget fel på kopplingen och $topret även om felmeddelandet blir Call to undefined function: db_query() in /home/www/..../topp.php on line 3.

<?php
global $lang;
$topret = db_query("select id,name,count from {$config["prefix"]}_links order by count DESC limit 25");

echo "<table class=\"boxtext\" cellspacing=2 cellpadding=0 border=0 width=100%>";
while( $row = db_fetch_array($topret) )

if (strlen($row[name])>18) {
 echo "<tr><td class=\"boxtext\"> <a href=\"links.php?link={$row["id"]}\" target=new>".substr($row["name"],0,16).".."."</a></td><td align=right class=\"boxtext\">{$row["count"]}</td></tr>\n";
}
else
{
echo "<tr><td class=\"boxtext\"> <a href=\"links.php?link={$row["id"]}\" target=new>".$row["name"]."</a></td><td align=right class=\"boxtext\">{$row["count"]}</td></tr>\n";
}

echo "\n</table>";
db_free_result($topret);
?>
SPiNMedlem sedan mars 20007 896 inlägg
#2

Byt ut allt som står db_ till mysql_, för det är väl det du menar? Och du har väl en koppling ovanför koden som du pastade in här, väl? :)

BlårandMedlem sedan jan. 20032 356 inlägg
#3

Hej!

Anropet är en "standardkod" som finns på flera ställen i det script jag använder. Själva selekteringssatsen $topret = db_query("select id,name... är det nog inget fel på. Tror felet har med att göra att min egen kod som jag lagt till, och som ska förkorta strängen om den är mer än 18 tecken, någonstans har ett litet fel.

Kent.JMedlem sedan aug. 2001153 inlägg
#4

Som t.ex skriva

if (strlen($row[name])>18) {

Och glömma "" teckerna runt name menar du? :)

BlårandMedlem sedan jan. 20032 356 inlägg
#5

Provade även med "" men det fungerade inte. Innan jag ställde frågan sökte jag på forumet och hittade denna tråd som enligt svar ska fungera. http://www.webforum.nu/showthread.php?s=&forumid=23&threadid=72903&highlight=Bryta Där finns inte heller några "", men det är nog kanske är så ändå att det ska vara "".

Men hur som helst, det hjälpte inte tyvärr.

MatteMedlem sedan aug. 20002 975 inlägg
#6

Du kan inte strunta i felmeddelandet. Det säger att funktionen db_query() inte finns.

Jag har inte hittat denna funktion i PHP-manualen, så det måste vara en egendefinierad funktion.
Då måste du även inkludera filen med funktionen på sidan. Annars finns inte funktionen.

BlårandMedlem sedan jan. 20032 356 inlägg
#7

Tack för hjälpen!
Nu fixade det sig! Scriptet kunde visst bara ligga i en speciell mapp för att det skulle fungera ihop med övriga filer. Det var nog så som du skrev, att den tappade kopplingen till övriga funktioner och filer när jag lade filen i en annan mapp.

Nu funkar det fint! Tack för hjälpen allihop! :)

131 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)