Dominik: PHP/MySQL: Wert aus der DB auslesen und verknüpfen

Beitrag lesen

Hallo zusammen,

folgende Fragestellung:

Ich möchte eine Joomla-Komponente anpassen und stoße hier bei einer Datenbankabfrage (MySQL) auf Probleme.

Die Komponente (DT Register) soll einen Wert aus der DB auslesen und in der Admin-Ansicht ausgeben.

  
 <?php  
  
		$k = 0;  
  
		$i = 0;  
  
		$fieldNameMap = $this->mUser->table->TableUserfield->Tablefield->mapNametoId();  
		  
        if($this->rows)  
		foreach($this->rows as $row){  
            $fee = $this->mUser->table->TableFee->findByUserId($row->userId);  
			  
			$name = array();  
  
			$link = 'index.php?option=com_dtregister&task=edit&controller=user&cid[]='. $row->userId;  
  
			$field_values = $this->mUser->table->TableUserfield->findByUserId($row->userId);  
			  
			$field_address = $field_values[$fieldNameMap['address']];  
			  
			$field_lastname = $field_values[$fieldNameMap['lastname']];  
			  
			$field_zip = $field_values[$fieldNameMap['zip']];  
			  
			$field_city = $field_values[$fieldNameMap['city']];  
			  
			$field_phone = $field_values[$fieldNameMap['phone']];  
			  
			$field_studiengang = $field_values[$fieldNameMap['studiengang']];  
			  
			$field_semester = $field_values[$fieldNameMap['semester']];  
  
			$name = array();  
            if(isset($field_values[$fieldNameMap['firstname']])){  
			 $name[] = $field_values[$fieldNameMap['firstname']];  
			}  
			$name = implode(" ",array_filter($name));  
			$email = "";  
			if(isset($field_values[$fieldNameMap['email']])){  
			$email = $field_values[$fieldNameMap['email']];  
			}  
  
		 ?>  

Das klappt bei obenstehendem Code auch (fast! ausschließlich) gut. Ausnahme ist die Abfrage des Studiengangs. Dieser ist in der DB-Tabelle (ufivb\_dtregister\_user\_field\_values) als Zahl hinterlegt. Die zugehörigen Werte liegen in einer anderen Tabelle (ufivb_dtregister_fields) und zwar als value durch Striche voneinandergetrennt: BW: Betriebswirtschaft|IB: Internationale Betriebswirtschaftslehre usw. (BW ist also 1, IB 2 usw.)

Wie müsste denn eine korrekte Abfrage aussehen, damit in meiner Übersicht nicht die Zahlen, sonder die dazugehörigen Werte auftauchen?

Herzlichen Dank schon mal für Unterstützung!

Viele Grüße
Dominik