Autor Zpráva
Monkeys
Profil *
Zdravim,

Ako pridat nove hodnoty do stlpcov v databaze na hostingu?
Pridavam cez import ale prida mi to na koniec nove riadky ja ich potrebujem dat do novych stlpcov v uz existujucej tabulke.
Nove stlpce mam vytvorene cez "ALTER TABLE" ale neviem teraz ako ich naplnit, nechcem mazat celu tabulku uz tam mam nadstavenu celu administraciu eshopu, len som teraz vyrabal neake nove veci a potrebujem to doplnit ....

Vdaka
M.
marsme
Profil
napiš si skriptík s UPDATE příkazy. Pokud toho nemáš moc a stačila by ti úprava ručně tak nějakým nástrojem. Adminer nebo phpMyAdmin by to měl bez problémů zvládnout.
Monkeys
Profil *
marsme:
phpMyAdmin
Tento nastroj pouzivam tam som to skusal cez INPORT ale bez vysledku (respektive nacitalo to, ale az pod vsetky existujuce zaznamy)

Nasiel som na internete funkciu EXEC pre sql dotazy

Priklad:
ALTER TABLE Roles ADD ModifiedDate DateTime; 
EXEC ('     INSERT INTO Roles (Name, [Description], CreatedBy, BuiltIn, Created, ModifiedDate)     VALUES (''Name'', ''Description'', 0, 1, GETDATE(), GETDATE()) ') 

Skusal som nieco podobne u seba ale bez vysledku. Nevie niekto ako sa tato funkcia pouziva ?



vdaka
M.
marsme
Profil
Nevím proč by to nemělo jít. Jdeš na to špatně.

Import slouží pouze pro vložení nových dat. Provede operaci INSERT. Pokud chceš záznamy aktualizovat, použij UPDATE. Možnosti máš 2. Napsat si skriptík na míru který ti to aktualizuje automaticky a nebo si to naklikáš ručně v phpMyAdminu. Vybereš tabulku které se to týká a klikneš na projít. Označíš záznamy kterých se to týká a dáš možnost upravit. Poupravuješ uložíš a je to.
Monkeys
Profil *
marsme:
Ano ale rucne upravovat 10 tabuliek po 3 stlpce / cca 20 riadkov ...

Problem je ze ja som aktualizoval neake veci na localhoste a teraz mam problem ich nahadzat na server ...
Bude asi dlha noc.

M.
marsme
Profil
Možnosti máš 2. Napsat si skriptík na míru který ti to aktualizuje automaticky
Monkeys
Profil *
JE v tomto kode chyba ?

$pole=array(1=>'2012, 09-1, 30','2012, 09-1, 90','2012, 09-1, 30','2012, 09-1, 120','2012, 09-1, 30','2012, 09-1, 60','2012, 09-1, 60','2012, 09-1, 90','2012, 09-1, 60');
$pole2=array(1=>'1 mesiac','3 mesiace','1 mesiac','4 mesiace','1 mesiac','2 mesiace','2 mesiace','3 mesiace','2 mesiace');
$pole3="Aktívny";
$a=1;
while($a<=9){
$dotaz=    mysql_query("UPDATE design SET test='".$pole[$a]."', test1='".$pole2[$a]."', test3='".$pole3."'");
//echo "UPDATE design SET test='".$pole[$a]."', test1='".$pole2[$a]."', test3='".$pole3."'";
$a++;
}

pretoze do tabulky mi to zapise len jednu hodnotu

M.
Keeehi
Profil
Monkeys:
Řekl bych, že ti v dotazu chybí WHERE. Takto se ti provede update vždy na všech řádcích, takže po skončení by na všech řádcích měly být poslední hodnoty z polí.
Monkeys
Profil *
Keeehi:
Ano je to tak mal si pravdu

$dotaz=mysql_query("UPDATE design SET test='".$pole[$a]."', test2='".$pole2[$a]."', test3='".$pole3."' WHERE id_designu IN('".$a."')");

M.

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: