Jump to content
php.lv forumi

Noderīgas funkcijas


Pentiums

Recommended Posts

  • Replies 108
  • Created
  • Last Reply

Top Posters In This Topic

Saskaita un atgriež ierakstus no MySQL tabulas

function dbCount($field, $table, $conditions = '') {
$result = @mysql_query("SELECT COUNT(".$field.") FROM ".$table." ".$conditions);
if(!$result) {
	echo mysql_error();
	return false;
}
else {
	$rows = mysql_result($result, 0);
	return $rows;
}
}

echo dbCount("*", "lietotaji", "WHERE banots = '1'");

Edited by Pentiums
Link to comment
Share on other sites

Biezji nakas izvadiit droptdovnus kur ir skaitliskas vertiibas, piemeram dzimsanas gadus, datumus etc.

lai lieki neteretu lauku rakstot <option ... > sen izmantoju shaadu funkciju ...

function selectbokss_numur($no,$lidz,$izvele='',$kursh=3,$solis=1)
{
/* selectbokss_numur atgriezj numureetus <option> laukus  piemeeram erti izmantot ja vajag izvadiit datuma izveeles laukus
kursh - 1 vai 2 - ja 1 un nav izvele tad select ir 1 el ja 2 tad peedeejais defaultaa =1
$no= integer
$liidz = integer
$izvele = kuram jaabuut ieselekteetam
$solis = ar cik lielu soli izvadiit 
ateeloshanai: standart HTML <select...> atgriestie dati </select>
Piemeram dzimsanas gadus no 1970- 2005
<select name="gads"><?php echo selectbokss_numur(1970,2005); ?></select>

*/


 if (!$izvele or $izvele=="")
{

 if ($kursh=="1")
{
 $izvele=$no;
 }
 elseif($kursh=="2")
 {
 $izvele=$lidz;
 }
 else
 {
 $izvele='';
 }


 }
 $atgriezamaa_vertiiba='';
 for ($i=$no; $i<=$lidz; $i=$i+$solis)
 {
   if ($izvele==$i)
   {
     $select1='selected';
   }
   else
   {
     $select1='';
   }

   if($kursh==4)
   {
     if($i<10)
     {
       $fom_izv='0'.$i;
     }
     else
     {
      $fom_izv=$i; 
     }
   }
   else
   {
     $fom_izv=$i; 
   }
$atgriezamaa_vertiiba .='<option '.$select1.' value="'.$i.'">'.$fom_izv.'</option>';
}
return $atgriezamaa_vertiiba;
}

Link to comment
Share on other sites

Vilk, tev laikam maksā par rindiņu skaitu? savādāk nevaru izskaidrot, kāpēc katra otrā rindiņa tavā kodā ir { vai }

vai tu esi kko dzirdējis par ternary operatoru?

 

piemēram, šos koda gabalus

if ($izvele==$i)
{
 $select1='selected';
}
else
{
 $select1='';
}

if($kursh==4)
{
 if($i<10)
 {
   $fom_izv='0'.$i;
 }
 else
 {
   $fom_izv=$i;
 }
}
else
{
 $fom_izv=$i;
}

var uzrakstīt arī šādi

$select1 = $izvele==$i ? 'selected' : '';

$fom_izv = $kursh==4 ? ($i<10 ? '0'.$i : $i) : $i;

nevajag taču no mušas uzpūst ziloni, vai ne?

 

tā jau savādāk html automatizācija ir laba lieta. pareizs piegājiens ;)

Link to comment
Share on other sites

Vilk, tev laikam maksā par rindiņu skaitu? savādāk nevaru izskaidrot, kāpēc katra otrā rindiņa tavā kodā ir { vai }

vai tu esi kko dzirdējis par ternary operatoru?

kada starpiba? koda izpildes atrumu tas nemaina, un Man ts pilniba apmierina ...

kaa jau piemineju sohamo funkciju lietoju jau sen etak gadus piecus vismaz.. Un taa ka vinja savu darbibu izpilda tad nesmu pat piedomajis pie optimizcijas

nevajag taču no mušas uzpūst ziloni, vai ne?

Tieshi taa , laikam tev ljoti gribeejas paspiidet, un neko pratiigaku ko piebilst neatradi :D

Link to comment
Share on other sites

ja turpina tēmu par optimizēšanu, tad tādas vnkāršas, bet bieži lietojamas funkcijas var izsaukt caur wrapper funkciju, kura inkapsulē kkādu standarta datu apstrādi un/vai satur jau sagatavotus standarta argumentus. tādējādi izstrādātājam ir ērts/vnkāršs interfeiss, kas noslēpj kkādus tehniskus sīkumus. piemēram, šajā gadījumā

function spd($s, $iLen, $sPd = ' ') {return str_pad($s, $iLen, $sPd, STR_PAD_LEFT);}  // string pad

un pielietojums

$fom_izv = $kursh==4 ? spd($i, 2, 0) : $i;

protams, šī ir ļoti sīka optimizācija, taču ja bieži vajag taisīt paddingu, tad vieglāk ir nodefinēt un lietot šādu funkciju, nekā katru reizi rakstīt STR_PAD_LEFT, STR_PAD_LEFT, STR_PAD_LEFT, ...

 

tiesa gan šī optimizācija ir for developer, nevis for cpu/performance, jo papildus function call maksā dažas mikrosekundes (vienam izsaukumam tas ir sīkums, bet daudziem...). no otras puses samazinot php koda apjomu, php parserim ir jāparse mazāk koda. šajā ziņā atkal ir neliels ieguvums (tik pat mikroskopisks) arī for cpu/performance ;)

Link to comment
Share on other sites

Sīkums, bet noderīgi :) man parasti neiet pie sirds pēc $ rakstīt _ :)

 

Nebūs forši, ja error_reporting(E_ALL);

 

Es šādi izmantoju:

function get($key, $default = '')
{
return isset($_GET[$key]) ? $_GET[$key] : $default;
} // get

function post($key, $default = '')
{
return isset($_POST[$key]) ? $_POST[$key] : $default;
} // post

function postget($key, $default = '')
{
return isset($_POST[$key]) ? $_POST[$key] : get($key, $default);
} // postget

function sess($key, $default = '')
{
return isset($_SESSION[$key]) ? $_SESSION[$key] : $default;
} // sess

function cookie($key, $default = '')
{
return isset($_COOKIE[$key]) ? $_COOKIE[$key] : $default;
} // cookie

function server($key, $default = '')
{
return isset($_SERVER[$key]) ? $_SERVER[$key] : $default;
} // server

function upload($key, $default = '')
{
return isset($_FILES[$key]) ? $_FILES[$key] : $default;
} // upload

Link to comment
Share on other sites

^^ principā man arī ir ļoti līdzīga kolekcija :D

function env($k) {return isset($_SERVER[$k]) ? $_SERVER[$k] : null;}  // web applikācijas vides mainīgais (environment variable)
function arg($k) {return isset($_POST[$k]) ? $_POST[$k] : (isset($_GET[$k]) ? $_GET[$k] : null);}  // web applikācijas arguments - izdod attiecīgā post/get parametra vērtību
function ck($k) {return isset($_COOKIE[$k]) ? $_COOKIE[$k] : null;}  // cookie
function ses($k) {return isset($_SESSION[$k]) ? $_SESSION[$k] : null;}  // session

arguments $k - key (vnk array key)

 

1) defaultās vērtības reti vajag, tāpēc tajos nedaudzajos gadījumos tās menedžējas augstāk

2) atsevišķi šķirot get/post arī nav bijusi tāda vajadzība

3) uploadi vajadzīgi relatīvi reti, tāpēc tos šādi nestandartizēju. turklāt ir ērti uzreiz vienā statementā piekļūt $_FILES['file']['tmp_name'], nevis taisīt atsevišķi $a = upload('file'); $a['tmp_name']

Link to comment
Share on other sites

ja to apvieno ar tādu kā validāciju, tad apstrādājot saņemtos formas datus, vajag arī kkā paziņot, tipa ka "nav pareizs email formāts!" vai arī "datums nepareizā formātā!" utt. kā tu savādāk to lietotājam pateiksi? sanāk, ka tai funkcijai ir jāizdod 2x vērtības 1) pati vērtība un 2) vai tā atbilst required

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...