abonnement Unibet Coolblue
pi_146197389
quote:
0s.gif Op zaterdag 1 november 2014 21:22 schreef Rockfire het volgende:

[ code verwijderd ]

Deze zou wel eens kunnen werken. Thanks!
pi_146197646
quote:
1s.gif Op zaterdag 1 november 2014 21:38 schreef xaban06 het volgende:

[..]

Deze zou wel eens kunnen werken. Thanks!
Die van slacker_nl is denk ik beter:
1
2
3
4
5
6
7
8
9
SELECT `provincie`, `brandstof`, `gewichtStart`, `tarief` 
FROM `wegenbelasting` 
WHERE `brandstof` = 'diesel' 
AND `gewichtstart` = ( 
    SELECT MAX(gewichtstart)
    FROM wegenbelasting 
    WHERE gewichtstart < 1370 
    AND brandstof = 'diesel'
)
------___------ 53
----.(___).---- 42
---(o\_!_/o)---
  zaterdag 1 november 2014 @ 21:46:47 #28
187069 slacker_nl
Sicko pur sang
pi_146197666
quote:
1s.gif Op zaterdag 1 november 2014 21:38 schreef xaban06 het volgende:

[..]

Zit nu mobiel, kan niet testen, maar ik wil de resultaat van ieder provincie. Dus niet alleen de duurste provincie.
Eigenlijk wil je dit doen:

https://dev.mysql.com/doc(...)olumn-group-row.html

Het ging je toch om het gewicht, de subquery pakt de max van het gewicht en gaat die opzoeken. Als je dat per provincie wilt doen..
In theory there is no difference between theory and practice. In practice there is.
pi_146199194
quote:
0s.gif Op zaterdag 1 november 2014 21:46 schreef Rockfire het volgende:

[..]

Die van slacker_nl is denk ik beter:
[ code verwijderd ]

_O_
pi_146482278
Een vraag:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class voorbeeld {

   public function test() {
      try {
         echo "lala"; 
      }

      // Echoėt evt. foutmelding:
      catch(Exception $e) {
         echo "Functie test kon niet uitgevoerd worden: ". $e->getMessage(). "\n";
      }

   } // Einde van scope test



Bij de exception ontbreekt de throw. Dan vraag ik mij af of de exception ook de string kan weergeven?
  zondag 9 november 2014 @ 22:53:22 #31
85514 ralfie
!Yvan eht nioj
pi_146483212
quote:
0s.gif Op zondag 9 november 2014 22:36 schreef Robuustheid het volgende:
Een vraag:
[ code verwijderd ]

Bij de exception ontbreekt de throw. Dan vraag ik mij af of de exception ook de string kan weergeven?
throw gooit een exception naar de eerstvolgende errorhandler (een catch statement of een globale errorhandler). Zolang een exception niet gegooid wordt, zal er niks gevangen worden. Veel php function hebben de 'throw' ingebouwd. Mocht echo 'blah' een exception tegenkomen,creert deze een Exception() en throwt deze naar je catch statement. Jij hoeft dit niet expliciet te doen, tenzij je zelf de exception maakt:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
class voorbeeld {

   public function 
test() {
      try {
         
$exc = new Exception("lala wordt gewoon uitgevoerd, want deze exception wordt niet gegooid");//doet niks dus!
         
echo "lala"
         
//wacht effe, hier gaat iets fout
         
throw new Exception("klopt niet");
      }

      
// Echoėt evt. foutmelding:
      
catch(Exception $e) {
         echo 
"Functie test kon niet uitgevoerd worden: "$e->getMessage(). "\n";
      }

   } 
// Einde van scope test

?>
pi_146494202
Bedankt voor je duidelijke antwoord.

Een nieuwe vraag. Sommigen van jullie kennen waarschijnlijk de spl_autoload_register, dat als er een fout ontstaat, een handeling uitgevoerd wordt. Levert dat ook niks op, dan wordt er alsnog een error weergegeven. Voorbeeld:

1
2
3
4
5
         function AutoloadVoorbeeld($voorbeeld) {
             $callback = __DIR__.'/includes/php/'. $voorbeeld.'.php';
            require_once($voorbeeld);
         }
         spl_autoload_register('AutoloadVoorbeeld');

Stel, je instantieert een object met "$voorbeeld = new voorbeeld;"

Maar de PHP kan geen class met voorbeeld vinden, omdat je hem niet geļncluded hebt. Dan probeert-ie eerst require_once(jemap/includes/php/voorbeeld.php), met daarin de class voorbeeld. Levert dat alsnog het gewenste resultaat op, dan wordt er geen error weergegeven.

Zie ook dit: php.net/manual/en/function.spl-autoload-register.php

Ik wil hetzelfde ook doen met objecten instatieren. Dus:
1
2
3
4
         function AutoloadVariable($variable) {
             $variable = new $variable;
         }
         spl_autoload_register('AutoloadVariable');

Dan is het niet meer nodig om eerst het object vooraf te instantieren met $voorbeeld = new voorbeeld. Alleen, dit werkt vreemd genoeg niet. Ik weet niet waar dat aan ligt. Iemand een idee?
pi_146494849
Zo uit m'n hoofd wordt die autoload enkel uitgevoerd bij het ontbreken van een class of interface definition, niet bij het niet bestaan van een variabele.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_146495215
Ah, dat verklaart! Dank.

Zijn er evt. nog alternatieven, om een variable volgens bepaalde methode te declareren indien deze nog niet gedeclareerd is?
pi_146495270
Je kunt de error lvl setten en een custom error_handler definiėren.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_146560675
quote:
0s.gif Op maandag 10 november 2014 12:55 schreef Robuustheid het volgende:
Ah, dat verklaart! Dank.

Zijn er evt. nog alternatieven, om een variable volgens bepaalde methode te declareren indien deze nog niet gedeclareerd is?
Niet echt. Als je probeert te schrijven naar een variabele die niet bestaat, wordt de variabele aangemaakt. Als je een niet-bestaande variabele wilt lezen, wordt een E_NOTICE melding getriggerd (maar dat is afhankelijk van je error_reporting() instellingen). Als zo'n melding komt, kun je dat nog wel als nette melding naar de gebruiker tonen maar heb je geen kans meer om gewoon verder te gaan.

Over het algemeen geeft het aan dat je iets niet goed doet als je probeert een niet-bestaande variabele te lezen (bijvoorbeeld een tikfout in de naam). Het is dan ook een goed idee om je error_reporting hierop stuk te laten gaan. En als je weet dat een variabele onder bepaalde omstandigheden wel of niet bestaat, kun je met isset() kijken of de variabele een waarde (anders dan null) heeft.
  woensdag 12 november 2014 @ 19:41:48 #37
62215 qu63
..de tijd drinkt..
pi_146584274
SQLtabel:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CREATE TABLE `test` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `Val1` varchar(255) NOT NULL,
  `Val2` varchar(255) NOT NULL,
  `Updated` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`Val1`),
  KEY `ID` (`ID`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1;

--
-- Gegevens worden uitgevoerd voor tabel `test`
--

INSERT INTO `test` (`ID`, `Val1`, `Val2`, `Updated`) VALUES
(1, 'a', '29191', '2014-11-12 19:39:31');
Waarom geeft dit
1
2
3
$sql = "INSERT INTO test (Val1, Val2) VALUES ('a','a') ON DUPLICATE KEY UPDATE Val2 = '".rand()."'";
$query = mysqli_query($con, $sql);
echo mysqli_affected_rows($con);
2 als antwoord, en dit
1
2
3
$sql = "UPDATE test SET Val2 = '".rand()."' WHERE ID=1";
$query = mysqli_query($con, $sql);
echo mysqli_affected_rows($con);
1?

[ Bericht 37% gewijzigd door qu63 op 12-11-2014 19:47:03 ]
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  woensdag 12 november 2014 @ 19:51:01 #38
91039 mstx
2x1/2 = 1/2 x 1/2
pi_146584638
On duplicate key update geeft 2 terug als een waarde is geupdate, zie manual.

http://php.net/manual/en/mysqli.affected-rows.php
1e comment
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
  woensdag 12 november 2014 @ 20:03:15 #39
62215 qu63
..de tijd drinkt..
pi_146585101
quote:
1s.gif Op woensdag 12 november 2014 19:51 schreef mstx het volgende:
On duplicate key update geeft 2 terug als een waarde is geupdate, zie manual.

http://php.net/manual/en/mysqli.affected-rows.php
1e comment
Ah, de comments had ik niet bekeken. Thanks!
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  woensdag 12 november 2014 @ 22:57:29 #40
62215 qu63
..de tijd drinkt..
pi_146594510
Hoe kan ik beste achterhalen welke van de onderstaande kolommen een nieuwe waarde hebben gekregen door deze query?
1
2
3
4
<?php
$sql 
"UPDATE test SET val1='a', val2='b', val3='c', val4='c' (etc) WHERE ID=0";
mysqli_query($con$sql);
?>
De wijzigingen kunnen alle kolommen beslaan, of juist geen. En alles er tussenin.
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_146595135
quote:
0s.gif Op woensdag 12 november 2014 19:41 schreef qu63 het volgende:
SQLtabel:
[ code verwijderd ]

Tip: Maak de id-kolom unsigned. Dan kun je er 2 keer zoveel records in kwijt (een auto-increment levert altijd positieve getallen op). Niet dat ik verwacht dat je in de buurt van de grens van een signed kolom komt, maar toch :)
  woensdag 12 november 2014 @ 23:23:02 #42
62215 qu63
..de tijd drinkt..
pi_146595794
quote:
0s.gif Op woensdag 12 november 2014 23:10 schreef Light het volgende:

[..]

Tip: Maak de id-kolom unsigned. Dan kun je er 2 keer zoveel records in kwijt (een auto-increment levert altijd positieve getallen op). Niet dat ik verwacht dat je in de buurt van de grens van een signed kolom komt, maar toch :)
Ik denk niet dat ik boven de 2147483647 id's uitkom ja ;)
Teller staat nu op 10.733 en zal niet veel meer stijgen :X
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_146608807
quote:
0s.gif Op woensdag 12 november 2014 23:23 schreef qu63 het volgende:

[..]

Ik denk niet dat ik boven de 2147483647 id's uitkom ja ;)
Teller staat nu op 10.733 en zal niet veel meer stijgen :X
Je zou het ID veld misschien ook wel compleet kunnen verwijderen.
  donderdag 13 november 2014 @ 13:30:49 #44
62215 qu63
..de tijd drinkt..
pi_146608876
quote:
19s.gif Op donderdag 13 november 2014 13:28 schreef TwenteFC het volgende:

[..]

Je zou het ID veld misschien ook wel compleet kunnen verwijderen.
In dit voorbeeld wel ja ;)
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_146609188
quote:
0s.gif Op woensdag 12 november 2014 22:57 schreef qu63 het volgende:
Hoe kan ik beste achterhalen welke van de onderstaande kolommen een nieuwe waarde hebben gekregen door deze query?
[ code verwijderd ]

De wijzigingen kunnen alle kolommen beslaan, of juist geen. En alles er tussenin.
quote:
0s.gif Op woensdag 12 november 2014 22:57 schreef qu63 het volgende:
Hoe kan ik beste achterhalen welke van de onderstaande kolommen een nieuwe waarde hebben gekregen door deze query?
[ code verwijderd ]

De wijzigingen kunnen alle kolommen beslaan, of juist geen. En alles er tussenin.
1SELECT `val1` != 'a' AS val1_changed, `val2`  != 'b' AS val2_changed
  donderdag 13 november 2014 @ 13:45:05 #46
62215 qu63
..de tijd drinkt..
pi_146609295
quote:
14s.gif Op donderdag 13 november 2014 13:41 schreef KomtTijd... het volgende:

[..]

[..]
[ code verwijderd ]

En deze uitvoeren voor de UPDATE neem ik aan?
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_146609500
Jup.
  donderdag 13 november 2014 @ 13:54:00 #48
62215 qu63
..de tijd drinkt..
pi_146609547
quote:
14s.gif Op donderdag 13 november 2014 13:51 schreef KomtTijd... het volgende:
Jup.
Dan ga ik daar even mee puzzelen :)

Thanks!
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  donderdag 13 november 2014 @ 14:47:02 #49
62215 qu63
..de tijd drinkt..
pi_146611612
quote:
14s.gif Op donderdag 13 november 2014 13:51 schreef KomtTijd... het volgende:
Jup.
1
2
3
4
5
<?php
$sql 
"SELECT `Val1` != 'a' AS Val1_changed, `Val2` != 'a' AS Val2_changed, `Val3` != 'b' AS Val3_changed, `Val4` != 'a' AS Val4_changed, `Val5` != 'a' AS Val5_changed, `Val6` != '' AS Val6_changed FROM `test` WHERE `ID`='1'"
$result mysqli_query($con$sql);
$test mysqli_fetch_all($result);
?>
Alleen Val3 en Val6 zijn gewijzigd. Een print_r($test) geeft:
1
2
3
4
5
6
7
8
9
10
11
12
13
Array
(
    [0] => Array
        (
            [0] => 0
            [1] => 0
            [2] => 1
            [3] => 0
            [4] => 0
            [5] => 1
        )

)
Hoe krijg ik nu die kolomnamen (Val1_changed, etc) er weer bij?
Als ik de query in PHPMyadmin draai dan zie ik ze wel :{.
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_146611684
een associative fetch doen.
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')