Autor | Zpráva | ||
---|---|---|---|
jamal Profil * |
zdravim,mohl by mi nekdo napsakt php kod, ze kdyz projizdim databazi tak mam SELECT*FROM produkty WHERE nazev='$nazev' a kdyz tento prikaz nenajde zadny zaznam tak vlozi do tabulky novy zaznam.
diky moc |
||
Majkl578 Profil |
#2 · Zasláno: 3. 4. 2009, 12:55:51
$q = mysql_query("SELECT * FROM produkty WHERE nazev='$nazev'"); if(!mysql_num_rows($q)) { mysql_query("INSERT INTO produkty SET nazev = '$nazev', obsah='obsah'");//atd } mysql_free_result($q); |
||
TomášK Profil |
#3 · Zasláno: 3. 4. 2009, 13:07:47 · Upravil/a: TomášK
Pokud je název v tabulce unikátní, pak by na něm měl být příšlušný index:
print ("CREATE UNIQUE INDEX produkty_nazev_unique ON produkty(nazev)") or die(mysql_error()); A pokud je tam index, pak to lze vyřešit jedním dotazem: /* Seznam produktu, ktere se vlozi do databaze */ $produkty = array( "auto", "motorka", "vesmirna lod" ); /* Pridani zavorek a apostrofu ke kazdemu produktu: auto => ('auto') */ $count = count($produkty); for ($i = 0; $i < $count; $i++) { $produkty[$i] = "('$produkty[$i]')"; } mysql_query ("INSERT INTO produkty(nazev) VALUES ".implode(", ", $produkty)." ON DUPLICATE KEY UPDATE nazev=nazev") or die(mysql_error()); Není to pěkné použítí ON DUPLICATE KEY UPDATE, ale nenapadlo mě, jak se obejít bez něj. |
||
Mike8748 Profil |
#4 · Zasláno: 3. 4. 2009, 13:17:57
TomášK
co pouzit REPLACE ? |
||
TomášK Profil |
#5 · Zasláno: 3. 4. 2009, 13:30:25
Mike8748
Máš pravdu, zapomněl jsem na něj. |
||
Časová prodleva: 15 let
|
0