überprüfen ob mehrdimensionales Array

StefanR

Erfahrenes Mitglied
Hallo

ich habe da ein kleines Problem wo ich bisher leider noch keine Lösung gefunden habe und zwar habe ich eine Artikelklasse, wo ich die Möglichkeit habe mehrere Datensätze auszugeben oder nur einzelne Datensätze. (was ja auch der Sinn von OOP sein sollte), so nun ist aber das Problem, dass ich bestimmte Daten wie Timestamps zum Beispiel formatieren möchte. So das ist auch ganz schnell gemacht nur leider möchte ich nicht extra zwei Methoden dafür schreiben sondern per if das irgendwie abfangen. Geht das irgendwie mit einer Funktion oder so?

Aber hier nochmal meinen Code damit man das mal sehen kann:
PHP:
function getAll($stid=-1)
		{
			if ($stid==-1)
			{
				$sql="SELECT * FROM artikel WHERE kid='1'";
				$result=$this->db->query($sql);
			
				while ($row=$this->db->fetchAssoc($result))
				{
					$artikel[]=$row;	
				}
			}
			
			//Daten formatieren
			$artikel=$this->prepare($artikel);
			
			return $artikel;
		}
		
		function prepare($array)
		{
			//durchläuft das Array welches übergeben wurde 
			//und formatiert relevante Daten
			for ($i=0; $i<count($array);$i++)
			{
				$array[$i]['created']=date('d.m.Y H:i:s',$array[$i]['created']);				
			}
			return $array;	
		}
 
Naja es geht mir dabei ja nicht nur ums Datum sondern auch darum, dass ich später bestimmten Code ausperren möchte usw. . Aber danke für deine Antwort.
 
Nabend,

wie wär's denn, wenn du dir ein Flag mit in die Datenbank legst, dass dann die Formatierung entscheidet?
 
Morgen :-) ,

ich habs jetzt anders gemacht:

PHP:
function getAll($stid=-1)
		{
			if ($stid===-1)
			{
				$sql="SELECT a.stid,a.uid,a.kid,a.lastupdate,a.created, a.html,a.smileys,a.urls,a.titel, a.hometext, a.bodytext, b.name FROM artikel AS a , user AS b WHERE a.uid=b.uid LIMIT 50";
				$result=$this->db->query($sql);
			
				while ($row=$this->db->fetchAssoc($result))
				{
					$artikel[]=$this->prepare($row);	
				}
			}
			
			return $artikel;
		}
		
		function prepare($array)
		{
			//durchläuft das Array welches übergeben wurde 
			//und formatiert relevante Daten
			$array['created']=date('d.m.Y H:i:s',$array['created']);
			$array['lastupdate']=date('d.m.Y H:i:s',$array['lastupdate']);				
			
			return $array;	
		}

Jetzt nehme ich mir das "Datenbank-Array" alleine vor.
 
Zurück