Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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

Properties

Name Value
svn:executable *