Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 7091 - (hide annotations) (download)
Wed Sep 9 07:54:08 2015 UTC (8 years, 8 months ago) by niro
File size: 2025 byte(s)
-convert to utf8
1 niro 1610 <?
2    
3 niro 2182 // Verbinden
4     include('dbconn.php');
5 niro 1610
6 niro 7091 // Codiert die Anführungszeichen in einem String, sodass man ihn
7 niro 2182 // in einem SQL-Aufruf einbinden kann
8     function redir($str)
9     {
10     $slash = "\\";
11     return str_replace("'", $slash."'", str_replace($slash, $slash.$slash, $str));
12     }
13 niro 1610
14 niro 2182 function updatestr($arr)
15     {
16     $res = '';
17     foreach($arr as $k=>$v)
18     { if($res!='') $res.=','; $res.=$k.'=\''.redir($v).'\''; }
19     return $res;
20     }
21 niro 1610
22 niro 7091 // Fügt der Tabelle $db einen neuen Datensatz mit den Werten des asso. Arrays $vals hinzu
23 niro 2182 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 niro 1610
31 niro 2182 $result = mysql_query($q) or die("Anfrage fehlgeschlagen: " . mysql_error());
32     }
33 niro 1610
34 niro 7091 // Führt eine Callbackfunktion für alle Elemente eines Arrays aus
35 niro 2182 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     $result = mysql_query($query) or die("Anfrage fehlgeschlagen: " . mysql_error());
47     while ($line = mysql_fetch_array($result, MYSQL_ASSOC))
48 niro 1610 {
49 niro 2182 if($arrval=='')
50 niro 1610 {
51 niro 2182 if($arrkey=='') $arr[] = $line;
52     else $arr[$line[$arrkey]] = $line;
53 niro 1610 }
54 niro 2182 else
55     {
56     if($arrkey=='') $arr[] = $line[$arrval];
57     else $arr[$line[$arrkey]] = $line[$arrval];
58     }
59 niro 1610 }
60    
61 niro 2182 return $arr;
62     }
63 niro 1610
64 niro 2182 // Kopplung zw. arrforeach(sqlarr(...))
65     function sqlforeach($query, $func, $params)
66     { arrforeach(sqlarr($query), $func, $params); }
67 niro 1610
68 niro 2182 // ...
69     function sqlfirst($query, $prop='')
70     {
71     $result = mysql_query($query) or die("Anfrage fehlgeschlagen: " . mysql_error());
72     if($line = mysql_fetch_array($result, MYSQL_ASSOC)) $res = $line;
73     else $res = array();
74 niro 1610
75 niro 2182 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    
86 niro 1610 ?>

Properties

Name Value
svn:executable *