hallo ich versuche jetzt schon seit tagen so ein Debugger Script für meine Seite zu machen,
das sieht bis jetzt so aus:
Damit möchte ich gerne Messages zu x belieb vielen gruppen zuordnen, der soll aber auch die gruppen sortieren also damit es keine doppelten gibt.
Der packt dann die einzelden gruppen ins einen array, das sieht dann z.b. so aus:
1|0|mysql
2|1|bla
3|2|box system
4|0|mysql
5|4|bla
6|5|user
3 werte getrennt durch ein | der 1. wert die id, der 2. zuordnungs- id zu welcher id die gruppe gehört und der 3. wer der gruppen name
Eigendlich soll die Ausgabe dann so aussehen:
1|0|mysql
2|1|bla
3|2|box system
6|2|user
Aber sie sieht so aus:
1|0|mysql
2|1|bla
3|3|box system
6|6|users
Von der Anzahl die er anzeigt eigentlich ok, aber die letzen beiden habe eine falsche zuordnungs- id.
Irgendwie hab ich das gefühl ich bin nah dran aber ich komme nicht weiter.
das sieht bis jetzt so aus:
PHP-Code:
<?php
class debug
{
//Klassen Variabeln.
//Error Variabeln.
var $error_count = 0;
var $error_last_id = 0;
var $error_new_typ = false;
var $error_typ = array();
var $error_msg = array();
//Klassen Funktionen.
//Error Funktionen.
function check_error($mode=false,$msg=false,$x=false,$count=false)
{
if(count($this->error_typ) > 0){
for($i=0; $i < count($this->error_typ); $i++)
{
//Errorgruppe in einen Array zerlegen.
$error_typ = explode("|",$this->error_typ[$x]);
if($x == "0"){
//Startgruppe.
if($msg == $error_typ[2]){
//Ist vorhanden.
$return_typ = false;
$return_msg = false;
$this->error_last_id = $error_typ[0];
break;
}else{
//Ist nicht vorhanden.
$return_typ = $this->error_count."|0|".$msg;
$return_msg = false;
if($x != $count-1) $this->error_last_id = $this->error_count;
}
}else{
//Gruppe.
if($msg == $error_typ[2]){
//Ist vorhanden.
$return_typ = false;
$return_msg = false;
$this->error_last_id = $error_typ[0];
break;
}else{
//Ist nicht vorhanden.
$return_typ = $this->error_count."|".$this->error_last_id."|".$msg;
$return_msg = false;
if($x != $count-1) $this->error_last_id = $this->error_count;
}
}
}
}else{
//Es ist noch keine Errorgruppe im Array vorhanden.
$this->error_last_id = $this->error_count;
$return_typ = $this->error_count."|0|".$msg;
$return_msg = false;
}
//Ausgabe.
if($mode == "typ"){
return $return_typ;
}elseif($mode == "msg"){
return $return_msg;
}
}
function set_derror($typ=false,$msg=false,$file=false,$line=false)
{
//Gruppe in einen Array zerlegen.
$error = explode("->",$typ);
for($x=0; $x < count($error); $x++)
{
$this->error_count++;
if($check_error = $this->check_error("typ",$error[$x],$x,count($error))){
//Gruppe wir hinzugefügt.
array_push($this->error_typ,$check_error);
}
}
}
function get_error()
{
for($x=0; $x < count($this->error_typ); $x++)
{
echo $this->error_typ[$x]."<br>";
}
}
}
$debug = new debug();
$debug->set_derror("mysql->bla->box system");
//$debug->set_derror("mysql->result->box system");
$debug->set_derror("mysql->bla->users");
//$debug->set_derror("mysql->result->users");
echo $debug->get_error();
?>
Der packt dann die einzelden gruppen ins einen array, das sieht dann z.b. so aus:
1|0|mysql
2|1|bla
3|2|box system
4|0|mysql
5|4|bla
6|5|user
3 werte getrennt durch ein | der 1. wert die id, der 2. zuordnungs- id zu welcher id die gruppe gehört und der 3. wer der gruppen name
Eigendlich soll die Ausgabe dann so aussehen:
1|0|mysql
2|1|bla
3|2|box system
6|2|user
Aber sie sieht so aus:
1|0|mysql
2|1|bla
3|3|box system
6|6|users
Von der Anzahl die er anzeigt eigentlich ok, aber die letzen beiden habe eine falsche zuordnungs- id.
Irgendwie hab ich das gefühl ich bin nah dran aber ich komme nicht weiter.