← Back
Editing: class.php
<?php # funzioni di interrogazione al db # versione 0.5 $id_utente = 1; # $_SESSION['id_utente']; $outFlds = array ('id', 'az', 'op', 'pg', 'st', 'tp', 'invio', 'userfile', 'ordineOld', 'PHPSESSID'); $dateFlds = array ('data_pres'); class doQuery { public function delete () { global $conn, $table, $id, $dbi; $sql = "DELETE FROM `".$table."` WHERE `id` = ".$id." LIMIT 1"; $dbi->query ($sql) or die ($sql."<br>".$dbi->error); } public function insert ($fields, $noempty) { global $table, $id_utente, $id, $outFlds, $dateFlds, $dbi, $query; $ef = 0; $cond = ""; if ($id_utente != 1) { $fieldL = "`id_utente`,"; $valueL = $id_utente.","; } # controllo dei campi vuoti for ($i=0; $i<count($noempty); $i++) if ($fields[$noempty[$i]] == "") $ef = 1; # controllo dei duplicati foreach ($fields as $key=>$val) if (!in_array ($key, $outFlds)) $cond.= " AND `".$key."` = '".addslashes ($val)."'"; if ($id_utente == 1) $sql = "SELECT COUNT(*) FROM `".$table."` WHERE 1 ".$cond; else $sql = "SELECT COUNT(*) FROM `".$table."` WHERE `id_utente` = '".$id_utente."' ".$cond; $ris = $dbi->query ($sql) or die ($sql."<br>".$dbi->error); $row = $ris->fetch_assoc (); $cr = $row['COUNT(*)']; if (!$ef && !$cr) { # se non ci sono campi vuoti o e' ripetuto si puo' inserire foreach ($fields as $key=>$val) { if (!in_array($key, $outFlds)) { $fieldL.= "`$key`,"; if (in_array ($key, $dateFlds)) $valueL.= "'".data2date ($val)."',"; else $valueL.= "'".addslashes ($val)."',"; } } $fieldL = rtrim ($fieldL, ','); $valueL = rtrim ($valueL, ','); $sql = "INSERT INTO `".$table."` (".$fieldL.") VALUES (".$valueL.")"; $dbi->query ($sql) or die ($sql."<br>".$dbi->error); } } public function update ($fields, $noempty) { global $conn, $table, $id, $outFlds, $dateFlds, $dbi, $query; $ef = 0; # controllo dei campi vuoti for ($i=0; $i<count($noempty); $i++) if ($fields[$noempty[$i]] == "") $ef = 1; if (!$ef) { # se non ci sono campi vuoti si puo' inserire $sql = "UPDATE `".$table."` SET"; foreach ($fields as $key=>$val) if (!in_array($key, $outFlds)) if (in_array ($key, $dateFlds)) $sql.= " `$key` = '".data2date ($val)."',"; else $sql.= " `".$key."` = '".addslashes ($val)."',"; $sql = rtrim ($sql, ','); $sql.= " WHERE `id` = ".$id." LIMIT 1"; $dbi->query ($sql)or die ($sql."<br>".$dbi->error); } } public function selectById ($typeRet) { global $conn, $table, $id, $dbi, $query; $query = new doQuery(); $sql = "SELECT * FROM `".$table."` WHERE `id` = ".$id." LIMIT 1"; $row = $query->freeQuery ($sql, $typeRet); return $row[0]; } public function selectFldAs ($table, $fields, $typeRet) { global $conn, $id, $outFlds; $query = new doQuery(); foreach ($fields as $key=>$val) if (!in_array($key, $outFlds)) $fieldL.= " `$key` AS `$val`,"; $fieldL = rtrim ($fieldL, ','); $sql = "SELECT $fieldL FROM `".$table."` WHERE `id` = ".$id." LIMIT 1"; $row = $query->freeQuery ($sql, $typeRet); return $row[0]; } public function selectAll ($table, $ord, $pag, $typeRet, $whCond) { global $conn, $id_utente, $id, $az, $perpg, $dbi, $query; $query2 = new doQuery(); $rowsArr = array (); if ($id_utente == 1) $sql = "SELECT * FROM `".$table."` WHERE 1 ".$whCond; else $sql = "SELECT * FROM `".$table."` WHERE `id_utente` = ".$id_utente." ".$whCond; if ($pag) { $cntRows = $query2->rowsCount ($table); $pgTot = ceil ($cntRows/$perpg); $limit = " LIMIT ".($perpg*($pag-1)).", $perpg"; } if ($az == "ed") $sql.= " AND `id` != $id"; if (count($ord)) { $sql.= " ORDER BY"; foreach ($ord as $key=>$val) $sql.= " `$key` $val,"; } $sql = rtrim ($sql, ',').$limit; $ris = $dbi->query ($sql) or die ($sql."<br>".$dbi->error); if ($typeRet == 0) while ($row = $ris->fetch_object ()) array_push ($rowsArr, $row); else if ($typeRet == 1) while ($row = $ris->fetch_array ()) array_push ($rowsArr, $row); return $rowsArr; } public function selectId ($table) { global $conn, $id_utente; $idAr = array (); $query2 = new doQuery (); $rows = $query2->freeQuery ("SELECT `id` FROM `".$table."` WHERE `id_utente`='".$id_utente."'", 0); foreach ($rows AS $row) array_push ($idAr, $row->id); return $idAr; } public function rowsCount ($table) { $query3 = new doQuery(); $sql = "SELECT COUNT(`id`) AS `count` FROM `$table` WHERE 1"; $row = $query3->freeQuery ($sql, 0); return $row[0]->count; } public function freeQuery ($sql, $typeRet) { global $dbi; $rowsArr = array (); if ($typeRet != 10) $ris = $dbi->query ($sql) or die ($sql."<br />".$dbi->error); if (strpos ("@".strtoupper($sql), 'SELECT') == 1) { switch ($typeRet) { case 0: # oggetto while ($row = $ris->fetch_object ()) $rowsArr[] = $row; break; case 1: # array con nome e numero while ($row = $ris->fetch_array ()) $rowsArr[] = $row; break; case 2: # array con nome while ($row = $ris->fetch_assoc ()) $rowsArr[] = $row; break; case 3: # array ocn numero while ($row = $ris->fetch_row ()) $rowsArr[] = $row; break; case 4: # oggetto con echo di query while ($row = $ris->fetch_object ()) $rowsArr[] = $row; eco ($sql); eco ($rowsArr); break; case 5: # array con echo di query while ($row = $ris->fetch_array ()) $rowsArr[] = $row; eco ($sql); eco ($rowsArr);; break; case 10: # solo echo di query while ($row = $ris->fetch_object ()) $rowsArr[] = $row; eco ($sql); eco ($rowsArr); break; } $ris->close (); return $rowsArr; } else if ($typeRet > 3) eco ($sql); else return $dbi->insert_id; } } ?>
Save File
Cancel