
30-05-2006, 08:51
|
 |
|
|
חבר מתאריך: 23.02.05
הודעות: 496
|
|
[קוד] - יצירת שאילתה
מכירים את זה כשישלכם טופס עם הרבה שדות ואחרי זה לנתח את כל המידע ולשלוח אותו לבסיס זה יוצא 200 שורות טוב אז כתבתי קלאסס
קוד PHP:
<?php class make_query { var $vaules; var $table; function make_query($fields ,$t) { global $_POST,$_GET; $this->table = $t; if(isset($_POST['Submit'])) foreach($_POST as $key => $val) if(in_array($key ,$fields)) $this->vaules[$key] = htmlspecialchars($val, ENT_QUOTES); else foreach($_GET as $key => $val) if(in_array($key ,$fields)) $this->vaules[$key] = htmlspecialchars($val, ENT_QUOTES); } function finsert() { #INSTERT INTO `table` ( `field1` ,`field2` ) VAULES ( 'vaule1' ,'vaule2' ); $insert = "INSERT INTO `".$this->table."` ("; $vaules = "VALUES ("; foreach($this->vaules as $field => $vaule) { $insert .= "`".$field."`,"; $vaules .= "'".$vaule."',"; } $insert{strlen($insert)-1} = ")"; $vaules{strlen($vaules)-1} = ")"; $vaules .= ";"; $sql = $insert." ".$vaules; return $sql; } function fupdate($key_field ,$key_num ,$limit = 1) { #UPDATE `table` SET `field` = 'vaule' WHERE `key_field` = key_num LIMIT 1 ; $update = "UPDATE `".$this->table."` SET "; foreach($this->vaules as $field => $vaule) { $update .= "`".$field."`='".$vaule."' ,"; } $update{strlen($update)-1} = ")"; $sql = $update ." WHERE `".$key_field."` = '".$key_num."' LIMIT ".$limit.";"; return $sql; } }; $blah = new make_query(array("name","password","email")); $sql = $blah->finsert(); ?>
לא כתבתי הערות כי בעיקרון זה לפרויקט שאני עושה אבל חשבתי שזה לא יזיק פה לפורום
עם למישהוא יש שאלה בכיף
נ.ב
לא הרצתי את זה (עדיין)
אבל עשיתי בדיקת syntax :
קוד:
leon@dserv:~$ php -l class.php
No syntax errors detected in class.php
וזה בסדר
בעיקרון זה מקבל את "איזה שדות להכליל בשאילתה מתוך כל מה שנשלח" ופולט שאילתה בהתאם לפונקציה שהרצתם
insert / update
נערך לאחרונה ע"י DRagonRage בתאריך 30-05-2006 בשעה 08:58.
|