Magellan Linux

Diff of /alx-src/branches/alx-web-050/include/basesql.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1609 by niro, Thu Dec 2 19:56:40 2010 UTC revision 1610 by niro, Thu Dec 2 23:02:19 2010 UTC
# Line 1  Line 1 
1  <?  <?
2   // Verbinden   // Verbinden
3   include('dbconn.php');   include('dbconn.php');
4    
5   // Codiert die Anführungszeichen in einem String, sodass man ihn   // Codiert die Anführungszeichen in einem String, sodass man ihn
6   // in einem SQL-Aufruf einbinden kann   // in einem SQL-Aufruf einbinden kann
7   function redir($str)   function redir($str)
8   {   {
9   $slash = "\\";   $slash = "\\";
10   return str_replace("'", $slash."'", str_replace($slash, $slash.$slash, $str));   return str_replace("'", $slash."'", str_replace($slash, $slash.$slash, $str));
11   }   }
12    
13   function updatestr($arr)   function updatestr($arr)
14   {   {
15   $res = '';   $res = '';
16   foreach($arr as $k=>$v)   foreach($arr as $k=>$v)
17   { if($res!='') $res.=','; $res.=$k.'=\''.redir($v).'\''; }   { if($res!='') $res.=','; $res.=$k.'=\''.redir($v).'\''; }
18   return $res;   return $res;
19   }   }
20    
21   // Fügt der Tabelle $db einen neuen Datensatz mit den Werten des asso. Arrays $vals hinzu   // Fügt der Tabelle $db einen neuen Datensatz mit den Werten des asso. Arrays $vals hinzu
22   function sqladd($db, $vals)   function sqladd($db, $vals)
23   {   {
24   $q = "INSERT INTO $db (";   $q = "INSERT INTO $db (";
25   $i = 0; foreach($vals as $k=>$v) { if($i>0) { $q.=','; } $q .= redir($k); $i++; }   $i = 0; foreach($vals as $k=>$v) { if($i>0) { $q.=','; } $q .= redir($k); $i++; }
26   $q .= ") VALUES (";   $q .= ") VALUES (";
27   $i = 0; foreach($vals as $k=>$v) { if($i>0) { $q.=','; } $q .= "'".redir($v)."'"; $i++; }   $i = 0; foreach($vals as $k=>$v) { if($i>0) { $q.=','; } $q .= "'".redir($v)."'"; $i++; }
28   $q .= ');';   $q .= ');';
29    
30   $result = mysql_query($q) or die("Anfrage fehlgeschlagen: " . mysql_error());   $result = mysql_query($q) or die("Anfrage fehlgeschlagen: " . mysql_error());
31   }   }
32    
33   // Führt eine Callbackfunktion für alle Elemente eines Arrays aus   // Führt eine Callbackfunktion für alle Elemente eines Arrays aus
34   function arrforeach(&$arr, $func, $params)   function arrforeach(&$arr, $func, $params)
35   {   {
36   foreach($arr as $k=>$v)   foreach($arr as $k=>$v)
37   { $func($arr[$k], $params); }   { $func($arr[$k], $params); }
38   }   }
39    
40   // Holt ein array mit den Results einer MySQL-Abfrage   // Holt ein array mit den Results einer MySQL-Abfrage
41   function sqlarr($query, $arrkey='', $arrval='')   function sqlarr($query, $arrkey='', $arrval='')
42   {   {
43   $arr = array();   $arr = array();
44    
45   $result = mysql_query($query) or die("Anfrage fehlgeschlagen: " . mysql_error());   $result = mysql_query($query) or die("Anfrage fehlgeschlagen: " . mysql_error());
46   while ($line = mysql_fetch_array($result, MYSQL_ASSOC))   while ($line = mysql_fetch_array($result, MYSQL_ASSOC))
47   {   {
48   if($arrval=='')   if($arrval=='')
49   {   {
50   if($arrkey=='') $arr[] = $line;   if($arrkey=='') $arr[] = $line;
51   else $arr[$line[$arrkey]] = $line;   else $arr[$line[$arrkey]] = $line;
52   }   }
53   else   else
54   {   {
55   if($arrkey=='') $arr[] = $line[$arrval];   if($arrkey=='') $arr[] = $line[$arrval];
56   else $arr[$line[$arrkey]] = $line[$arrval];   else $arr[$line[$arrkey]] = $line[$arrval];
57   }   }
58   }   }
59    
60   return $arr;   return $arr;
61   }   }
62    
63   // Kopplung zw. arrforeach(sqlarr(...))   // Kopplung zw. arrforeach(sqlarr(...))
64   function sqlforeach($query, $func, $params)   function sqlforeach($query, $func, $params)
65   { arrforeach(sqlarr($query), $func, $params); }   { arrforeach(sqlarr($query), $func, $params); }
66    
67   // ...   // ...
68   function sqlfirst($query, $prop='')   function sqlfirst($query, $prop='')
69   {   {
70   $result = mysql_query($query) or die("Anfrage fehlgeschlagen: " . mysql_error());   $result = mysql_query($query) or die("Anfrage fehlgeschlagen: " . mysql_error());
71   if($line = mysql_fetch_array($result, MYSQL_ASSOC)) $res = $line;   if($line = mysql_fetch_array($result, MYSQL_ASSOC)) $res = $line;
72   else $res = array();   else $res = array();
73    
74   if($prop!='') $res = $res[$prop];   if($prop!='') $res = $res[$prop];
75   return $res;   return $res;
76   }   }
77    
78   // ...   // ...
79   function sqlcount($what)   function sqlcount($what)
80   {   {
81   $res = sqlfirst('SELECT count(*) c FROM '.$what);   $res = sqlfirst('SELECT count(*) c FROM '.$what);
82   return $res['c'];   return $res['c'];
83   }   }
84  ?>  ?>

Legend:
Removed from v.1609  
changed lines
  Added in v.1610