Mehrere Abfragen in einer Funktion - Hilfe

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Mehrere Abfragen in einer Funktion - Hilfe

    Hallo zusammen.

    Ich möchte eine Bewertung in einer Joomla-Konponente auf mehrere Bewertungen erweitern.
    Alles Funktioniert soweit.
    Jetzt habe ich aber das Problem, dass diese nach der Bewertung deaktiviert werden sollen und die Bewertung anzeigen sollen.

    Die Funktion die ich da nun habe sieht folgendermaßen aus.

    PHP-Code:
    function getRatedByThisUser(){
            
            if (empty( 
    $this->is_rated )){
                
                
    $user = & JFactory::getUser();

                    
    $query =     ' SELECT COUNT(*) '.
                                
    ' FROM #__music_ratings '.
                                
    ' WHERE user_id = ' $user->id .
                                
    ' AND album_id = ' $this->_id .
                                
    ' AND ( type = "album" )'
                                
    ;
                    
                    
    $this->_db->setQuery$query );
                    
    $this->is_rated $this->_db->loadResult();
                    
                    if(
    $this->is_rated){
                        
    $query =     ' SELECT points '.
                                    
    ' FROM #__music_ratings '.
                                    
    ' WHERE user_id = ' $user->id .
                                    
    ' AND album_id = ' $this->_id .
                                    
    ' AND ( type = "album" )'
                                    
    ;
                        
                        
    $this->_db->setQuery$query );
                        
    $this->is_rated $this->_db->loadResult();
                        
                    
                    }
            }
                
            return 
    $this->is_rated;
                
        } 
    Bei dem erweitern dieser Funktion bin ich mit allem was mir einfiel bisher gescheitert.
    Einfaches Kopieren und abändern hat nicht funktioniert.
    Bei den anderen Teilen klappte das bisher ganz gut.

    Ausgegeben wird das mit diesem hier.

    PHP-Code:
    <? if($user->id && $this->params->get('showalbumratings') ){ // show the rating system ?>
    <? if(!$this->is_rated){ ?>
    <h4 class="albuminfo"><? echo JText::_(Gesamtbewertung'); ?></h4>
    <div class="album_rating"><? echo MusicHelper::show_stars(0,false,$this->album->id); ?></div>
    Bewerte das Album.
    <?php echo $this->is_rated?>

    <? } else{ ?>
    <h4 class="albuminfo"><? echo JText::_('Gesamtbewertung gespeichert'); ?></h4>
    Deine Bewertung: <?php echo $this->is_rated?> of 6<br>
    Danke ! Du hast dir <span class="color-text">1 Punkt</span> verdient.

    <? } } ?>
    Erste Zeile kann nicht abgeändert werden, sonst funktioniert das nicht.
    Kernpunkt ist hierbei das "$this->is_rated"
    Dieser gibt die Bewertung von 1-6 als Zahl aus.

    Jetzt habe ich insgesamt 6 verschiedene Bewertungen davon, die nun jeweils den richtigen Wert übermittelt bekommen müssen.

    Diese sind mit unterschiedlichen Typen in der Datenbank hinterlegt.
    Und werden hier in dieser Funktion mit (type = "album") für den einen typ abgerufen.

    Kann mir da jemand einen Tipp geben, wie ich da am besten vorgehe !?
    Ich sitze an dem Problem schon 4 Tage und weiß einfach nicht mehr weiter.

    Würd mich freuen, wenn einer nen Tipp hat.

    Grüße,
    Johannes
Lädt...
X