Seite 1 von 2

Link nach MYSQL-Ergebnis generieren

Verfasst: 03.08.2004 13:17
von kratzer54847
hoi hoi,

ich bin gerade dabei,eine vereinfachte Bookmarkfunktion für mein phpBB zu coden.

Doch bei der Anzeige des Bookmark-Links bekomme ich Probleme:


Code: Alles auswählen

//
// Bookmark link
//
	
$userid = $userdata['user_id'];

$sql = "SELECT *
           FROM phpbb_bookmarks
           WHERE topic_id = $topic_id
           AND user_id = $userid";
	$result = mysql_query($sql);

	$bookmarklink = '';
	
	while ( $db->sql_fetchrow($result) )
	{
		if( mysql_num_rows($result)>1 )
		{
			$bookmarklink = 'Unbookmark Topic';
		}
		else if( mysql_num_rows($result) == 1 )
		{
			$bookmarklink = 'Unbookmark Topic';
		}
		else if( mysql_num_rows($result) == 0 )
		{
			$bookmarklink = 'Bookmark Topic';
		}
		else
		{
			$bookmarklink = '?!';
		}
	}
dieser Code soll die Bookmark-Tabelle auf Einträge checken und sich entsprechend verhalten...doch es verhält sich gar nichts mehr,da der Link nicht mehr angezeigt wird... :(

wer weiß Rat?

Verfasst: 03.08.2004 20:41
von PhilippK
Mit mysql_num_rows wirst du nicht weit kommen, da du die DB Abstraction Library von phpBB verwenden musst. (schau mal in die mysql.php)
Ansonsten: MOD:bookmarks

Gruß, Philipp

Verfasst: 03.08.2004 22:57
von kratzer54847
hoi Philipp,

ich habe es mal versucht,leider ohne Erfolg:

Code: Alles auswählen

	while ( $db->sql_fetchrow($result) )
	{
		if( sql_num_rows($result)>1 )
		{
			$bookmarklink = 'Unbookmark Topic';
		}
		else if( sql_num_rows($result) == 1 )
		{
			$bookmarklink = 'Unbookmark Topic';
		}
		else if( sql_num_rows($result) == 0 )
		{
			$bookmarklink = 'Bookmark Topic';
		}
		else
		{
			$bookmarklink = '?!';
		}
	}

Verfasst: 03.08.2004 23:19
von PhilippK

Code: Alles auswählen

$db->sql_num_rows...
Gruß, Philipp

Verfasst: 03.08.2004 23:25
von kratzer54847
hoi,

ich habe es so versucht:

Code: Alles auswählen

	while ( $db->sql_fetchrow($result) )
	{
		if( $db($result)>1 )
		{
			$bookmarklink = 'Unbookmark Topic';
		}
		else if( $db($result) == 1 )
		{
			$bookmarklink = 'Unbookmark Topic';
		}
		else if( $db($result) == 0 )
		{
			$bookmarklink = 'Bookmark Topic';
		}
		else
		{
			$bookmarklink = '?!';
		}
	}
ohne Erfolg

Verfasst: 03.08.2004 23:31
von PhilippK
Schau mal genau die objektorientierte Notation an, die ich angegeben habe und die im Forum verwendet wird.

Gruß, Philipp

Verfasst: 04.08.2004 07:53
von kratzer54847
hoi,

sorry versteh grad nur Bahnhof!
Wo soll ich mir die anschauen?

mfg Johny

Verfasst: 04.08.2004 22:44
von PhilippK
Du sollst dir mal den generellen Syntax der DB-Befehle in phpBB anschauen...

Code: Alles auswählen

$db->aktion(parameter)
Gruß, Philipp

Verfasst: 07.08.2004 17:19
von Pyramide
kratzer54847 hat geschrieben:if( $db($result)>1 )
Auf was prüfst du denn hier? bzw. wann ergibt diese Abfrage deiner meinung nach true?

Verfasst: 07.08.2004 18:07
von kratzer54847
es soll geprüft werden,ob die entsprechende Kombination aus User-ID und Topic-ID schon in der Datenbanktabelle vorhanden ist.

Sodass eben,wenn man das Topic bereits gebookmarked hat,sich der Bookmark-Linktext/URL ändert