WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   str_replace fungerar inte som jag vill (https://www.wn.se/forum/showthread.php?t=1054307)

jonssondesign 2012-07-29 03:17

Okej, jag märker att det tar drygt en halvtimme att uppdatera databasen per butik. (första gången man lägger in produkterna). Jag gissar dock på att det tar drygt 5 min per butik i framtiden, beroende på hur många nya produkter som läggs in i xml filen som är användbara för min site.

Jag funderar nu på hur man kan lösa detta för användaren, för när jag gör en uppdatering så påverkas ju databasen, vilket gör att det inte går att komma åt sidan pga laddtiden under uppdateringen.

Hur ska jag då göra?

Kanske skulle man göra som så att, när man börjar uppdateringen, så trycker man på en knapp som lägger in en 1 eller 0 i en tabell i databasen. Så när man kliver in på sidan så kollar sidan om det är en 1 eller 0a i kolumnen.

1 = pågående uppdatering
0 = ingen pågående uppdatering

är det en etta, så visas en sida med information om att uppdatering pågår, och att vi beräknar att vara klara inom 30min osv.

är den en nolla, så kliver man raka vägen in på sidan.

Det jag funderar över nu dock är, hur tusan ska man lösa detta, eftersom att databasen är ju belastad under tiden som uppdateringen görs, vilket gör att sidan inte kan kolla om den är under uppdatering eller ej.

Några tips?

Yllas 2012-07-29 09:32

Kör uppdateringen på en annan server och puscha över informationen till besökarservern när den är klar?!

jonssondesign 2012-07-29 13:06

HA! Smart ;) Jag kör på det!

Tack :)

förresten, jag använder mig av xampp i dagsläget som utvecklingsmiljö, och som jag kan förstå det så går det inte att ha fler databaser?
Hur tycker ni att jag ska kolla om jag gör rätt om jag går utifrån Yllas tips?

Kekke 2012-07-29 13:13

Citat:

Ursprungligen postat av jonssondesign (Inlägg 20445880)
HA! Smart ;) Jag kör på det!

Tack :)

förresten, jag använder mig av xampp i dagsläget som utvecklingsmiljö, och som jag kan förstå det så går det inte att ha fler databaser?
Hur tycker ni att jag ska kolla om jag gör rätt om jag går utifrån Yllas tips?

Jo självklart går det att ha flera databaser i mysql.
Logga in på phpmyadmin och tryck på Databaserna så kan du skapa fler där.

http://honungsburk.se/honung/7e06e66...3df18f9543.png

jonssondesign 2012-07-29 13:46

aa sorry, tänkte inte på vad jag skrev. Jo jag vet att man kan skapa nya databaser, men det jag menade var egentligen att ha två olika servar lixom.

Jag menar, om jag sitter och pumpar in produkter i en "DATABAS" så kommer väl hela systemet att bli långsamt? Så det spelar väl ingen roll om jag sitter och uppdaterar en databas, och sen försöker komma åt en annan. Det kommer fortfarande bli långsamt, right?

jonssondesign 2012-07-29 13:51

Eller hm. Det verkar som om att sidor som ligger på andra databaser inte blir drabbade när jag uppdaterar min produktlista..

Jag tänkte mig lixom att hela mysql-systemet skulle bli långsamt... :)

jonssondesign 2012-07-29 16:32

hmm.. Mitt script crashade nyss.

mitt under en uppdatering så fick jag ett erorr som lyder:

Citat:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' new = 0, visible = 1 WHERE id = 23755' at line 1
Såhär ser min update query ut:

PHP-kod:

$query "UPDATE products SET org_price = $org_price, new = 0, visible = 1 WHERE id = $id";
$insert mysql_query($query) or die (mysql_error()); 

Jag kan inte se att det är några problem med den? :S

Såhär ser det ut i min databas. Som ni ser så har det flytit på tills just denna, där det tog stopp...

http://bywatt.com/db_screenshot.jpg

Någon som vet vad problemet är?

jonssondesign 2012-07-30 00:13

Någon som har haft tid att kolla på problemet än? Jag får det iaf inte att fungera igen :S

Kekke 2012-07-30 01:01

Antagligen är new ett reserverat ord i mysql, testa att sätt ` runt det.

Såhär:

PHP-kod:


$query 
"UPDATE products SET org_price = $org_price, `new` = 0, visible = 1 WHERE id = $id"


jonssondesign 2012-07-30 01:09

Okej, jag får testa detta! Tack! :)

konstigt att den klarade att lägga in typ 1000 produkter innan den fick för sig att inte fungera längre..:P


Alla tider är GMT +2. Klockan är nu 13:36.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson