Autor | Zpráva | ||
---|---|---|---|
web2000 Profil * |
#1 · Zasláno: 15. 3. 2009, 15:10:46
Ahoj, řeším takovýto problém.
V proměnné $ahoj mám uložené údaje, provedu SQL dotaz. Dále potřebuji do proměnné uložit nové údaje, ale skript si pamatuje ještě ty předchozí a jen je k nim přidá. Data vkládám s pole. Existuje nějaký příkaz kterým obsah pole či proměnnou - její obsah vymažu? Díky za radu |
||
AM_ Profil |
#2 · Zasláno: 15. 3. 2009, 15:13:32
Něco jsi zamlčel, možná používáš špatný přiřazovací operátor .=
V zásadě $x = 'a'; //$x je nyní 'a' $x = 'b'; //$x je nyní 'b', a ne 'ab' |
||
web2000 Profil * |
#3 · Zasláno: 15. 3. 2009, 15:13:39
Mezitím mě napadlo napsat
$ ahoj = "text1"; $ahoj = " " $ahoj = " text2" obsah se smaže, a před další větu se přidá jen mezera. |
||
web2000 Profil * |
#4 · Zasláno: 15. 3. 2009, 15:16:19
„Něco jsi zamlčel, možná používáš špatný přiřazovací operátor .=“
„V zásadě“ „12 $x = 'a'; //$x je nyní 'a'“ „$x = 'b'; //$x je nyní 'b', a ne 'ab'“ no jde spíš oto že používám dvě pole a data znich ukládám do proměnné $ahoj ale ve dvou krocích, ale nevím proč obsah prvního pole v proměnné ahoj zůstane když ho přepíšu druhým polem. |
||
Alphard Profil |
#5 · Zasláno: 15. 3. 2009, 15:23:32
web2000:
ukažte svůj kód, věštit neumíme |
||
AM_ Profil |
#6 · Zasláno: 15. 3. 2009, 15:28:56
„$ahoj = " text2"
obsah se smaže, a před další větu se přidá jen mezera.“ Taky aby ne, když máš " text2" místo "text2". |
||
web2000 Profil * |
Proměnná se zde jmenuje zboží
zkrátka bez přepsání této proměnné tou mezerou se mi obsahy obou polí sloučí, s tou mezerou se mi obsah prvního pole přepíše na mezeru a kní se přidá obsah druhého pole. to už je docela gut ale určitě existuje něco profesionálnějšího:) jak to pořešit. // VYPÍŠE ZBOŽÍ 1. OBCHODNÍKA A ULOŽÍ JEJ DO PROMĚNNÉ $stav1 $kod_obchodnika = "35084973"; $result1 = mysql_query("SELECT * FROM kosik INNER JOIN produkty ON kosik.produktid = produkty.id WHERE kosik.cookieid = '" . KosikId() . "' AND obchodnik_id='35084973' ORDER BY produkty.nazev ASC"); $i1 = 1; $pole1 = array (); while ($row1 = mysql_fetch_array($result1)) { $pole1[$i1] = $row1["pocet"]." ks "; $pole1[$i1] .= $row1["nazev"]. " "; $pole1[$i1] .= $row1["cena"]." Kč "; $i1++; } foreach ($pole1 as $index1 => $stav1) $zbozi .= $stav1. "<br />"; $sql1 = "INSERT INTO objednavky values (0,'$ip_adresa', '$datum', '$zbozi', '".$_POST["jmeno"]."', '".$_POST["prijmeni"]."', '".$_POST["ulice"]."', '".$_POST["cp"]."', '".$_POST["mesto"]."', '".$_POST["psc"]."','".$_POST["email"]."', '".$_POST["poznamka"]."', '".$_POST["prepni"]."')"; $vystup1 = mysql_query ($sql1); $zbozi = " "; // vymaže obsah pole // VYPÍŠE ZBOŽÍ 2. OBCHODNÍKA A ULOŽÍ JEJ DO PROMĚNNÉ $stav2 $kod_obchodnika = "25045987"; $result2 = mysql_query("SELECT * FROM kosik INNER JOIN produkty ON kosik.produktid = produkty.id WHERE kosik.cookieid = '" . KosikId() . "' AND obchodnik_id='25045987' ORDER BY produkty.nazev ASC"); $i2 = 1; $pole2 = array (); while ($row2 = mysql_fetch_array($result2)) { $pole2[$i2] = $row2["pocet"]." ks "; $pole2[$i2] .= $row2["nazev"]. " "; $pole2[$i2] .= $row2["cena"]." Kč "; $i2++; } foreach ($pole2 as $index2 => $stav2) $zbozi .= $stav2. "<br />"; $sql2 = "INSERT INTO objednavky values (0,'$ip_adresa', '$datum', '$zbozi', '".$_POST["jmeno"]."', '".$_POST["prijmeni"]."', '".$_POST["ulice"]."', '".$_POST["cp"]."', '".$_POST["mesto"]."', '".$_POST["psc"]."','".$_POST["email"]."', '".$_POST["poznamka"]."', '".$_POST["prepni"]."')"; $vystup2 = mysql_query ($sql2); |
||
AM_ Profil |
#8 · Zasláno: 15. 3. 2009, 15:36:12
Když chceš obsah smazat, nepřiřazuj mezeru, ale prázdný řetězec.
|
||
keeehi Profil |
#9 · Zasláno: 15. 3. 2009, 15:39:19 · Upravil/a: keeehi
V tomto případě to děláš vlastně dobře až na to, že místo $zbozi = " "; se použije $zbozi = ""; (prostě bez mezery)
Pro zrušení proměnné se může použít unset(); |
||
web2000 Profil * |
#10 · Zasláno: 15. 3. 2009, 15:43:17
Díky, za rady, použil sem ten prázdný řetězec.
|
||
Časová prodleva: 15 let
|
0