Jump to content

SQL query - hvad gør jeg forkert? (skjule varer som er udsolgt)


colorrush

Recommended Posts

Jeg vil gerne kunne skjule alle varer som er udsolgt automatisk, og har fundet denne guide:

http://mypresta.eu/en/art/tips-and-tricks/how-to-disable-out-of-stock-product.html

 

Problemet er at i phpMyAdmin ikke er et faneblad der hedder "Triggere" som beskrevet i guiden. Jeg har kontaktet min webhost, og de siger det er en bug som de venter på "folkene bag phpMyAdmin retter" men at jeg kan køre et direkte SQL kald.

 

Det har jeg så forsøgt, men uden held - der kommer en fejlmeddelelse, så der er noget jeg gør forkert.

 

Se her hvilket kald jeg har lavet, og hvad fejlenmeddelelsen er - http://i.imgur.com/kV6QvPW.jpg

 

Er der nogen der kan fortælle mig hvad jeg skal rette for at det virker? :)

Link to comment
Share on other sites

Du har syntax fejl i dit IN statement.

IN tager en liste af variable som input, ikke en tabel, som den du forsøger at udtrække inde i parentesen.

 

Du er nødt til at gå en lidt mere besværlig vej, og udtrække en tabel med produkter med lagerstatus <=0 i en temporær tabel

 

Derefter kan du sætte activie bitten ved at joine produktionstabellen med den temporere tabel.

Du behøver kun en temporær tabel, og så bare bruge NOT til at negere joinen, når du skal sætte active på de produkter der er på lager.

 

Husk at slette den temporære tabel som  sidste statement. 

Link to comment
Share on other sites

Tak for svar TorbenRune. Jeg har ikke rodet med database/SQL før overhovedet, så det du har skrevet giver absolut ingen mening for mig :)

 

Jeg må nok have en til at hjælpe mig, vil gerne undgå at jeg pludselig får lavet rod i et eller andet.

Link to comment
Share on other sites

Hvis du ikke har SQL erfaring, så er det svært.

Inden du brænder penge af på ekstern hjælp, kan du måske lade dig inspirere af denne tråd: http://www.prestashop.com/forums/topic/509[spam-filter]disable-item-when-out-of-stock/ 

 

Som du kan se, så har emnet været diskuteret før, og der er strikket mange linjer sql for at løse opgaven. Egentlig mærkeligt, at denne funktion ikke er en indbygget del af Prestshop.

 

Noget af løsningen bygger på, at man retter i noget af den eksisterende PHP kode. Det er generelt en DÅRLIG idé fordi det gør opgradering til næste version temmelig bøvlet (fordi man så skal rette i den nye version)...

 

Udfordringen er, at det ikke bare er nok at køre en SQL med jævne mellemrum. Varen skal "slukkes" i det øjeblik den får lagerstatus 0 - og "tændes" igen så snart den kommer på lager igen.Og der er rigtig mange steder i Prestashop hvor stock tallet ændres, så det er ikke sådan bare-lige at lave. Desværre.

Link to comment
Share on other sites

Hvis du ikke har SQL erfaring, så er det svært.

Inden du brænder penge af på ekstern hjælp, kan du måske lade dig inspirere af denne tråd: http://www.prestashop.com/forums/topic/509[spam-filter]disable-item-when-out-of-stock/

 

Som du kan se, så har emnet været diskuteret før, og der er strikket mange linjer sql for at løse opgaven. Egentlig mærkeligt, at denne funktion ikke er en indbygget del af Prestshop.

 

Noget af løsningen bygger på, at man retter i noget af den eksisterende PHP kode. Det er generelt en DÅRLIG idé fordi det gør opgradering til næste version temmelig bøvlet (fordi man så skal rette i den nye version)...

 

Udfordringen er, at det ikke bare er nok at køre en SQL med jævne mellemrum. Varen skal "slukkes" i det øjeblik den får lagerstatus 0 - og "tændes" igen så snart den kommer på lager igen.Og der er rigtig mange steder i Prestashop hvor stock tallet ændres, så det er ikke sådan bare-lige at lave. Desværre.

 

Ja jeg synes også det er underligt at man ikke kan det som standard i Prestashop.

 

Det virker som om det er sværere end jeg umiddelbart troede. Spørgsmålet er om det er det værd, i forhold til hvad man kan få ødelagt ved at pille ved noget man ikke har forstand på :)

 

Men tak for hjælpen i hvert fald.

Link to comment
Share on other sites

Ja jeg synes også det er underligt at man ikke kan det som standard i Prestashop.

 

Det virker som om det er sværere end jeg umiddelbart troede. Spørgsmålet er om det er det værd, i forhold til hvad man kan få ødelagt ved at pille ved noget man ikke har forstand på :)

 

Men tak for hjælpen i hvert fald.

 

Hvis man skal eksperimentere med det her, så skal du under alle omstændigheder have en test site med en kopi af din shop kørende. Jeg har sådan et test setup, og jeg har prøvet at implementere det i version 1.5.3.1. Det kan godt lade sig gøre, men det er ikke simpelt, og du skal vide hvad du gør. De SQL statements der fyres af kan lave ganske omfattende ulykker. 

 

Jeg har selv prøvet at gå en lidt anden vej, således at man i stedet for at slukke for produkterne, vælger at ændre i den måde produkterne udtrækkes til visning. På den måde kan man nemlig styre om man ønsker at vise noget eller ej, uden at ændre på databasen.

 

Jeg fik det til at virke, men vi bruger det ikke, fordi det er for svært at administrere.

Link to comment
Share on other sites

Hvis man skal eksperimentere med det her, så skal du under alle omstændigheder have en test site med en kopi af din shop kørende. Jeg har sådan et test setup, og jeg har prøvet at implementere det i version 1.5.3.1. Det kan godt lade sig gøre, men det er ikke simpelt, og du skal vide hvad du gør. De SQL statements der fyres af kan lave ganske omfattende ulykker. 

 

Jeg har selv prøvet at gå en lidt anden vej, således at man i stedet for at slukke for produkterne, vælger at ændre i den måde produkterne udtrækkes til visning. På den måde kan man nemlig styre om man ønsker at vise noget eller ej, uden at ændre på databasen.

 

Jeg fik det til at virke, men vi bruger det ikke, fordi det er for svært at administrere.

 

Ja, man skal passe på når man roder med databasen - også derfor jeg ikke har gjort det, når jeg ikke ved præcis hvad jeg laver. Så tør jeg sgu ikke løbe den risiko at det ødelægger hele shoppen :)

 

Jeg fandt også selv den løsning mht. at skjule produkterne. Men en del af grunden til jeg ville gøre det til at starte med, var pga. SEO, og jeg læste mig til at selvom produkterne bliver skjult (ikke deaktiveret) i kategorierne, så kan Google stadig se dem, og så kan det jo være ligemeget :)

 

Jeg må håndtere det manuelt indtil videre, og se hvordan det går.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...