Przydatne funkcje PHP: implode()

Dodano: 14 sierpnia 2010 • 2375 wyświetleń • 2 komentarzy

Zbiór gotowych funkcji języka PHP jest ogromny. W tym cyklu będę przedstawiał te najciekawsze wraz z przykładami ich praktycznego zastosowania. W pierwszym odcinku cyklu opisuję funkcję implode().

Funkcja implode() służy do konwertowania tablic do typu string, czyli innymi słowy, łączy wszystkie elementy tablicy w ciąg tekstowy. Jest ona przeciwieństwem funkcji explode().

Funkcja przyjmuje dwa argumenty: string $glue i array $pieces. Pierwszy z nich określa ciąg, jakim będą oddzielane kolejne elementy tablicy i nie jest obowiązkowy - domyślnie przyjmuje wartość null.

Teraz pokażę przykład, w którym wykorzystamy funkcję implode(). Skorzystamy z formularza, który prześle tablicę do skryptu.

Najpierw stworzymy formularz:

<form action="skrypt.php" method="post">
<input type="checkbox" name="zmienna[]" value="1" />
<input type="checkbox" name="zmienna[]" value="2" />
<input type="checkbox" name="zmienna[]" value="3" />
<input type="checkbox" name="zmienna[]" value="4" />
<input type="checkbox" name="zmienna[]" value="5" />
<input type="checkbox" name="zmienna[]" value="6" />
<input type="submit" />
</form>

Jak widać mamy tu sześć pól typu checkbox, które swoje kolejne wartości przekażą do tablicy o nazwie zmienna.

Teraz pokażę skrypt, który doda wartość z zaznaczonych checkboxów do tabeli z bazy danych. Nie będę pokazywał struktury bazy, ponieważ nie ma to teraz znaczenia. Warunkiem jest, aby posiadała ona co najmniej jedno pole tekstowe (text, varchar lub char).

<?php
if (count($_POST)) {
	mysql_connect(server,user,password);
	mysql_select_db(database);
	$sql=mysql_query("UPDATE `tabela` SET `settings`='" . implode($_POST['zmienna']) . "'");
	if ($sql) {
		echo true;
	} else {
		echo false;
	}
}
?>

Tak więc w przypadku zaznaczenia pola 1,3,4 i 6, pole `settings` w bazie przyjmie wartość: 1346.


Zobacz również:
Komentarze

Paweł LisMozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 ( .NET CLR 3.5.30729)

Ja bym jeszcze wspomniał że $glue jest nieobowiązkowe od wersji php 4.3.0. Kiedyś się nieźle wkurzałem bo miałem starszą wersję na swoim kompie a na serwerze działało ;) Od tamtej pory zawsze sprawdzam nowe funkcje w manualu pod tym kątem ;)

17 sierpnia 2010 o 21:11:32

[marcineq1420]Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7

Słuchaj mam straszny problem z wysłaniem checkbox`ów do bazy sql. Skopiowałem kod (oczywiście z modyfikacjami), który podałeś ale nic z tego. Być może, że pola checkbox na stronie są wyświetlane również z bazy sql. Jak byś miał jakiś pomysł to proszę o maila.

Pozdrawaim

15 grudnia 2010 o 10:15:49

Napisz komentarz

Kacper KołodziejO mnie: Nazywam się Kacper Kołodziej. Jestem uczniem II klasy II LO w Pabianicach o profilu matematyczno-fizycznym. Od 7 lat gram na gitarze. Skończyłem Państwową Szkołę Muzyczną I stopnia w Pabianicach; aktualnie jestem w trzeciej klasie szkoły II stopnia. Oprócz muzyki zajmuję się także tworzeniem stron. Moje prace można obejrzeć w portfolio.

O blogu: Na tym blogu publikuję wszystkie artykuły mojego autorstwa dotyczące programowania, tworzenia stron www, komputerów i internetu, a także muzyki.



© by Kacper Kołodziej 2011 • Code powered by SpawnFramework v.1.5.1 - wersja zmodyfikowana