Autor Zpráva
Lamič
Profil *
Zdravím, našel sem si na webu script na přidávání a odebírání polích (inputů)
...
<input type="text" name="edittext[]">
....


ted mi de o ukládání, jak se tohle ukládá do databáze?

mám:

	$edittext[] = $_POST["edittext[]"];
$zapis = MySQL_Query("UPDATE info SET  text = '$edittext' ");


akorát tohle mi do databáze napíše Array
Alphard
Profil
Vypište si print_r($_POST["edittext"]);, zjistíte, že je to normální pole, které jde projít cyklem.
Konkrétní způsob uložení závisí na struktuře databáze.
Lamič
Profil *
No ukládat by se to mělo do jednoho sloupce, oddělování by mělo být ";" neb oja kse to dělá, kdysi dávno sem to nějak podobně už vyděl řešené. Vůbec netuším jak nato...
WMPopi
Profil
Lamič:
$edittext[] = $_POST["edittext[]"];
- tímhle vytvoříš pole, takže $edittext, který se ukládá do databáze vypíše Array.

Pokud všechny ty inputy chceš uložit do jednoho sloupce a oddělit je středníkem, použij funkci implode();

$edittext = implode(";", $_POST[edittext]);
Lamič
Profil *
Super díky, a jak je to s výpisem?

zkoušel sem:
$sql = MySQL_Query("SELECT * FROM info");
        while ($row = MySQL_Fetch_Array($sql)) {
        $text = implode(";", $row[text]);

		echo "$text";	
		}	
Alphard
Profil
WMPopi:
$edittext[] = $_POST["edittext[]"];
Prosím?

$edittext = implode(";", $_POST[edittext]);
edittext není konstanta, patří do uvozovek.

Lamič:
neb oja kse to dělá
Další tabulkou.

zkoušel sem:
Inverzní funkce je explode(). Musel by následovat další cyklus.
WMPopi
Profil
Alphard:
$edittext[] = $_POST["edittext[]"];
Prosím?
Nepochopil jsem co je nejasné? Chtěl jsem říct, že to co napsal mu fungovat nebude, pokud to zapíše do $edittext[], uloží se mu pole do pole. Nebo to říkám špatně?

edittext není konstanta, patří do uvozovek.
Ano, zapomněl jsem
Alphard
Profil
WMPopi:
Aha, to je citace, ne rada. Omlouvám se.
WMPopi
Profil
Alphard:
Aha, už to vidím, nedal jsem do citace, omluva na mé straně..

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0