Magellan Linux

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

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

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

Legend:
Removed from v.2181  
changed lines
  Added in v.2182