phpbar.de logo

Mailinglisten-Archive

[php] Strings austauschen...?

[php] Strings austauschen...?

Oliver Kurlvink truheml_(at)_metal-online.de
Wed, 5 May 1999 20:05:13 +0200


hi :)

Ich bastle momentan an einer Loesung, bei CD-Reviews im Review vorkommende
Bandnamen durch Links zu unserer Suchmaschine zu ersetzen, sofern es weitere
Artikel zu dieser Band gibt.

gegeben ist $review mit dem ganzen Review.

$querylink = "SELECT distinct band FROM cdreviews";
$resultlink = MYSQL_QUERY($querylink);
$numberlink = MYSQL_NUMROWS($resultlink);
$ilink=0;
while ($ilink < $numberlink) {
	$bandlink = mysql_result($resultlink,$ilink,"band");
	$bandlink2=urlencode($bandlink);
	if(ereg(" $bandlink ",$review)) {
		$review = ereg_replace(" $bandlink ", " <a
href='/portal/portal.php3?rubrik=suchen&suchennach=$bandlink2'
title='suchen'>$bandlink</a> ", $review);
	}
	if(ereg(" $bandlink-",$review)) {
		$review = ereg_replace(" $bandlink-", " <a
href='/portal/portal.php3?rubrik=suchen&suchennach=$bandlink2'
title='suchen'>$bandlink</a>-", $review);
	}
	if(ereg(" $bandlink'",$review)) {
		$review = ereg_replace(" $bandlink'", " <a
href='/portal/portal.php3?rubrik=suchen&suchennach=$bandlink2'
title='suchen'>$bandlink</a>'", $review);
	}
$ilink++;
}


Jetzt geht er also die ganze Review-Datenbank durch und zieht sich die
unterschiedlichen Bandnamen durch. Dann geht er fuer jeden einzelnen
Bandnamen das komplette Review durch und ersetzt " $bandlink " " $bandlink-"
und " $bandlink'" durch einen Link zur Suchmaschine. Das funktioniert auch
tadellos. Nur erscheint mir das ganze doch extrem umstaendlich. Immerhin
sind fast 500 Reviews in der Datenbank, von sicher 400 unterschiedlichen
Interpreten. Folglich geht er satte 400x den kompletten Review-Text durch
und vergleicht ihn mit dem gerade aktuellen Bandnamen. Laesst sich das nicht
noch einfacher loesen?

Das zweite Problem betrifft eher MySQL. Momentan schaut er nur in der
Review-Datenbank nach. Ich moechte aber, dass er z.B. ebenfalls in der
Stories-Datenbank schaut. Dafuer muesste ich also ein select distinct ueber
beide Datenbank machen. Weiss einer, wie das in einem select-Statement geht?
:)

Antwort bitte an kurlvink_(at)_pinuts.de, da unser metal-online.de-Mail-Server
momentan auf einer Black List haengt und umprogrammiert wird, um den Grund
zu beheben (Jeder konnte Mails versenden, somit auch jeder Spammer...).




php::bar PHP Wiki   -   Listenarchive