| 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: 17 let
|
|||
0