Mateusz Mazurek – programista z pasją

Python, architektura, ciekawostki ze świata IT

Programowanie webowe

[JS][PHP] Efekt zaznaczania werszy tabeli wygenerowanej przez PHP

Cześć! Cieszę się, że mnie odwiedziłeś/aś. Zanim przejdziesz do artykułu chciałbym zwrocić Ci uwagę na to, że ten artykuł był pisany kilka lat temu (2012-07-29) miej więc proszę na uwadzę że rozwiązania i przemyślenia które tu znajdziesz nie muszą być aktualne. Niemniej jednak zachęcam do przeczytania.

Do pobrania danych z bazy danych posłużymy się klasą do obsługi baz danych.

1
2
3
4
5
6
7
8
9
10
11
12
13
<script>

function lala(id){

var a = id.style;//pobieramy styl elementu

if(a.backgroundColor=="white")//jesli tlo jjest biale
a.backgroundColor="#E3E7E6";//to zmieniamy na szary
else//jesli nie jest
a.backgroundColor="white"; // to zmieniamy na bialy
}
//taka funkcja daje efekt taki jak zaznaczenie jednego wiersza tabeli.
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<?php

class db{

private $db_user="root"; //user bazy danych
private $db_pass=""; //haslo
private $db_host="localhost"; //host
private $db_db="testowa";//baza danych do ktorej sie logujemy
private $db_charser="utf-8"; //kodowanie znakow
private $res; // #resource

public function __construct(){

$this->res=@mysql_connect($this->db_host,$this->db_user,$this->db_pass);//laczymy sie z baza danych
if($this->res== false) //jesli sie nie udalo
throw new Exception('Blad polaczenia z baza: '.mysql_error()); //rzucamy wyjatek

mysql_select_db($this->db_db, $this->res);//wybieramy baze danych
mysql_set_charset($this->db_charser,$this->res); //ustawiamy kodowanie
}

public function select($what, $from, $others=""){ // do wybierania z bazy baych informacji. Zwraca tablice.
/*

$what = co pobieramy z bazy (string)

$from = z jakiej tabeli

$others daje mozliwosc dodania np klauzuli WHERE

*/

$s="SELECT $what from $from $others";//tworzymy
$t=mysql_query($s,$this->res);//wykonujemy zapytanie

if($t== false)// jesli sie nie powiodło
throw new Exception('Blad zapytania (SELECT) : '.mysql_error());//rzucamy wyjatek
while($r=mysql_fetch_object($t) )//przepisujemy cala tablice z bazy danych na jedna tablice
{

$g[]=$r;

}

return $g;// zwracamy utworzona tablicey

}

public function insert( $where, $values=""){//dodawanie do bazy danych.
/*

$where - gdzie

$values - wartosci do dodania w formaie stringa w forime '$param1','$param2','$param3','$param4'
*/

$s="INSERT INTO $where VALUES($values)";//zapytanie
$t=mysql_query($s,$this->res);//wywolujemy zapytanie
if($t== false)//jesli sie nie powiodlo
throw new Exception('Blad zapytania: (INSERT) '.mysql_error());//rzucamy wyjatek
return mysql_affected_rows ($this->res);//zwracany ilosc dodanych rekordow

}

public function del( $from, $where){//usuwanie z bazy danych

/*

$from - skad

$where - gdzie

*/


$s="DELETE FROM $from WHERE $where";//zapytanie
$t=mysql_query($s,$this->res);//wywolujemy je
if($t== false)//jesli nie poszlo
throw new Exception('Blad zapytania: (DELETE) '.mysql_error());//rzucamy wyjatek
return mysql_affected_rows ($this->res);//zwracamy ilosc usunietych

}

public function update( $from, $what, $where){//poprawianie danych
/*

$from - skad

$what - co (string lub array)

$where - gdzie

*/

if(is_array($what)){//jesli what to tablica
$s="UPDATE $from SET "; //poczatek zapytania
foreach ($what as $r=>$t){

$s.=" $r='$t',";//sklejamy

}
$s = substr($s,0,strlen($s)-1);//usuwamy ostatni zbedny przecinek
$s.=" WHERE $where";//doklejmy reszte

}//jesli jest stringiem
else
$s="UPDATE $from SET $what WHERE $where";//wklejmy do zapytania
$t=mysql_query($s,$this->res);//wykonjemy zapytanie
if($t== false)//jesli nie dalo rady
throw new Exception('Blad zapytania: (UPADATE) '.mysql_error());//rzucamy wyjatek
return mysql_affected_rows ($this->res);//ilosc przetworzonych wierszt

}

public function __destruct(){//niszczenie instancji klasy

mysql_close($this->res);//zamykamy polaczenie.

}

}
try
{
$db = new db();
echo '<table><tr>
<td>Imie</td> <td>Nazwisko</td>
</tr>'
;
foreach($db->select("*","dane_testowe") as $r)
{
echo'<tr style="background-color:white;" onclick="javascript:lala(this);">
<td>'
.$r->imie.'</td> <td>'.$r->nazwisko.'</td>
</tr>'
;
}
echo '</table>';
}
catch(Exception $e){
echo $e->getMessage();
}

?>
Dzięki za wizytę,
Mateusz Mazurek

A może wolisz nowości na mail?

Subskrybuj
Powiadom o
guest

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

0 komentarzy
Inline Feedbacks
View all comments