Hej!
Jag har ett funktionsanrop som ser ut så här och som lagras i artiklar i en databas för att kunna presentera tillhörande bilder.
showArticlePicture("1");
Huvudfunktion:
function showArticlePicture($ID) {
$sqlSelect = "SELECT path, filename, description FROM tblPictures WHERE pictureID = $ID";
echo $sqlSelect;
$RSobj = mysql_query($sqlSelect) or die (mysql_error());
$row = mysql_fetch_array($RSobj);
$text = "<img src=".$row['path'].$row['filename']." alt=".$row['description']."><span class=picturetext><br />".$row['description']."</span>";
echo $text;
return $text;
}
Nu till problemet. Jag är osäker på när jag konkatenerar row[] i $text om det blir rätt med antal "fnuttar" eller om det på vissa ställen måste vara "enkelfnuttar" för att det hela ska stämma. $Text skall därefter skickas tillbaka till databasen-posten för presentation.
Någon som ser felet i:
$text = "<img src=".$row['path'].$row['filename']." alt=".$row['description']."><span class=picturetext><br />".$row['description']."</span>"; :OO :r
PeddaMedlem sedan juni 20006 032 inlägg $text = "<img src=\"".$row['path'].$row['filename']."\" alt=\"".$row['description']."\"><span class=\"picturetext\"><br />".$row['description']."</span>";
Vad gör nu "\" för något? Vad har de för funktion? :)
Vet inte om detta är möjligt. Nu har jag fått funktionen att fungera när man anropar funktionen showArticlePicture("1"); ifrån själva php-dokumentet. Ska det fungera att lagra denna funktion (<?php echo showArticlePicture("1"); ?>)på följande sätt i databasposten så att bilden skrivs ut på rätt ställe i artikeln? Jag får en känsla av att det inte fungerar eftersom jag inte lyckats få till det. Någon som vet?
PeddaMedlem sedan juni 20006 032 inlägg Genom att ändra strängen till \" har du talat om för php att inkludera dessa citationstecken som en del av värdet på strängen och inte behandla dem som indikatorer för början eller slutet på strängen.
Någon som känner till om man kan lagra PHP-kod i en databaspost och sedan få den att exekveras i det anropande php-dokumentet? Hittils har jag inte lyckats med det. Tips mottages tacksamt! :)
@ndersMedlem sedan juni 200032 969 inlägg Om du lagrar ren php-kod borde du kunna köra den med eval().
mvh
pettssonMedlem sedan jan. 20021 122 inlägg Eval(), kör en textsträng som PHP-kod. Lagra bara "echo showArticlePicture(\"1\");" i databasen och kör sedan eval($row["ditt-fält"]);
/r
Bleh för snabb-snabeln ;)
Ska prova det så meddelar jag resultatet senare... :)
Ok...så det jag ska lagra i databasen är följande:
eval("echo showArticlePicture(\"1\");")
Ska jag inte ha med "<?php ?>"?
Eller är det enklare att använda sig av preg_match eller str_replace i någon kombination? :OO Det jag vill är att få ut den färdiga img-taggen (lagrad i en sträng) med sökväg till bilden från funktionen showArticlePicture? Är detta överhuvudtaget möjligt? :l
pettssonMedlem sedan jan. 20021 122 inlägg Nej, inte <?php ?>
Du kan ju lagra resultatet av showArticlePicture istället. Antagligen bra mycket smidigare.
pettsson skrev:
Nej, inte <?php ?>
Du kan ju lagra resultatet av showArticlePicture istället. Antagligen bra mycket smidigare.
Hur menar du då? :q
Tanken är att en användare får upp en fönster med de bilder han/hon har i sitt album. I denna lista med bilder kryssar man sedan för den bild man vill ha på det ställe markören står på i ett formulär. Min tanke var, att om användaren väljer bild med ID 1 så lägger jag in funktionen på den platsen med ID 1 som argument. Det du menar istället är att jag kör funktionen och skickar resultatet (<img src="bild.jpg" alt="bild">) direkt som html när jag lagrar artikeln i databasen, right?
pettsson skrev:
Nej, inte <?php ?>
Du kan ju lagra resultatet av showArticlePicture istället. Antagligen bra mycket smidigare.
Jag tror han menar att din databasrad bara ska innehålla värdet på ID, det plockar du sedan ut och kör igenom din funktion när du ska skriva ut dina img-taggar.
det skulle alltså vara OK att ha en tagg som ser ut så här med ett värde i som man sedan kör genom preg_match:
[BILD]1[/BILD]