Welcome, Guest. Please login or register.
Did you miss your activation email?
May 27, 2012, 12:54:17 AM

Login with username, password and session length
Search:     Advanced search
Wollen Sie dem WebsiteBaker Team beitreten?
Nähere Informationen finden Sie unter hier und auf unserer neuen Webseite.
155557 Posts in 21715 Topics by 7737 Members
Latest Member: gx-world
* Home Help Search Login Register
Pages: [1]   Go Down
Print
Author Topic: Hilfe bei kleine Funktion: news group id  (Read 139 times)
edduzzz

Offline Offline

Posts: 7


« on: January 26, 2012, 08:05:53 PM »

Hallo ich arbeite gerade an einer Funktion, um alle IDs eine Nachrichten-Gruppe, bzw. die IDs alle Gruppen die einen bestimmten Namen haben, zu finden.
Leider scheitert die Funktion meiner Meinung nach an der Syntax.

Hier die Funktion:
// Function for news group id
if (!function_exists('newsgroup_id')) {
	
function 
newsgroup_id($newsgroup) {
	
	
$query_newsgroup=$database->query("SELECT * FROM ".TABLE_PREFIX."mod_news_groups WHERE title = $newsgroup");
	
	
if (
$query_newsgroup->numRows()>1) {
	
	
	
$row_newsgroup=$query_newsgroup->fetchRow();
	
	
	
echo 
'array('.$row_newsgroup['group_id'];
	
	
	
while (
$row_newsgroup=$query_newsgroup->fetchRow()) {
	
	
	
	
echo 
', '.$row_newsgroup['group_id'];
	
	
	
}
	
	
	
echo 
')';
	
	
} elseif (
$query_newsgroup->numRows()==1) {
	
	
	
$row_newsgroup=$query_newsgroup->fetchRow();
	
	
	
echo 
$row_newsgroup['group_id'];
	
	
} else {
	
	
	
echo 
0;  // Default all Groups
	
	
}
	
}
}

Soll Beispielsweise hier zu verwenden sein:
displayNewsItems(
   
$group_id newsgroup_id('Testgruppe'), 
   
$max_news_items 5
   
$max_news_length = -1
   
$display_mode 1
   
$lang_id LANGUAGE
   
$strip_tags true
   
$allowed_tags ''
   
$custom_placeholder false
   
$sort_by 1
   
$sort_order 1
   
$not_older_than );

Die Funktion habe ich in framework/frontend.functions.php hinzugefügt, aber wie gesagt funktioniert noch nicht.
Logged
badknight
Moderator
**
Offline Offline

Posts: 246



WWW
« Reply #1 on: January 26, 2012, 08:21:12 PM »

uiuiui lass bitte die Finger von der Datei wo du es hinzugefügt hast, die ist wirklich nur für den core sonst hast du bei jedem Update probleme Wink


Mach einfach ein Snippet und binde es ein.. nimm dir als beispiel anynews Smiley
Logged

Ich würde gern die Welt verändern, doch Gott gibt mir den Quellcode nicht...
edduzzz

Offline Offline

Posts: 7


« Reply #2 on: January 26, 2012, 08:48:36 PM »

Danke für deine Antwort ich habe soeben deinen Rat gefolgt und habe einen Snippet erstellt und erfolgreich installiert...
und Versuche weiter mein Glück mit der richtige Abfrage an der DB..
Logged
badknight
Moderator
**
Offline Offline

Posts: 246



WWW
« Reply #3 on: January 26, 2012, 09:08:45 PM »

Danke für deine Antwort ich habe soeben deinen Rat gefolgt und habe einen Snippet erstellt und erfolgreich installiert...
und Versuche weiter mein Glück mit der richtige Abfrage an der DB..

Aufruf einer bestimmten ID anhant des Namens:
Code:
$query = $database->query("SELECT group_id FROM ".TABLE_PREFIX."mod_news_groups WHERE title = ''".$newsgroup."');
if($query->numRows() > 0)
{
    // Eintrag gefunden
    $group = $query->fetchRow();
    return $group["group_id"];
} else {
    // kein Eintrag vorhanden
    return FALSE;
}

natürlich ist der code nicht getestet, da er im Forum geschrieben wurde Smiley

Logged

Ich würde gern die Welt verändern, doch Gott gibt mir den Quellcode nicht...
DarkViper
Development Team
*****
Offline Offline

Posts: 1254


« Reply #4 on: January 26, 2012, 09:50:28 PM »

Aufruf einer bestimmten ID anhand des Namens:
Code:
$query = $database->query("SELECT group_id FROM ".TABLE_PREFIX."mod_news_groups WHERE title = ''".$newsgroup."');
if($query->numRows() > 0)
{
    // Eintrag gefunden
    $group = $query->fetchRow();
    return $group["group_id"];
} else {
    // kein Eintrag vorhanden
    return FALSE;
}

noch etwas einfacher:   wink
Code:
<?php

function mod_news_getGroupIdByName($newsgroup) {
    
$sql 'SELECT `group_id` FROM `'.TABLE_PREFIX.'mod_news_groups` WHERE `title`=\''.$newsgroup.'\'';
    
$retval intval($GLOBALS['database']->get_one($sql));
    return 
$retval// 0 = nichts gefunden oder Fehler | >0 = ID der gefundenen Gruppe
}

// Anwendung:
displayNewsItems(
   
$group_id mod_news_getGroupIdByName('Testgruppe'),

?>
« Last Edit: January 26, 2012, 09:58:26 PM by DarkViper » Logged

Anleitungen lesen und selber nachdenken ist anstrengend...  Da lass ich doch lieber andere für mich denken...

In 1984:  Nineteen Eighty-Four is a unrealistic utopia!!
In 2012:  Nineteen Eighty-Four is a little piece only of our reality!!
Stefek
WebsiteBaker Org e.V.

Offline Offline

Posts: 4884



« Reply #5 on: January 27, 2012, 10:15:58 AM »

Probleme gibts natürlich, wenn der Name der Gruppe im Nachhinein umbenannt wird.
Logged

"In a time of universal deceit, telling the truth becomes a revolutionary act."
- George Orwell, Nineteen eighty-four (1984)
edduzzz

Offline Offline

Posts: 7


« Reply #6 on: January 27, 2012, 09:05:41 PM »

Hi Jungs,

danke für die antworten. Habs letztendlich so geschafft:

Code: (php)
<?php
function mod_news_getGroupIdByName($newsgroup) {
$sql 'SELECT `group_id` FROM `'.TABLE_PREFIX.'mod_news_groups` WHERE `title`=\''.$newsgroup.'\'';
$query=$GLOBALS['database']->query($sql);
if ($query->numRows()>1) {
$row=$query->fetchRow();
$newsgroup_id 'array('.$row['group_id'];
while ($row=$query->fetchRow()) {
$newsgroup_id .= ', '.$row['group_id'];
}
return $newsgroup_id .= ')';
} elseif ($query->numRows()==1) {
$row=$query->fetchRow();
return $row['group_id'];
} else {
return 0;
}
?>


@Stefek deine Funktion war sehr gut leider gibt Sie nur einen Wert zurück. Ich gehe jedoch davon aus dass der selbe Newsgroup_Name mehrmals verwendet wird, gibt also mehr als eine ID.

Probleme gibts natürlich, wenn der Name der Gruppe im Nachhinein umbenannt wird.
Ja, ist aber für denn Otto Normalverbraucher einfacher den neuen String einzugeben als nach der ID in der DB über die Konsole zu suchen...

Danke an alle ...
Logged
Pages: [1]   Go Up
Print
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!