1.2k Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von
Hallo,

ich glaube ich stehe heute etwas auf dem Schlauch. Zu ersteinmal
ich bin kein "gelehrter" Programmierer. Ich habe mir alles selber
beigebracht, deswegen bitte nicht gleich zu kritisch sein :).

Folgender Fehler:

Ich habe eine galerie Tabelle in einer MYSQL Datenbank in welcher
der Name, ein Text und die URL zu dem Galeriebild gespeichert
werden.
Nun will ich, dass die Kategorien mit samt den Galeriebildern
ausgegeben werden. Um nun die URL der Bilder auch richtig zu
bekommen habe ich folgendes gemacht:

$abfrage = "SELECT * FROM galerie ORDER BY id DESC";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
function stro_replace($search, $replace, $subject)
{
return strtr( $subject, array_combine($search, $replace) );
}
$kategoriebildws = $row->kategoriebild;
$search = array(' ');
$replace = array('%20');
$subject = $kategoriebildws;
?>
...
...


Die Ausgabe:

<td class="gpicl" width="150"><a href="index.php?
option=bilder&kategorie=<? echo $row->kategorie; ?>&id=<? echo
$row->id; ?>"><img src=<? echo stro_replace($search, $replace,
$subject); ?> border="0" /></a></td>
<td class="gtextr" width="350"><? echo $row->text; ?></td>
...
...
...
}


Jetzt kommt natürlich folgende Fehlermeldung, wenn mehr als 1
Galerie eingetragen wurden, da dann ja die stro_replace mehrmals
definiert wird.
(Cannot redeclare stro_replace())

Hat jemand vielleicht eine Idee wie ich das eleganter lösen kann?

Vielen Dank für jeden Anreiz.

MFG

2 Antworten

0 Punkte
Beantwortet von supermax Experte (4.8k Punkte)
Definiere die Funktion einfach außerhalb der Schleife, z.B. ganz am Anfang des Scripts.
0 Punkte
Beantwortet von
Oh Gott...

So einfach :D

Vielen DANK!
...