abonnement Unibet Coolblue Bitvavo
pi_61172998
1
2
3
4
5
6
7
8
<?php
$getal 
= (int)$_POST['dag'];
if (
$dag >= && $dag <= 31) {
  
// De dag is goed
} else {
  
// De dag is niet goed
}
?>


Je kunt dit ook in de HTML al een beetje doen door de gebruiker geen tekstveld te geven die hij kan invullen, maar een drop-down box waarin alleen de getallen 1 t/m 31 staan. Dat is alleen niet genoeg, maar voorkomt wel fouten.
pi_61175844
Iemand een idee hoe ik het volgende simpel kan realiseren?

Stel ik heb een array
$arr = array(1 => 20, 2 => 32, 3 => 12, 4 => 40, 5 => 25, 6 => 75);

en ik wil dit zo in een string krijgen
[1, 29], [2, 32], [3, 12], [4, 40], [5, 25], [6, 75]

want nu doe ik het zo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
function toJsArray($arr)
{
    
$num count($arr);
    
$str "";
    
$x 0;

    foreach (
$arr AS $id => $key)
    {
        
$x++;

        
$str .= "[" $id "," $key "]" . (($x $num) ? "," "");
    }

    return 
$str;
}
?>


[ Bericht 5% gewijzigd door Chandler op 27-08-2008 21:08:51 (iets vergeten :D) ]
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_61176091
1
2
3
4
5
6
7
8
9
10
11
<?php
function toJsArray($arr) {
    
$str '';

    foreach (
$arr AS $id => $key) {
        
$str .= '[' $id ',' $key '],';
    }

    return 
substr($str0, -1);
}
?>
pi_61176463
Dat met die komma aan het einde kun je ook nog oplossen met een implode:

1
2
3
4
5
6
7
8
9
10
<?php
function toJsArray($arr)
{
  
$result = array();
  foreach (
$arr as $id => $key) {
    
$result[] = '[' $id ',' $key ']';
  }
  return 
implode(','$result);
}
?>
pi_61177136
Ik wist wel dat het korter kon tnx
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  woensdag 27 augustus 2008 @ 23:03:32 #131
85514 ralfie
!Yvan eht nioj
pi_61179772
1
2
3
4
5
6
7
<?php
function toJsArray($ar)
{
   foreach(
$ar as $k => &$it$it="[{$k}, {$it}]";
   return 
join(', ',$ar);
}
?>
pi_61179845
quote:
Op woensdag 27 augustus 2008 21:05 schreef Chandler het volgende:
Iemand een idee hoe ik het volgende simpel kan realiseren?

Stel ik heb een array
$arr = array(1 => 20, 2 => 32, 3 => 12, 4 => 40, 5 => 25, 6 => 75);

en ik wil dit zo in een string krijgen
[1, 29], [2, 32], [3, 12], [4, 40], [5, 25], [6, 75]
Ik weet niet wat je van plan bent, maar als het de bedoeling is om die array in javascript te gebruiken kan json_encode() erg handig zijn.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_61181946
quote:
Op woensdag 27 augustus 2008 19:26 schreef HuHu het volgende:

[ code verwijderd ]

Je kunt dit ook in de HTML al een beetje doen door de gebruiker geen tekstveld te geven die hij kan invullen, maar een drop-down box waarin alleen de getallen 1 t/m 31 staan. Dat is alleen niet genoeg, maar voorkomt wel fouten.
Ik zou wel
$getal = (int)$_POST['dag'];
vervangen door
$dag = (int)$_POST['dag'];

Past iets beter bij de rest van de code
pi_61182994
quote:
Op woensdag 27 augustus 2008 19:26 schreef HuHu het volgende:

[ code verwijderd ]
en een is_numeric() test erbij gooien zodat je geen warnings krijgt op je int conversie.. en dus de user kan teruggooien naar je input scherm ofzo.
pi_61184673
quote:
Op woensdag 27 augustus 2008 21:05 schreef Chandler het volgende:
Iemand een idee hoe ik het volgende simpel kan realiseren?

Stel ik heb een array
$arr = array(1 => 20, 2 => 32, 3 => 12, 4 => 40, 5 => 25, 6 => 75);

en ik wil dit zo in een string krijgen
[1, 29], [2, 32], [3, 12], [4, 40], [5, 25], [6, 75]

want nu doe ik het zo:
[ code verwijderd ]


Ik vind het overigens erg verwarrend dat de value in je foreach key noemt, in plaats van de key
pi_61186978
quote:
Op donderdag 28 augustus 2008 01:51 schreef slakkie het volgende:

[..]

en een is_numeric() test erbij gooien zodat je geen warnings krijgt op je int conversie.. en dus de user kan teruggooien naar je input scherm ofzo.
Of gewoon intval() gebruiken.
pi_61201085
quote:
Op donderdag 21 augustus 2008 21:16 schreef Xcalibur het volgende:
ik probeer PostgreSQL te installeren, maar m'n PHP begrijpt het niet

PostgreSQL draait op zich prima, ik heb de bijbehorende DLL in m'n extensionmap staan, maar als ik de regel in php.ini uitcomment krijg ik de melding "Unable to load dynamic library". Ik weet zeker dat het pad goed is, bovendien heb ik geexpirimenteerd met verschillende versies van het bestand wat me verschillende foutmeldingen heeft opgeleverd...

Mis ik een ander bestand? Moet ik een bepaalde versie hebben? Moet er nog iets in m'n php.ini gebeuren?
Schopje.
Dit werkt nog steeds niet?
  donderdag 28 augustus 2008 @ 19:52:43 #138
75592 GlowMouse
l'état, c'est moi
pi_61201168
quote:
Op donderdag 28 augustus 2008 19:49 schreef Xcalibur het volgende:

[..]

Schopje.
Dit werkt nog steeds niet?
Onder Windows neem ik aan, staat het path goed?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_61201311
Onder windows ja.

Je bedoelt het path naar de extensions dir, die staat goed
Als ik de .dll vervang door andere versies krijg ik ook andere foutmeldingen...

Andere extensions werken ook naar behoren overigens
  donderdag 28 augustus 2008 @ 20:00:49 #140
75592 GlowMouse
l'état, c'est moi
pi_61201363
Nee, path de omgevingsvariabele. Ziehier.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_61202120
Ah, die path. Ja, die staat ook goed
pi_61212367
quote:
Op donderdag 28 augustus 2008 09:00 schreef Xcalibur het volgende:
Ik vind het overigens erg verwarrend dat de value in je foreach key noemt, in plaats van de key
Het mag dan wat verwarrend zijn, maar hoe je het ook noemt het gaat om de output

Maar $id => $content zou beter zijn
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_61212596
quote:
Op donderdag 21 augustus 2008 19:04 schreef HuHu het volgende:
Weet iemand of het mogelijk is met MySQL middels een TRIGGER een INSERT te voorkomen?

Dus iets als:
[ code verwijderd ]

Een DELETE bij een AFTER INSERT gaat niet, omdat de zojuist ingevoegde rij dan nog gelocked is.
Niemand die hier iets op weet? Of een andere manier om een INSERT te voorkomen middels MySQL?
  vrijdag 29 augustus 2008 @ 09:32:22 #144
75592 GlowMouse
l'état, c'est moi
pi_61212714
quote:
Op donderdag 28 augustus 2008 20:29 schreef Xcalibur het volgende:
Ah, die path. Ja, die staat ook goed
$_ENV['path'] toont dat ook (staat hier op oa. d:\program files (x86)\php)? Dat is een van de weinige dingen die fout kan gaan. Hier draait postgresql prima onder de php-5.2.5 win32 binary.

HuHu: http://www.brokenbuild.co(...)lete-with-a-trigger/
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_61212909
quote:
Op vrijdag 29 augustus 2008 09:32 schreef GlowMouse het volgende:

[..]

$_ENV['path'] toont dat ook (staat hier op oa. d:\program files (x86)\php)? Dat is een van de weinige dingen die fout kan gaan. Hier draait postgresql prima onder de php-5.2.5 win32 binary.

HuHu: http://www.brokenbuild.co(...)lete-with-a-trigger/
Hoe heb je die zo snel gevonden... ik kon niets vinden met Google. Zat waarschijnlijk weer op de verkeerde woorden te zoeken .

Maar het is wel een beetje vieze manier, er is dus blijkbaar geen nette oplossing. Zelf had ik het nu al opgelost door ongeldige waarden in een kolom te stoppen, waardoor er een error optrad die vervolgens werd genegeerd. Eens kijken of deze manier geen error oplevert, dat is dan wel beter .
  vrijdag 29 augustus 2008 @ 09:43:58 #146
75592 GlowMouse
l'état, c'est moi
pi_61212963
quote:
Op vrijdag 29 augustus 2008 09:41 schreef HuHu het volgende:

[..]

Hoe heb je die zo snel gevonden... ik kon niets vinden met Google. Zat waarschijnlijk weer op de verkeerde woorden te zoeken .

Maar het is wel een beetje vieze manier, er is dus blijkbaar geen nette oplossing. Zelf had ik het nu al opgelost door ongeldige waarden in een kolom te stoppen, waardoor er een error optrad die vervolgens werd genegeerd. Eens kijken of deze manier geen error oplevert, dat is dan wel beter .
http://www.google.nl/search?hl=nl&safe=off&q=mysql+abort+insert&btnG=Zoeken&meta=
Hier zal ook wel een error door komen.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_61213863
quote:
Op vrijdag 29 augustus 2008 09:32 schreef GlowMouse het volgende:

[..]

$_ENV['path'] toont dat ook (staat hier op oa. d:\program files (x86)\php)? Dat is een van de weinige dingen die fout kan gaan. Hier draait postgresql prima onder de php-5.2.5 win32 binary.
Ja:

Path
C:\Program Files\PHP;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Common Files\Adobe\AGL;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Microsoft SQL Server\90\Tools\binn\

Ik draai PHP 5.2.6, maar dat lijkt me niet zo'n probleem verder
Ik heb echt geen idee waar het aan kan liggen....
pi_61240471
Ik ben bezig met het optimaliseren van database tabellen, maar loop tegen het volgende aan:

mijn query:
1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT fish.id,
               fish.user_id,
               fish.catchdate,
               fish_categories.name,
               users.username,
               media.id AS photo_id
        FROM fish
        LEFT JOIN users ON users.id = fish.user_id
        LEFT JOIN media ON media.source_id = fish.id
        LEFT JOIN fish_categories ON fish_categories.id = fish.fish_id
        GROUP BY fish.id
        ORDER BY fish.id DESC
        LIMIT 0,4


EXPLAIN:
1
2
3
4
1 SIMPLE fish ALL NULL NULL NULL NULL 76 Using temporary; Using filesort 
1 SIMPLE users ref id id 4 nl_visfreaks.fish.user_id 2   
1 SIMPLE media ALL NULL NULL NULL NULL 135   
1 SIMPLE fish_categories ref id id 4 nl_visfreaks.fish.fish_id 8   


Het probleem is dat ik nu op de tabel FISH een filesort heb bij deze zoekactie, en dat schiet niet echt op. Nu wil ik indexes maken voor dit tabel en heb dus (fish_id, user_id en id) geindexeerd maar nog krijg ik deze filesort... weet iemand wat ik fout doe? :D
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_61240648
Waarom heb je in je fish tabel zowel een id veld als een fish_id veld?
  zaterdag 30 augustus 2008 @ 10:27:58 #150
75592 GlowMouse
l'état, c'est moi
pi_61240688
Die index deugt niet. Hij staat gewoon op wat velden zonder rekeling te houden met je query. Fish_id is nergens constant, dus wordt de rest van je index niet benut. Ik snap ook niet waarom je dat indexeert: het staat weliswaar in een WHERE, maar je hebt toch altijd alle waarden van fish_id nodig, dus dat heeft geen zin (tenzij je een covering index kunt maken, maar dan weet je wel wat je doet hopelijk).
Wat hier het beste is, is een index op fish.id, een op users.id, een op media.source_id en een op fish_categories.id.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')