Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Rozdzielone wyniki (tablica) do bazy
Forum PHP.pl > Forum > Przedszkole
Poker
Witam serdecznie

Mam taki problem: tworzę możliwość dodawania tagów, taki rozdzielam przecinkiem "," i następnie chce dodać je do bazy danych. Robię w to w taki oto sposób

  1. <form method="POST" action="">
  2. <textarea name="tagi"></textarea>
  3. <input type="submit" name="dodaj">
  4. </form>


  1. <?php
  2. if(isset($_POST['dodaj'])) {
  3. $tagi=htmlspecialchars($_POST['tagi']);
  4.  
  5. while($rozdziel=explode(",", $tagi)) {
  6. mysql_query("INSERT INTO tagi VALUES('$rozdziel')");
  7. }
  8. }
  9.  
  10. ?>




Pisane teraz z głowy, ale ogólnie chodzi o to że skrypt się blokuje, już od rana siedzę i mam pustkę w głowie z tym błahym problemem.

Pomocy.
nospor
odrobinka pomyslunku....
explode() masz zrobic poza petlą a nastepnie wynik obrobic FOREACH
zend
Whilte też może być oile umiesz korzystać z current i next
nospor
zend co nie zmienia faktu, ze explode() ma być przed WHILe a nie w warunku WHILE.
Co rownież nie zmienia faktu ze do przelecenia tablicy lepsze jest foreach i nie ma co 4 liter dla WHILE zawracac winksmiley.jpg
zend
Cytat
zend co nie zmienia faktu, ze explode() ma być przed WHILe a nie w warunku WHILE.
A czy ja zaprzeczyłem? smile.gif
Cytat
Co rownież nie zmienia faktu ze do przelecenia tablicy lepsze jest foreach i nie ma co 4 liter dla WHILE zawracac winksmiley.jpg
Możesz jaśniej?

Wersje z while i foreach
  1. $tags = explode(',' , $_POST['tagi']);
  2. while($tag = current($tags))
  3. {
  4. next($tags);
  5. }
  6.  
  7. foreach(explode(',' , $_POST['tagi']) as $value)
  8. {
  9. }


A tak na marginesie, to na Twoim miejscu w darował bym sobie dodawanie danych do bazy w pętli, lepiej wykonać to wszystko jednym zapytaniem
nospor
Cytat
Możesz jaśniej?
A co tu pisac jasniej? Kod co sam napisales i nam tu przedstawiles mówi wystarczająco dużo smile.gif

oczywiscie mozna przeleciec tablicę while ale bardziej do tego nadaje się foreach. Tak samo mozna zabic muchę łapą, ale lepiej uzyc muchołapki winksmiley.jpg
mozna gwoździa wbic duzym kluczem francuskim, ale skoro mamy pod ręką młotek to uzyjmy młotka smile.gif
zend
thumbsupsmileyanim.gif ale chciałem pokazać też alternatywe do pamięciożernego foreach'a smile.gif
nospor
Cytat
pamięciożernego foreach'a
O, to mnie teraz zaciekawiłeś. Na czym polega ta pamięciożernosc w porównaniu do while? Proszę omówic na przykladzie co tu sam napisales. smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.