<?php else $column = '*'; $where = $key_tab[0]; foreach($wh as $argv => $args) for($i = 0; $i < $countArgs; $i++) { else $where .= $args[$i]; } } $where = ''; foreach($wh as $key => $value) { $where .= $key; for($i = 0; $i < $countValue; $i++) { else $where .= $value[$i]; } } } else $where = ''; else $SqlSelect = 'select '.$column.' from '.$table; } ?>
A tak np wywoluje zapytania:
<?php /*Wiecej warunkow where*/ //Wynik: select * from m_users where id=(int)1 and login=mysql_real_escape_string('marcio') /*Dla jednego warunku where*/ //Wynik: select * from m_users where login=mysql_real_escape_string('marcio') /*Przyklad dla Sys. news'ow*/ $dane = DbSqlRecordsAssoc($ris); for($i = 0; $i < $count_dane; $i++) { $wynik2 = DbSqlQuery('select * from komentarze where id_news = '.(int)$dane[$i]['id'].''); //Zwykly select $ile_comm = DbSqlNumRows($wynik2); $ile_comm = DbSqlCountRows('select count(id) from komentarze where id_news = '.$dane[$i]['id'].''); } ?>
Ilosc komentarzy mozna utrzymac w 2 sposoby albo za pomoca DbSqlQuery() ktory pobiera resource zapytania lub za pomoca DbSqlCountRows() ktore liczy normalnie.
Nie musze filtrowac zmiennych ani nic wydaje mi sie tez to bardziej czytelne i w ogole.
Na podstawie funckji DbSqlSelect() chcialbym zrobic tez wlasna skladnie dla zapytan Update,Insert i Delete, oczywiscie DbSqlSelect() nie oferuje wszyskich przypadkow zapytan ale dla podstawowych wystarcza.
P.S pojawil sie problem mam funkcje:
<?php function DbSqlNumRows($Sql) { } ?>
Gdy jej wynik przypisze jakiejs zmiennej to Mysql zwraca mi blad ze jest zly identyfikator polaczenia a jesli dam odrazu do echo DbSqlNumRows($id_zapytania) to jest good dlaczego tak sie dzieje, po modyfikacji funkcji DbSqlSelect() nastapil taki problem a przeciez jest return w funkcji moze juz jest pozno i nie kontaktuje.
P.S2 oczywiscie nie chce oceny co do kodu bo wiem ze ameryki nie odkrylem jednak nie bylem pewny gdzie umiescic temat jako ze jest troche dwuznaczny.