Как да използваме IMPLODE() за MYSQL
В тази "статия" ще разгледаме как се използва функцията implode(); тя е точно обратна на explode();
Eто го и кода :


function insert_sql_row($poleta,$zapisi,$table) {
if(is_array($poleta)== TRUE AND is_array($zapisi)== TRUE AND isset($table) == TRUE ) {
$sql = "INSERT INTO `{$table}` (`".implode("`,`",$poleta)."`)VALUES(".implode(',',$zapisi).");";
$q = mysql_query($sql);
if($q == TRUE ) return true;
}
return false;
}


$poleta = array(
'0'=>"uid",'1'=>"name",'2'=>"pass",'3'=>"mail",'4'=>"timereg",
'5'=>"avatar",'6'=>"signature",'7'=>"level",'8'=>"iplong");
$table = 'users';
$zapisi = array(
'0'=>"''",'1'=>"'$name'",'2'=>"'$pass'",'3'=>"'$mail'",'4'=>"'$time'",
'5'=>"''",'6'=>"''",'7'=>"'1'",'8'=>"'$ip'");


$isr = insert_sql_row($poleta,$zapisi,$table);
if($isq == TRUE) { echo " Успешно добавен юзер "; }



implode има 2 аргумента.
първият е за информацията която ще бъде м/у двата.
вторият е за информацията която ще бъде след първият.

Тоест, кода : implode('1,',array(1,2,3,4,5,6,7,8,9,0)); ще върне
1,1,21,31,41,51,.....01,
Защо така ?
защото първи аргумент ни е : " 1 , " ( едно запетайка )
втори аргумент е цифрова редица от 1 до 9 + 0 .




Кода за Внасяне който съм дал най-отгоре в статията ще върне :
INSERT INTO `users`(`uid`,`name`,`pass`,`mail`,`timereg`,`avatar`,`signature`,`level`,`iplong`)VALUES('','test','098f6bcd4621d373cade4e832627b4f6','admin@pspstore-bg.net','1252146950','','','1','2130706433');






/ Трябва да сте регистриран за да напишете коментар /
От: lam3r4370
20:02 13-09-2009
Супер,а има ли explode за mysql?
От: index
22:34 15-09-2009
Какво ти трябва да правиш ? Може да се пробвам да го напиша ?
От: madmax3
23:22 29-10-2009
Не е ли по добре така:
if(is_array($poleta) && is_array($zapisi) && isset($table) ) { ...}
От: index
14:35 30-10-2009
НЕ мисля ,че в урока имат голямо значение ифовете , който съм дал като пример.По-важното е да се разбере работата с функцията.Това ми беше идеята.Иначе може да се направи и още по-лесно
if($poleta && $zapisi &&& .... )
1