abonnement Unibet Coolblue Bitvavo
pi_57912641
quote:
Op dinsdag 8 april 2008 13:44 schreef SuperRembo het volgende:

[..]

Floats en decimals worden allebei binair opgeslagen, het enige verschil is eigenlijk dat bij een decimal de positie van de komma vast is, en bij een float variabel (drijvend/floating). Een decimal heeft een vast aantal decimalen, een float heeft een vast aantal significante cijfers.
Op het eerste gezicht zou je dat wel zeggen. Echter wordt een float opgeslagen als een IEEE 754-1985 floating point, terwijl een decimal de exacte getallen opslaat. Dat is ook de reden waarom de opslagvereisten voor een float neerkomen op 4 danwel 8 bytes (afhankelijk van de vereiste precisie) en een decimal afhankelijk van de grootte van de precisieparameters veel groter kan zijn. Zie ook deze pagina
  dinsdag 8 april 2008 @ 16:18:31 #242
63192 ursel
"Het Is Hier Fantastisch!
pi_57912822
quote:
Op dinsdag 8 april 2008 16:07 schreef qu63 het volgende:
Wat klopt er niet aan deze query?
[ code verwijderd ]
Je combineert de insert en de update.

Update moet als het ware zo:

1
2
3
<?php
$sql 
"UPDATE tabelnaam SET kolom1='waarde1', kolom2='waarde2' WHERE kolom3='waarde3'"
?>
pi_57912933
quote:
Op dinsdag 8 april 2008 16:07 schreef qu63 het volgende:
Wat klopt er niet aan deze query?
[ code verwijderd ]
1
2
3
4
<?php
$q 
"UPDATE rit SET user1 = 'TESTUSER', user2 = '', van_datum = '1206710100', naar_datum = '1206710100', vertrek = 'Bussum', aankomst = 'Naarden', km = 15, prijs = 250, pax = 12, opmerkingen = 'dus' WHERE rit_id = 7";
mysql_query($q);
?>


Deze syntax kwam ik op tegen, maar niet getest. Weet ook niet of je user2 gewoon weg kan laten aangezien die leeg is. En weet ook niet of je datums strings zijn..

[edit]Spuit 11 enzo[/edit]
  dinsdag 8 april 2008 @ 16:33:50 #244
62215 qu63
..de tijd drinkt..
pi_57913146
quote:
Op dinsdag 8 april 2008 16:18 schreef ursel het volgende:

[..]

Je combineert de insert en de update.

Update moet als het ware zo:
[ code verwijderd ]
thanks!
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  dinsdag 8 april 2008 @ 16:42:52 #245
62215 qu63
..de tijd drinkt..
pi_57913318
op de een of andere manier werkt dit niet:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
if(isset($_GET['editid']) and isset($_POST['submit']) and $_POST['submit'] == "ok");
    {
        
$user1 mysql_real_escape_string($_POST['user1']);
        
$user2 mysql_real_escape_string($_POST['user2']);
        
$van_datum strtotime(mysql_real_escape_string($_POST['van_datum']));
        
$naar_datum strtotime(mysql_real_escape_string($_POST['naar_datum']));
        
$vertrek mysql_real_escape_string($_POST['vertrek']);
        
$aankomst mysql_real_escape_string($_POST['aankomst']);
        
$km mysql_real_escape_string($_POST['km']);
        
$prijs mysql_real_escape_string($_POST['prijs']);
        
$pax mysql_real_escape_string($_POST['pax']);
        
$opmerkingen mysql_real_escape_string($_POST['opmerkingen']);
        
$q "UPDATE rit SET user1 = '".$user1."', user2 = '".$user2."', van_datum = '".$van_datum."', naar_datum = '".$naar_datum."', vertrek = '".$vertrek."', aankomst = '".$aankomst."', km = '".$km."', prijs = '".$prijs."', pax = '".$pax."', opmerkingen = '".$opmerkingen."' WHERE rit_id = ".$_GET['editid']."";
        if(
mysql_query($q))
        {
        echo 
$q;
        
$succes true;
        }
        else
        {
        echo 
$q;
        }
    }
?>


Hij voert het gewoon uit, ook al is de $_POST leeg
waardoor nu rit_id 7 helemaal leeg is

iemand een tip over hoe dit beter kan en/of waar de fout zit?
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_57914260
quote:
Op dinsdag 8 april 2008 16:12 schreef JeRa het volgende:

[..]

Op het eerste gezicht zou je dat wel zeggen. Echter wordt een float opgeslagen als een IEEE 754-1985 floating point, terwijl een decimal de exacte getallen opslaat. Dat is ook de reden waarom de opslagvereisten voor een float neerkomen op 4 danwel 8 bytes (afhankelijk van de vereiste precisie) en een decimal afhankelijk van de grootte van de precisieparameters veel groter kan zijn. Zie ook deze pagina
Idd, fixed point is exact. Ik was uit gegaan van de manier waarop MSSql z'n decimals opslaat, maar sinds versie 5 gebruikt MySQL ook voor decimals een binair formaat. Alleen vreemd dat de decimalen (het deel achter de komma) blijkbaar apart wordt opgeslagen, in MSSql wordt 1 getal opgeslagen + de positie van de komma.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  dinsdag 8 april 2008 @ 17:52:44 #247
187069 slacker_nl
Sicko pur sang
pi_57914676
quote:
Op dinsdag 8 april 2008 16:42 schreef qu63 het volgende:
op de een of andere manier werkt dit niet:
[ code verwijderd ]

Hij voert het gewoon uit, ook al is de $_POST leeg :{
waardoor nu rit_id 7 helemaal leeg is :')

iemand een tip over hoe dit beter kan en/of waar de fout zit?
Zoiezo de ; na je if weghalen.

En..

1
2
3
4
5
6
7
8
9
10
<?php
$_GET 
= array ("editid" => 1);
$_POST = array ("submit" => 'ok');


if(isset(
$_GET['editid']) and isset($_POST['submit']) and $_POST['submit'] == "ok") {
                
print_r($_POST);
                
// Waarom check je de rest van $_POST niet?
}
?>
In theory there is no difference between theory and practice. In practice there is.
pi_57914678
Met .htaccess kan je urls herschrijven, alleen ik kom er niet helemaal uit.

Voorbeeld:

Ik heb nu een link: http://blabla.nl/index.php?page=contact
Ik zou het mooier vinden als bovenstaande link als volgt wordt weergegeven: http://blabla.nl/contact

Hoe zet ik dit in .htacces?
Ik heb het nu wat niet werkt:

RewriteEngine On
RewriteRule http://blabla.nl/contact/(.*)/ index.php?page=$1

Hmm.. ik moet nog veel leren zo te zien haha..
pi_57915524
Hoi.

Mijn mysql-db wordt dagelijks gebackupd naar een gmail-adres.
Nu wil ik eigenlijk dat de db ook dagelijks in een excelbestand gegooid wordt.
Ik kan wel handmatig elke dag die query draaien, maar dat schiet niet op.
Is zoiets te automatiseren?
Ik heb me ooit eens laten vertellen dat dit met een cronjob kan? Maar dan moet je toch nog handmatig bevestigen? Bijv. bij het opslaan van het bestand?

Alvast bedankt voor het meedenken.
I asked God for a bike, but I know God doesn't work that way.
So I stole a bike and asked for forgiveness.
pi_57916031
quote:
Op dinsdag 8 april 200817:52 schreef GioStyle het volgende:
Met .htaccess kan je urls herschrijven, alleen ik kom er niet helemaal uit.

Voorbeeld:

Ik heb nu een link: http://blabla.nl/index.php?page=contact
Ik zou het mooier vinden als bovenstaande link als volgt wordt weergegeven: http://blabla.nl/contact

Hoe zet ik dit in .htacces?
Ik heb het nu wat niet werkt:

RewriteEngine On


Hmm.. ik moet nog veel leren zo te zien haha..
RewriteRule ^/(.*)/$ http://blabla.nl/index.php?page=$1
  dinsdag 8 april 2008 @ 19:17:40 #251
62215 qu63
..de tijd drinkt..
pi_57916183
quote:
Op dinsdag 8 april 2008 17:52 schreef slacker_nl het volgende:

[..]

Zoiezo de ; na je if weghalen.

En..
[ code verwijderd ]
het was die ; idd, thanks!

En de rest van $_POST controleer ik niet omdat alle velden vast staan, en het door een select aantal mensen gebruikt gaat worden.
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_57918005
Ik heb nu wamp server op mijn pc voor php en mysql te testen. Hoe kan ik eenvoudig zorgen dat PHP niet alleen in de www folder hoef te zetten, maar dat dat het overal doet?
pi_57918194
Je kan je document root wel ergens instellen (waar precies weet ik niet, ik gebruik MAMP, met de M van Macintosh)
pi_57921793
quote:
Op dinsdag 8 april 2008 20:44 schreef super-muffin het volgende:
Je kan je document root wel ergens instellen (waar precies weet ik niet, ik gebruik MAMP, met de M van Macintosh)
Ok. Maar waar?
pi_57922804
quote:
Op dinsdag 8 april 2008 19:10 schreef mcDavid het volgende:

[..]

RewriteRule ^/(.*)/$ http://blabla.nl/index.php?page=$1
Dat werkt helaas ook niet. Weet iemand anders een andere manier om mooier urls te maken?
  dinsdag 8 april 2008 @ 23:20:56 #256
137676 TommyGun
Stik er maar in!
pi_57923174
Beste allen,

Binnen mijn (game) website heb ik een overzicht van a t/m z welke alle games uit mijn database toont, maar gezien het grote aantal heb ik dit gelimit op 20 per letter.

Dus er worden 20 games beginnende met de letter 'a' getoond, 20 met 'b', en ga zo maar verder. Nu wil ik echter ook de mogelijkheid om alle games beginnende met 'a', 'b' etc te tonen, maar hier zit ik mee in de knoop.

Het stukje code dat ik gebruik voor het a t/m z overzicht:

index.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
        
if($_GET['games'] == "alle"){            
                    
$indexnr 0;
                    
$limit 20;
                    
$order "desc";
                    
$arr = array();
                    
// generate all letters
                    
for ($i 97$i 123$i++) {
                       
$indexnr $indexnr +1;
                       
$t1[$indexnr] =  chr($i);
                    }
            
$mode "alphabet";
            foreach(
$t1 as $key => $letter){
                echo(
"<div id=\"colOne\"><h3>$letter</h3> <div class=\"bg1\"><ul>");    
                include(
'pre_list_games.php');
                echo(
"<br> <i><a href=\"index.php\">Terug naar de index</a></i>");
                
                echo(
"</ul></div></div> \n");
            }
            
            exit();
        }
?>


pre_list_games.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
if($mode == "alphabet") {
        
$rowheight 0;
        
$minrows 10;
        
$m "<i>Nog geen spelletjes</i>";
        
$sql3 "SELECT t01.id, t01.title, t01.photo, t01.descr from games t01 where t01.active = 1 AND lower(t01.title) LIKE '$letter%' order by t01.title asc limit $limit";
        
$result3 mysql_query($sql3) or die ("ERROR: " mysql_error());
        
        while (
$rij3 mysql_fetch_array($result3)){
        if(
$rij3['photo'] == ""){
            
$rij3['photo'] = "images/no_thumb.gif";
        }
        
$title $rij3['title'];
        if(
strlen($title)>20) {
        
$title substr($title020); 
        
$title "" $title "..."; }
        echo(
"<a ONMOUSEOVER=\"popup('<img src=".$rij3['photo']." width=$settings2->sizex height=$settings2->sizex>','0')\"; ONMOUSEOUT=\"stopthumb()\" href=\"index2.php?game=".$rij3['id']."&name=".str_replace(" ""_"$rij3['title'])."\" $target>".$title."</a><br> \n");
        
$m="";
        
$rowheight $rowheight+1;
        }
        echo(
$m);
        for ( 
$i $rowheight$i $minrows$i++) { echo("<br>"); }
}
?>


Het zal waarschijnlijk zeer simpel zijn maar ik krijg het niet voor elkaar om een pagina te creeren voor elke letter die vervolgens alle games beginnende met die letter toont. Misschien dat iemand mij hier verder mee kan helpen?

B.v.d
pi_57923272
quote:
Op dinsdag 8 april 200823:10 schreef GioStyle het volgende:

[..]

Dat werkt helaas ook niet. Weet iemand anders een andere manier om mooier urls te maken?
Welwaar

ohwacht misschien moet die / na het ^ weg. En misschien moet er nog [L] achter
  dinsdag 8 april 2008 @ 23:28:21 #258
63192 ursel
"Het Is Hier Fantastisch!
pi_57923422
quote:
Op dinsdag 8 april 2008 18:39 schreef -J-D- het volgende:
Hoi.

Mijn mysql-db wordt dagelijks gebackupd naar een gmail-adres.
Nu wil ik eigenlijk dat de db ook dagelijks in een excelbestand gegooid wordt.
Ik kan wel handmatig elke dag die query draaien, maar dat schiet niet op.
Is zoiets te automatiseren?
Ik heb me ooit eens laten vertellen dat dit met een cronjob kan? Maar dan moet je toch nog handmatig bevestigen? Bijv. bij het opslaan van het bestand?

Alvast bedankt voor het meedenken.
Een cronjob kan ook gewoon een PHP file opstarten. Daarvoor hoeft niks bevestigd te worden.
Zou het trouwens als CSV file laten uitspuwen dan..
pi_57923557
quote:
Op dinsdag 8 april 2008 23:23 schreef mcDavid het volgende:

[..]

Welwaar

ohwacht misschien moet die / na het ^ weg. En misschien moet er nog [L] achter
Hmm het werkt alsnog niet. Moet ik misschien de links in de index ook veranderen?
  dinsdag 8 april 2008 @ 23:47:04 #260
65490 whoops
Home is where the heart is...
pi_57923982
quote:
Op dinsdag 8 april 2008 23:10 schreef GioStyle het volgende:

[..]

Dat werkt helaas ook niet. Weet iemand anders een andere manier om mooier urls te maken?
Je zou voor een 'poor mans' mod_rewrite kunnen gaan... Als url gebruik je dan bijvoorbeeld http://example.com/test.php/topic/1134706/6/60 , en in je code parse je de url die je aanroept..

test.php
1
2
3
4
5
6
7
<?php
echo '<pre>';
$querystring=$_SERVER['PATH_INFO'];
$elements=split('/',$querystring);
print_r($elements);
echo 
'</pre>';
?>


Je output is dan zoiets, hier kan je dan mee verder.
1
2
3
4
5
6
7
8
Array
(
    [0] => 
    [1] => topic
    [2] => 1134706
    [3] => 6
    [4] => 60
)


Mod_rewrite is zeker de moeite waard om goed uit te zoeken, maar ik heb iets als bovenstaande wel eens gebruikt waar ik mod_rewrite niet kon toepassen...
In the beginning, the universe was created. This made a lot of people very angry and has been widely regarded as a bad move.
pi_57924407
quote:
Op dinsdag 8 april 200823:32 schreef GioStyle het volgende:

[..]

Hmm het werkt alsnog niet. Moet ik misschien de links in de index ook veranderen?
Het moet gewoon werken. Anders doe je iets raars met de url's, of je .htaccess wordt niet herkend.
pi_57925306
quote:
Op woensdag 9 april 2008 00:00 schreef mcDavid het volgende:

[..]

Het moet gewoon werken. Anders doe je iets raars met de url's, of je .htaccess wordt niet herkend.
Kan het komen omdat ik gebruik maak van de volgende script:

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
 
if(!IsSet($_GET['page'])) { 
  
$_GET['page'] = "home"


switch (
$_GET['page']) {
  case 
'home':
    include(
'home/home.php');
    break;
  default:
    include(
'home/home.php');
?>


Hmm.. Ik snap er niets meer van. Haha..
pi_57926191
@GioStyle


RewriteEngine On
RewriteRule ^test/(.*) /~wesleys/index.php?id=$1 [L]


In dit geval is http://web.server.nl/~wesleys/test/1 hetzelfde als http://web.server.nl/~wesleys/index.php?id=1
pi_57926224
quote:
Op woensdag 9 april 2008 00:00 schreef mcDavid het volgende:
Het moet gewoon werken. Anders doe je iets raars met de url's, of je .htaccess wordt niet herkend.
Je voorbeeld is precies het omgekeerde van wat hij wilt bereiken.
pi_57926348
quote:
Op dinsdag 8 april 2008 23:20 schreef TommyGun het volgende:
Beste allen,

Binnen mijn (game) website heb ik een overzicht van a t/m z welke alle games uit mijn database toont, maar gezien het grote aantal heb ik dit gelimit op 20 per letter.

Dus er worden 20 games beginnende met de letter 'a' getoond, 20 met 'b', en ga zo maar verder. Nu wil ik echter ook de mogelijkheid om alle games beginnende met 'a', 'b' etc te tonen, maar hier zit ik mee in de knoop.

Het stukje code dat ik gebruik voor het a t/m z overzicht:

index.php
[ code verwijderd ]
Het korte antwoord: Haal de limit weg uit je query, dan krijg je alle resultaten terug.

Ik zou dit stukje code trouwens herschrijven:

1
2
3
4
5
6
7
8
9
10
11
12
// generate all letters
for ($i = 97; $i < 123; $i++) {
    $indexnr = $indexnr +1;
    $t1[$indexnr] =  chr($i);
}
// snip
foreach($t1 as $key => $letter){
    echo("<div id=\"colOne\"><h3>$letter</h3> <div class=\"bg1\"><ul>");    
    include('pre_list_games.php');
    echo("<br> <i><a href=\"index.php\">Terug naar de index</a></i>");
    echo("</ul></div></div> \n");
}


Naar:

1
2
3
4
5
6
7
8
9
10
include_once('pre_list_games.php');

// generate all letters
for ($i = 97; $i < 123; $i++) {
    $letter = chr($i);
    echo("<div id=\"colOne\"><h3>$letter</h3> <div class=\"bg1\"><ul>");    
    /* pre_list_games($mode, $letter); functie hier */
    echo("<br> <i><a href=\"index.php\">Terug naar de index</a></i>");
    echo("</ul></div></div> \n");
}


Waarom?

Je doet 2x een loop, je maakt een array aan die je foreached (waarbij je geen reference naar de foreach gooit, waardoor er een kopie van de array wordt gemaakt) wat weer kostbaar is en dan ga je ook nog de key opvragen terwijl je die niet gebruikt: foreach($array as $value) had dan ook gekund.

Verder heeft het weinig zin om 26 keer een file te includen (include_once gebruiken btw). Als je het doet omdat de enige code in die file ook echt in je post staat. Maak er een functie van. Die kan je dan tig keer aanroepen maar daar heb je dan niet 23 IO acties voor nodig.

function pre_list_games($mode, $letter) { /* Je originele code van pre_list_games.php hier plakken */ }

Verder zou ik zou een foreach loop uitvoeren:

1
2
3
4
5
6
7
8
9
10
11
$array = array(1,2,3,4);
$array_ref  =& $array;

# Foreach gebruikt nu de referentie, en is dus sneller
# omdat er geen kopie van de array wordt gemaakt
foreach($array_ref as $value) { print "$value\n" }

# En wil je echt slim doen (vanaf PHP5): 
# We maken nu ook geen kopie aan van $value, maar gebruiken 
# de referentie
foreach($array_ref as &$value_ref) { print "$value_ref\n" }


Maar meer hierover is te vinden in de notes van http://php.net/foreach

[ Bericht 0% gewijzigd door slakkie op 09-04-2008 03:13:21 ]
pi_57927570
quote:
Op woensdag 9 april 2008 02:18 schreef slakkie het volgende:
@GioStyle


RewriteEngine On
RewriteRule ^test/(.*) /~wesleys/index.php?id=$1 [L]


In dit geval is http://web.server.nl/~wesleys/test/1 hetzelfde als http://web.server.nl/~wesleys/index.php?id=1
Hmm.. En als ik nou alleen een index heb met een pagina's.
Dan zou hij als zo moeten zijn:

RewriteEngine On
RewriteRule ^test/(.*) /index.php?page=$1 [L]

Maar dan werkt hij nog niet...
Wel heb ik dan nog als link bijvoorbeeld: index.php?page=personal, maar die moet dan door .htaccess mooier worden weergegeven.
pi_57928083
@slakkie

Gebruik van references in PHP5 is echt alleen nuttig als je de variabele in de oorspronkelijke scope wilt aanpassen.
1) Gebruik van references om een grote array te benaderen en zo de performance te verbeteren is nutteloos aangezien PHP intern al references en copy-on-write gebruikt. Dat houdt in dat de array pas gekopieerd wordt op het moment dat je 'm gaat wijzigen. Dit kun je controleren door memory_get_usage() te gebruiken.
2) Hetzelfde geldt voor de 'value' van de foreach-loop, die is echt alleen nuttig als je de waarde in de array wilt aanpassen en niet alleen de waarde zelf.

Punt 1 geldt natuurlijk ook voor functies en class methods, en performancetests met foreach hebben al uitgewezen dat werken met een reference zelfs trįger is dan het PHP zelf laten afhandelen. PHP5 is zelf prima in staat om de nodige optimalisaties waar nodig door te voeren Lees de pagina's onder References Explained anders eens door en let erop dat het over PHP5 gaat en niet PHP4 (want daar viel inderdaad veel performancewinst te behalen).
pi_57928986
Jera, ik ga eens wat meer spelen met references en de verschillen uitvogelen. Alleen als ik lees:
quote:
Unless the array is referenced, foreach operates on a copy of the specified array and not the array itself.
dan kan ik niet anders concluderen dat het werken met een reference sneller is dan met de kopie van een array.
pi_57929240
quote:
Op woensdag 9 april 2008 10:25 schreef slakkie het volgende:
Jera, ik ga eens wat meer spelen met references en de verschillen uitvogelen. Alleen als ik lees:
[..]

dan kan ik niet anders concluderen dat het werken met een reference sneller is dan met de kopie van een array.
Dan concludeer je dat fout; je werkt inderdaad op een kopie van de array, echter wordt die kopie pas echt gemaakt zodra je de array gaat wijzigen. Dus het staat er goed, de implementatie verschilt echter van de documentatie.

Gebruik van references != performancewinst. In PHP5 is dit steeds vaker waar.

[ Bericht 11% gewijzigd door JeRa op 09-04-2008 10:42:35 ]
  woensdag 9 april 2008 @ 11:04:47 #270
187069 slacker_nl
Sicko pur sang
pi_57929917
Waarom hebben ze dan references in de taal zitten? In Perl gebruik ik ze alleen maar..
In theory there is no difference between theory and practice. In practice there is.
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')