summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcookie <cookie@29ba0400-6e00-0410-a75a-ca02368028f8>2006-11-20 22:59:30 +0000
committercookie <cookie@29ba0400-6e00-0410-a75a-ca02368028f8>2006-11-20 22:59:30 +0000
commit029b1be5f638e48e0d521967d3bf70eb6b383612 (patch)
tree1eab02a8c985b406ee2043f0ee3bcf4bb7e05a76
parent8f94dca624541ab4e03f520ccf2ead4d0a7a950f (diff)
es werden nur noch die aenderungen in die db geschrieben
git-svn-id: svn://svn.cccv.de/engel-system@169 29ba0400-6e00-0410-a75a-ca02368028f8
-rw-r--r--www-ssl/inc/funktion_db.php58
1 files changed, 35 insertions, 23 deletions
diff --git a/www-ssl/inc/funktion_db.php b/www-ssl/inc/funktion_db.php
index 6533c215..2975501b 100644
--- a/www-ssl/inc/funktion_db.php
+++ b/www-ssl/inc/funktion_db.php
@@ -2,33 +2,45 @@
if( !function_exists("db_query"))
{
- function Ausgabe_Daten($SQL)
+ function db_querry_getDatenAssocArray($SQL)
{
- global $con;
-
-
+ global $con;
+
$Erg = mysql_query($SQL, $con);
echo mysql_error($con);
- $Zeilen = mysql_num_rows($Erg);
- $Anzahl_Felder = mysql_num_fields($Erg);
+ $Daten = array();
+ for( $i=0; $i<mysql_num_rows($Erg); $i++)
+ $Daten[$i] = mysql_fetch_assoc($Erg);
+
+ return $Daten;
+ }
+
+ function db_querry_diffDaten($Daten1, $Daten2)
+ {
+ $gefunden=False;
- $Diff = "<table border=1>";
- $Diff .= "<tr>";
- for ($m = 0 ; $m < $Anzahl_Felder ; $m++)
- $Diff .= "<th>". mysql_field_name($Erg, $m). "</th>";
- $Diff .= "</tr>";
- for ($n = 0 ; $n < $Zeilen ; $n++)
+ $Diff = "\n<table border=1>\n";
+ $Diff .= "<tr>\n\t<th>Feldname</th>\n\t<th>old Value</th>\n\t<th>new Value</th>\n";
+ $Diff .= "</tr>\n";
+ foreach($Daten1 as $DataKey => $Data1)
{
- $Diff .= "<tr>";
- for ($m = 0 ; $m < $Anzahl_Felder ; $m++)
- $Diff .= "<td>".mysql_result($Erg, $n, $m). "</td>";
- $Diff .= "</tr>";
+ $Data2 = $Daten2[$DataKey];
+ foreach($Data1 as $key => $value)
+ if( $value != $Data2[$key])
+ {
+ $Gefunden=TRUE;
+ $Diff .= "<tr>\n\t<td>$key</td>\n\t<td>$value</td>\n\t<td>".$Data2[$key]."</rd>\n</tr>";
+ }
}
- $Diff .= "</table>";
- return $Diff;
+ $Diff .= "</table>\n";
+
+ if( $Gefunden)
+ return $Diff;
+ else
+ return "\nno changes Fount\n";
}
-
+
function db_query( $SQL, $comment)
{
global $con, $Page;
@@ -57,10 +69,10 @@ if( !function_exists("db_query"))
}
else
{
- $Diff .= Ausgabe_Daten( "SELECT * FROM $Table $Where");
- //execute command
- $querry_erg = mysql_query($SQL, $con);
- $Diff .= Ausgabe_Daten( "SELECT * FROM $Table $Where");
+ $Daten1 = db_querry_getDatenAssocArray( "SELECT * FROM $Table $Where");
+ $querry_erg = mysql_query($SQL, $con);
+ $Daten2 = db_querry_getDatenAssocArray( "SELECT * FROM $Table $Where");
+ $Diff = db_querry_diffDaten($Daten1, $Daten2);
}
}
elseif( strpos( "#$SQL", "DELETE") > 0)