Plaats Hier Je Leuke Scripjes

Diabox

Vaak hier
Buiten het e.e.a. om slaat jouw script de prijzen op als een decimaal getal, tenzij de prijs een heel aantal euros is, terwijl de database een integer verwacht met de prijs in centen.
 

arjans

help your mate if you can
why? ik geef idd een double. het ligt eraan of je row een double is. dat ligt niet aan mijn script. en wat zou het hij werkt bij mij.
 

Diabox

Vaak hier
why? ik geef idd een double. het ligt eraan of je row een double is. dat ligt niet aan mijn script. en wat zou het hij werkt bij mij.
In het geval dat de prijs uit gehele euros bestaat geef je een integer:
Code:
        if(!number_format($prijs,0)==$prijs)
        {
                 $prijs = (int)$afronding[0].'00';
        }
Je append namelijk 00 zonder de punt.

In alle andere gevallen append je met punt.

NB. wil je in alle gevallen dat je rekent met geld rekenen met integers, mijn voorkeur gaat dan ook uit naar opslaan als integer in een DB (velen met mij overigens).

Edit:
Laat maar, zie het al.
 
Laatst bewerkt door een moderator:

arjans

help your mate if you can
volg je nog niet helemaal maar goed. soms sla je het gewoon op als (var)char ofzo dat kan ook.
 

Diabox

Vaak hier
Met geld altijd rekenen met integers.

Tevens is je huidige structuur niet zo slim. Wat als je een product hebt wat valt in een ander BTW tarief? Je hoort je producten te koppelen aan een BTW tarief.
 

arjans

help your mate if you can
mja maar dat was ff anders geregeld hier :p beetje jammer ja. maar het ging om een webshop die geen eerste levensbehoefte verstrekte. dus is alles 21%. was ook maar een simpel scriptje.

ps. draai hem max 1 keer voor mensen die hem willen gebruiken :p
 

Diabox

Vaak hier
Naja, in de toekomst sowieso altijd de originele prijs (dus zonder BTW) opslaan, excl. btw, en dan de btw tarieven koppelen, hoef je het maar op 1 plek te wijzigen, wil je het overal doorvoeren. Daarna kun je dan altijd nog 'n script runnen om mooie getallen incl. btw eruit te krijgen. Alleen voor historische data wil je natuurlijk wel de prijs van toen hebben, met het btw tarief van toen, kan op meerdere manieren (wederom ook met koppeling, en verloop van btw tarieven), maar dan zou je kunnen overwegen om het wel in 1 rij te steken.

En daarnaast altijd rekenen met integers (met geld iig.), i.v.m. de relatieve error die je krijgt door te rekenen met floating point getallen.

En zou hem inderdaad niet vaker dan 1x draaien hehe.
 

arjans

help your mate if you can
mja het was ook niet mijn website. hij is ook niet helemaal gebruikt ging op enof andere manier moeilijk met joomla waar ik toch niet al te vriendelijk over ben. doe het liever basic met html php mysql etc.
 

Diabox

Vaak hier
Hier nog 'n matig db find script voor degenen die nog met mysql_query werken, is verre van best practice (eerste maand als web devver gemaakt), maar gebruik hem zelf nog wel eens wanneer ik genoodzaakt bent met mysql_query te werken;
PHP:
    public function find($table, $findBy = 'id', $id, $fields = '*', $sortBy = '', $orderBy = '', $limitStart = '', $limit= '', $smartFetch = true) {
        $query = "SELECT " . (is_array($fields) ? mysql_real_escape_string(implode(",", $fields)) : mysql_real_escape_string($fields)) . " " .
                 "FROM `" . mysql_real_escape_string($table) . "` " .
                 "WHERE " . mysql_real_escape_string($findBy) . 
				 (($id == null) ? " IS NULL" : "='" . mysql_real_escape_string($id) . "'");
        if(!empty($sortBy) && !empty($orderBy)) {
            $query .= " ORDER BY " . mysql_real_escape_string($sortBy) . " " . mysql_real_escape_string($orderBy);
        }
		if(!empty($limit)) {
			$query .= " LIMIT " . mysql_real_escape_string($limitStart) . ", " . mysql_real_escape_string($limit);
		}

        $queryData = mysql_query($query);
        $data = array();
        
        if(mysql_num_rows($queryData) == 0) {
            return false;
        }
        else if(mysql_num_rows($queryData) == 1 && $smartFetch == true) {
            return mysql_fetch_array($queryData);
        }
        else {
            while($row = mysql_fetch_array($queryData)) {
                $data[] = $row;
            }
            
            return $data;
        }
    }
mja het was ook niet mijn website. hij is ook niet helemaal gebruikt ging op enof andere manier moeilijk met joomla waar ik toch niet al te vriendelijk over ben. doe het liever basic met html php mysql etc.
Mja, maar zelf beetje degelijke webshop schrijven ben je een eeuw verder. Gebruik (helaas) liever Magento ed.
 
Laatst bewerkt door een moderator:

arjans

help your mate if you can
echt het grote nadeel van mysqli is dat het niet op iedere server werkt. vaak niet mijn server. dan moet je bovenstaande wel gebruiken idd.
goed scriptje. de standaard db class gebruik ik niet zoveel maar deze is misschien wel sneller.
 

OB1

Elite lid
Voie degenen met een Apple die iemand wil vervelen, open Applescipt en type:

beep 1000

Zet daarna het geluid heel hard! B-)

Verstuurd van mijn GT-S5839i

---------- Bericht toegevoegd op 21:13 ---------- Vorige bericht was op 20:56 ----------

Oeps ik dacht dat dit in Programmeren stond :-$

Verstuurd van mijn GT-S5839i
 

Sasseke

Nieuw lid
JavaScript:
var leeftijd = prompt("Hoe oud ben jij?");

if(leeftijd >= 18)
 {
alert("Jij bent volwassen en mag nu zoveel drinken en roken als je wil!");
 }
else
 {
alert("Je bent nog minderjarig en moet nog eeeven wachten totdat je bepaalde dingen mag doen -zoals drinken en roken.");
 }

var klaarvooravontuur = confirm("Ben jij klaar voor een klein avontuurtje?");

if(klaarvooravontuur == true)
 {
alert("Dan gaan we naar een andere planeet toe!");
 }
else
 {
alert("Ik ga een leuk boek van Thea Beckman lezen.");
 }

var starTrek = confirm("Hou jij van Star Trek?");

if(starTrek == true)
 {
alert("Dan houd jij wel van science-fiction!");
 }
else
 {
alert("Er zijn vast nog veel andere dingen die jij leuk vindt!");
 }

var moevanpopups = confirm("Ben je nu al moe van al die pop-ups?");

if (moevanpopups == true)
 {
alert("Dan stoppen we daar gewoon mee! Veel plezier verder op de website!");
 }
else
 {
      alert("Dan gaan we gewoon nog even door!");

      var doorgaan = confirm("Nog niet genoeg gehad?");

      if(doorgaan == true)
       {
      alert("YES jij bent een volhouder!");

           var laatstekeer = confirm("Vind je het soms leuk om op knopjes te klikken?");

           if(laatstekeer == true)
            {
                alert("Ik (de computer) begin nu zelf al wat moe te worden...");

                var echtlaatstekeer = confirm("Heb je vandaag een leuke dag?");

                if(echtlaatstekeer == true)
                 {
                alert("Dan hoop ik dat de rest van je dag ook leuk mag worden! De computer is nu heel moe geworden.. heb een fijne tijd op mijn website!");
                 }
                else
                 {
                alert("Hopelijk zal je toch nog een fijne dag hebben! Veel plezier op de website!");
                 }
            }
           else
            {
           alert("Wens je nog een prettige dag(/nacht) toe! Veel plezier op de website!");
            }
       }
      else
       {
      alert("Goed zo, ik (de computer) begin ook al wat moe te worden. Veel plezier op de website!");
       }
}
 

m44rtn

Gevestigd lid
@Sasseke
Zelf had ik (iemand die niet zo vaak met JavaScript werkt, maar wel met C en Assembly) dat script zo gedaan:

JavaScript:
var result = prompt("Hoe oud ben jij?");

if(result >= 18)
  alert("Jij bent volwassen en mag nu zoveel drinken en roken als je wil!");
else
  alert("Je bent nog minderjarig en moet nog eeeven wachten totdat je bepaalde dingen mag doen -zoals drinken en roken.");

result = confirm("Ben jij klaar voor een klein avontuurtje?");

if(result == true)
  alert("Dan gaan we naar een andere planeet toe!");
else
  alert("Ik ga een leuk boek van Thea Beckman lezen.");

result = confirm("Hou jij van Star Trek?");

if(result == true)
  alert("Dan houd jij wel van science-fiction!");
else
  alert("Er zijn vast nog veel andere dingen die jij leuk vindt!");

result = confirm("Ben je nu al moe van al die pop-ups?");

if(result == true)
{
  alert("Dan stoppen we daar gewoon mee! Veel plezier verder op de website!");
  exit();
}

alert("Dan gaan we gewoon nog even door!");
result = confirm("Nog niet genoeg gehad?");

if(result == false)
{
  alert("Goed zo, ik (de computer) begin ook al wat moe te worden. Veel plezier op de website!");
  exit();
}

alert("YES jij bent een volhouder!");

result = confirm("Vind je het soms leuk om op knopjes te klikken?");

if(result == false)
{
  alert("Wens je nog een prettige dag(/nacht) toe! Veel plezier op de website!");
  exit();
}

alert("Ik (de computer) begin nu zelf al wat moe te worden...");
result = confirm("Heb je vandaag een leuke dag?");

if(result == true)
  alert("Dan hoop ik dat de rest van je dag ook leuk mag worden! De computer is nu heel moe geworden.. heb een fijne tijd op mijn website!");
else
  alert("Hopelijk zal je toch nog een fijne dag hebben! Veel plezier op de website!");
Ik vind dit zelf makkelijker te volgen omdat je minder if-else hebt en minder hoeft op te letten welke meer inspringingen heeft. Omdat het een soort 'fall-through case' idee bevat weet je gewoon dat wat eronder staat sowieso uitgevoerd gaat worden mits natuurlijk alles 'voldoet'.

Dat ik maar een variabele gerbuik, mag in principe genegeerd worden. Want de variabelen die jij gebruikte waren veel duidelijker in waar ze voor waren, en als je het script zou willen uitbreiden, kan je ze op jouw manier vaker gebruiken. Terwijl het op mijn manier overschreven wordt (dus je zou al zeker moeten weten dat je het niet gaat uitbreiden, anders is het natuurlijk meer werk).

Ik deel dit meer om een (hopelijk) interessante discussie te beginnen over dit soort dingen. Ik ben benieuwd wat jouw mening is. :)

Ik hoop trouwens niet dat ik per ongeluk een alert weg heb gehaald, maar dat zou makkelijk gefixt kunnen worden.
 
Laatst bewerkt:

Sasseke

Nieuw lid
Hoi M44rten
sorry voor mijn late reactie. Ik had het afgelopen anderhalve week erg druk met de feestdagen.

Ik moet bekennen dat ik eigenlijk heel weinig programmeer/programmeer ervaring heb. Dit is een van de (zeer) weinige scriptjes die ik ooit zelf geschreven heb. Ik heb mezelf middels boeken en codecademy.com de talen (enkel de basis) PHP, Javascript en JQuery geleerd. Ik ben ooit, heel lang geleden, ook nog met JAVA bezig geweest (dan heb ik het over het jaar 2000) maar heb daar concreet niks mee gedaan.

Ik vind jouw code mooi en efficiënt! Als je het simpel houdt/blijft houden kan dit perfect werken. Ik denk zelf als ik meer met programmeren bezig zou gaan ik het fijn zou vinden als codes uitgebreid kunnen worden/ingewikkelder gemaakt/meer factoren/objecten. In dat geval zou de mijne dan handiger zijn?

Ik vind/merk dat als je met meer programmeertalen bezig gaat, er veel overeenkomsten tussen de talen zijn (alleen de syntax is anders).

Voor mijn werk ben ik (echter) voornamelijk met Wordpress (DIVI thema), HTML en CSS bezig. Ik ben wel in staat om codes te herkennen en zo nodig veranderen maar als je werkt met Wordpress dan blijkt dit weinig van toepassing. Ik ben wel met 1 site bezig daar is het thema custom/handgeschreven en dat gaat dus niet telkens updaten (= code weer kwijt raken!). Dat thema is met PHP geschreven en daar heb ik al meermalen code veranderd.
Ik vind dat erg leuk om te doen en er (zo) concreet meer van te leren.
 

m44rtn

Gevestigd lid
Ik moet bekennen dat ik eigenlijk heel weinig programmeer/programmeer ervaring heb. Dit is een van de (zeer) weinige scriptjes die ik ooit zelf geschreven heb. Ik heb mezelf middels boeken en codecademy.com de talen (enkel de basis) PHP, Javascript en JQuery geleerd. Ik ben ooit, heel lang geleden, ook nog met JAVA bezig geweest (dan heb ik het over het jaar 2000) maar heb daar concreet niks mee gedaan.

Ik vind jouw code mooi en efficiënt! Als je het simpel houdt/blijft houden kan dit perfect werken. Ik denk zelf als ik meer met programmeren bezig zou gaan ik het fijn zou vinden als codes uitgebreid kunnen worden/ingewikkelder gemaakt/meer factoren/objecten. In dat geval zou de mijne dan handiger zijn?
Als je het wilt uitbreiden, zou jouw scriptje qua hoe je variabelen hebt aanmaakt zeker beter zijn. Maar dat is maar net een afweging van of je denkt dat je het nog gaat uitbreiden of niet.

Ik kan me voorstellen dat zo'n scriptje als deze niet echt uitgebreid wordt (uitgezonderd eventuele toegevoegde alerts), dus is het zo prima. Maar als jij antwoorden wilt gaan hergebruiken, is jouw manier veel beter. Het enige wat mijn manier doet, is besparen op RAM. Dat is iets wat tegenwoordig niet echt meer hoeft en zeker niet als je maar een paar variabelen hebt. Ik zelf programmeer meer met apparaten die minder RAM hebben dan wat tegenwoordig gangbaar is, dus ik denk vaker over RAM na.

In dit soort dingen zie je ook vaak terug hoe iemand denkt of waar ze mee werken. Zo zijn er mensen die het belangrijker vinden dat de variabelen duidelijk zijn voor waar ze voor zijn en een ander zal weer een afweging maken op hoe ze RAM kunnen besparen.

Ik vind/merk dat als je met meer programmeertalen bezig gaat, er veel overeenkomsten tussen de talen zijn (alleen de syntax is anders).
Dat is zeker zo. Als je er een kent, is het niet moeilijk om een nieuwe te leren. Je hoeft alleen maar naar de verschillen te kijken.
 

splintermark77

Bekend gezicht
Hier ook een leuke script van mij. Ik ben autodidact en ook niet heel ervaren maar het is toch een leuke hobby.
Dit is een fotoviewer met thumbnails.

:
Code:
<head>
    <script>
        window.onload = function(){
            // load thumbnails
            photo       = document.querySelectorAll('.photo-item');
            photoLength = photo.length;
            for(i=0; i<photoLength; i++){
                photoW = photo[i].naturalWidth;
                photoH = photo[i].naturalHeight;
                if(photoW >= photoH){
                    photo[i].style.height = '100px';
                }
                else{
                    photo[i].style.width = '100px';
                }
            }
            conentW = photoLength * 115;
            document.getElementById('photo-container').style.width = conentW+'px';
            
            // load first photo
            firstPhoto    = document.querySelectorAll('.photo-item');
            firstPhoto    = firstPhoto[0];
            firstPhotoUrl = firstPhoto.src;
            firstPhotoAlt = firstPhoto.alt;
            document.getElementById('photo-display').innerHTML = '<img src="'+firstPhotoUrl+'" id="selected-photo" alt="">';
            document.getElementById('commentary').innerHTML = firstPhotoAlt;
        }
    </script>
</head>
<body>
    <div id="photo-view-container">
        <div id="photo-display"></div>
        <div id="commentary"></div>
        <div id="photo-container-holder">
            <div id="photo-container" style="margin-left:0;">
                <div class="photo-holder"><img src="path/photo0.jpg" onclick=viewPhoto(this) class="photo-item" alt="commentary photo 1"></div>
                <div class="photo-holder"><img src="path/photo1.jpg" onclick=viewPhoto(this) class="photo-item" alt="commentary photo 2"></div>
                <div class="photo-holder"><img src="path/photo2.jpg" onclick=viewPhoto(this) class="photo-item" alt="commentary photo 3"></div>
                <div class="photo-holder"><img src="path/photo3.jpg" onclick=viewPhoto(this) class="photo-item" alt="commentary photo 4"></div>
                <div class="photo-holder"><img src="path/photo4.jpg" onclick=viewPhoto(this) class="photo-item" alt="commentary photo 5"></div>
                <div class="photo-holder"><img src="path/photo5.jpg" onclick=viewPhoto(this) class="photo-item" alt="commentary photo 6"></div>
                <div class="photo-holder"><img src="path/photo6.jpg" onclick=viewPhoto(this) class="photo-item" alt="commentary photo 7"></div>
                <div class="photo-holder"><img src="path/photo7.jpg" onclick=viewPhoto(this) class="photo-item" alt="commentary photo 8"></div>
                <div class="photo-holder"><img src="path/photo8.jpg" onclick=viewPhoto(this) class="photo-item" alt="commentary photo 9"></div>
                <div class="photo-holder"><img src="path/photo9.jpg" onclick=viewPhoto(this) class="photo-item" alt="commentary photo 10"></div>
                <div class="photo-holder"><img src="path/photo10.jpg" onclick=viewPhoto(this) class="photo-item" alt="commentary photo 11"></div>
            </div>
        </div>
        <img id="left" src="path/left.png" onclick=leftRight(this) alt="">
        <img id="right" src="path/right.png" onclick=leftRight(this) alt="">
    </div>
</body>
CSS:
Code:
body{
  background-color: #111;
    text-align: center;
    padding: 100px 0;
}
#image{
    -webkit-animation-name: flow; /* Safari 4.0 - 8.0 */
    -webkit-animation-duration: 1.3s; /* Safari 4.0 - 8.0 */
    animation-name: flow;
    animation-duration: 1.5s;
}
/* Safari 4.0 - 8.0 */
@-webkit-keyframes flow {
  from {opacity: .3;}
  to {opacity: 1;}
}

/* Standard syntax */
@keyframes flow {
  from {opacity: .3;}
  to {opacity: 1;}
}
#photo-view-container{
    display: inline-block;
    background-color: #000;
    width: 590px;
    text-align: center;
    padding: 40px 10px 10px 10px;
  border: 5px solid #222;
  border-radius: 10px;
}
#photo-display{
    display: inline-block;
    height: 300px;
    width: 500px;
}
#selected-photo{
    max-height: 290px;
    max-width: 500px;
}
#commentary{
    color: #aaa;
}
#left{
    float: left;
}
#right{
    float: right;
}
#right,#left{
    position: relative;
    bottom: -45px;
    cursor: pointer;
}
#photo-container-holder{
    display: inline-block;
    width: 500px;
    overflow: hidden;
}
#photo-container{
    display: inline-block;
    height: 100px;
    padding: 10px 0;
    -webkit-transition: all 0.50s ease;
    -moz-transition: all 0.50s ease;
    -o-transition: all 0.50s ease;
    transition: all 0.50s ease;
}
.photo-holder{
    background-color: #888;
    display: inline-block;
    width: 100px;
    height: 100px;
    margin: 0 5px;
    text-align: center;
    vertical-align: middle;
    overflow: hidden;
}
.photo-item{
    cursor: pointer;
}
footer{
  color: #888;
  margin-top: 20px;
}
footer a{
  color: #ccc;
}
Javascript:
Code:
marginL = 0;
function leftRight(obj){
    spaceLeft   = document.getElementById('photo-container').style.marginLeft;
    spaceLeft   = spaceLeft.replace('px', null);
    spaceLeft   = parseInt(spaceLeft);
    step        = 300;
    totalLength = document.querySelectorAll('.photo-item').length;
    totalLength *= -115;
    objId = obj.id;
    if(objId == 'left'){
        if(spaceLeft >= -step){
            marginL = 0;
        }
        else{
            marginL += step;
        }
    }
    if(objId == 'right'){
        if(spaceLeft <= totalLength + 500 + step){
            marginL = totalLength  + 500;
        }
        else{
            marginL -= step;
        }
    }
    document.getElementById('photo-container').style.marginLeft = marginL+'px';
}
function viewPhoto(obj){
    objUrl = obj.src;
    objAlt = obj.alt;
    document.getElementById('photo-display').innerHTML = '<img src="'+objUrl+'" id="selected-photo" alt="">';
    document.getElementById('commentary').innerHTML = objAlt;
    console.log(objAlt);
}
DEMO
 

Nieuwste berichten

Bovenaan Onderaan