[php] Sql Class By Yunie

noobinhu
em Tutoriais de Infraestrutura

noobinhu

Ex Administrador
avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 01/03/06Posts: 1022Gênero: Masculino

Primeiramente, as functions que esta classe contém:

 

  1. connect($host,$user,$pass,$db) - Conectar com o MySQL
  2. select_table($table_post) - Seleciona a tabela que será usada para as querys
  3. select_results($where) - Seleciona os resultados de uma query do tipo 'Select'
  4. show_results() - Mostra os resultados da última query
  5. getfield($field) - Pega as informações de um field na tabela escolhida anteriormente
  6. editfield($field_name,$new_fieldvalue,$where) - Edita um campo da tabela escolhida
  7. deleterow($where) - Deleta uma linha da tabela
  8. addrow($fields,$values) - Adciona uma linha a tabela
  9. query($query) - Simples query, igual mysql_query (não funciona com Select, não retorna os resultados).

 

Agora o arquivo da class/functions:

 

<?php

// YUNIE MYSQL LIB

// 100% CREDITS TO YUNIE

 

class sql

{

var $table;

var $last_query;

 

// function connect

function connect($host,$user,$pass,$db)

{

$sql = mysql_connect($host,$user,$pass);

if ($sql)

{

$sql1 = mysql_select_db($db);

if ($sql1)

{

return true;

}

else

{

echo "Error in DB MySQL connection.";

return false;

}

}

else

{

echo "Error in MySQL connection.";

return false;

}

}

// end function connect

 

 

 

 

// function select table

function select_table($table_post)

{

$this->table = $table_post;

return true;

}

// end function select table

 

 

 

// function select results

function select_results($where)

{

$a = 0;

$sql = mysql_query("SELECT * FROM $this->table WHERE $where");

echo mysql_error();

if (mysql_num_rows($sql) > 0) {

while ($row = mysql_fetch_assoc($sql)) {

foreach(array_keys($row) as $keys)

{

$results[$a][$keys] .= $row[$keys];

 

}

$a++;

}

}

$this->last_query = $results;

return $results;

}

// end function select results

 

 

 

// show function

function show_results()

{

$a = 0;

$sql_query = $this->last_query;

if (!empty($this->last_query))

{

while(!empty($this->last_query[$a]))

{

foreach(array_keys($this->last_query[$a]) as $keys)

{

echo $keys.' ['.$a.'] = '.$this->last_query[$a][$keys];

echo '<br>';

}

echo '<br>';

echo '<font color="red"><b>-------------------------------------------------------------------------</b></font>';

echo '<br>';

$a++;

}

 

}

else

{

echo 'Make a query before.';

}

}

// end show function

 

 

 

 

// get field function

function getfield($field)

{

$results[0] = $field.' results array';

$sql_query = $this->last_query;

$a = 1;

while(!empty($this->last_query[$a]))

{

foreach(array_keys($this->last_query[$a]) as $keys)

{

if ($keys == $field)

{

$results[$a] .= $sql_query[$a][$keys];

}

else

{

 

}

}

 

$a++;

}

 

 

return $results;

 

}

// end get field function

 

 

 

 

// edit field function

function editfield($field_name,$new_fieldvalue,$where)

{

$sql = mysql_query("UPDATE $this->table SET $field_name='$new_fieldvalue' WHERE $where");

echo mysql_error();

if ($sql)

{

return TRUE;

}

else

{

return FALSE;

echo mysql_error();

}

}

// finish edit field function

 

 

 

 

// delete row function

function deleterow($where)

{

$sql = mysql_query("DELETE FROM $this->table WHERE $where");

if ($sql)

{

return TRUE;

}

else

{

return FALSE;

echo mysql_error();

}

}

// end delete row function

 

 

 

// add function

function addrow($fields,$values)

{

$sql = mysql_query("INSERT INTO $this->table ($fields) VALUES ($values)");

if ($sql)

{

return TRUE;

}

else

{

return FALSE;

echo mysql_error();

}

}

// end add function

 

 

 

 

//simple query function

 

/* NOTES:

THIS FUNCTION DOESNT HAVE SUPPORTS TO 'SELECT'

ONLY TO 'UPDATE','DELETE','SHOW'

 

*/

function query($query)

{

$sql = mysql_query("$query");

if ($sql)

{

return TRUE;

}

else

{

return FALSE;

echo mysql_error();

}

}

//end simple query function

 

 

 

 

}

 

?>

 

Um simples script de uso:

 

$sql = new sql;

$sql_connect = $sql->connect('localhost','root','','cdcol');

$sql->select_table('cds');

$sql_query = $sql->select_results('1 = 1');

$a = 0;

$sql->show_results();

$host = $sql->getfield('help_keyword_id');

echo $host[2];

$sql->editfield('titel','oit esta','1 = 1');

$sql->deleterow('1 = 1');

$sql->addrow('titel,interpret,jahr,id','"oi" , "saohasui","sauhuas",id');

 

 

Obs.: Esta classe é avançada, não aconselhável ser usada por iniciantes.

 

//Yunie~

-LMS-

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 28/03/07Posts: 43Char no Tibia: Rezhos

Nossa kra, como vc conseguir ficar tão safo em tão pouco tempo ?



Att,
Leandro Sousa
webdesigner
leandro_lms@yahoo.com.br

bachieguinha

avatar
Banidos
Banidos

INFOS

Grupo: BanidosRegistrado: 06/01/07Posts: 603

Uu

Apesar de não entender muito bem, vindo de vc só pode ser mais um belo trabalho \õ/

Parabéns mlk ;)



RedZL

Never mind, I'll find someone like you.
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 06/11/06Posts: 850Char no Tibia: Xearius Thor

Tá, faltou explicar para que serve, como usa, imagina uma pessoa iniciando nisso e de repente se depara com um tutorial desse, ia ficar atordoado que nem eu.

-

Apesar de não entender muito bem

Esse já seria um bom motivo para reprovar um tutorial, mas espero que você mude-o explicando melhor as coisas.

noobinhu

Ex Administrador
avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 01/03/06Posts: 1022Gênero: Masculino

Você precisa saber programar em PHP cara, não é igual os scripts lua que todos postam, que qualquer um chega copia e cola.

 

O que cada função faz eu expliquei logo no começo, agora basta alguém adaptar para um site que esteja fazendo.

Isso economiza bastante linhas, em um script.

 

O exemplo dado, ficaria aproximadamente 20~30 linhas sem essas functions.

RedZL

Never mind, I'll find someone like you.
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 06/11/06Posts: 850Char no Tibia: Xearius Thor

Certo, explicou tá explicado. Parabéns.

-

Tópico movido.

HeNnet

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 01/09/05Posts: 114Char no Tibia: Tiduji

Inda prefiro usar as minhas clausulas :)

Parabéns pelo código, ficou muito bom, gostei muito do insert.

 

 

 

HenneT, :)

wizardwarriorvr8.jpg

HenneT

nostrafanso6.png