abonnement Unibet Coolblue
pi_106636389


Als je vragen hebt over PHP/MySQL, dan zit je hier goed met een vaste kliek guru's en een groot aantal regelmatige bezoekers. Beperk je vragen niet tot "hij doet het niet" of "hij geeft een fout" - onze glazen bol is kapot en we willen graag van je weten wát er niet lukt en wélke foutmelding je precies krijgt :)

Zie ook:
PHP Dataverwerking
Officiële PHP website
PHP Documentatie
MySQL Reference Manual
Yet Another PHP Faq
PHP Cheat Sheet
PHP5 Power Programming - boek met uitleg over OOP, Pear, XML, etc

Tutorials:
W3Schools PHP
W3Schools SQL
pi_106636452
Laatste paar posts:
quote:
2s.gif Op dinsdag 10 januari 2012 11:28 schreef Tijn het volgende:

[..]

De machine waar de database zelf op staat is de databaseserver. De machine waar de applicatie op draait die met de database verbinding heeft is de databaseclient.
quote:
0s.gif Op dinsdag 10 januari 2012 11:28 schreef Scorpie het volgende:

[..]

100x zegt niks. Doe hem eens 100.000 keer.
quote:
0s.gif Op dinsdag 10 januari 2012 12:07 schreef Pakspul het volgende:

[..]

Bij 100.000 keer doet hij er 11% langer over in PHP dan wanneer je MySQL zelf de round functie laat uitvoeren.
Waar ik nog achter aan ga, maar nu niet is of een berekening (e.g. percentage berekening) meer belasting veroorzaakt in PHP dan MySQL.
  dinsdag 10 januari 2012 @ 13:07:47 #3
25889 Sitethief
Fulltime Flapdrol
pi_106638260
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
SELECT 
IF(CHAR_LENGTH(i.Issue) = '5'
        
CONCAT(
            (IF((
i.Issue REGEXP '99|98|97') = 1,19,20)),SUBSTRING(i.Issue,4,5),SUBSTRING(i.Issue,1,2)
        ),
        
CONCAT(
            (IF((
i.Issue REGEXP '99|98|97') = 1,19,20)),SUBSTRING(i.Issue,3,4),0,SUBSTRING(i.Issue ,1,1)
        )
)
AS 
issuei.Issue
FROM items i
WHERE i
.Issue != '00/00' AND (i.Issue REGEXP '/'
AND 
issue BETWEEN 199901 AND 200501
ORDER BY issue
?>

Dit werkt natuurlijk niet omdat je geen alias in een WHERE kunt gebruiken, maar hoe krijg ik in hemelsnaam die formatering in de WHERE zodat ik een BETWEEN kan doen? Moet ik daarvoor IF ipv IF() gebruiken? Want ik snap niet helemaal hoe ik dat voor elkaar krijg....
(ProductIssue is in het formaat 1/99, 10/06 etc, heb ik niet zelf bedacht :X)
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  dinsdag 10 januari 2012 @ 14:12:05 #4
25889 Sitethief
Fulltime Flapdrol
pi_106640809
Hebbes

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
SELECT i
.Issue
IF(
CHAR_LENGTH(i.Issue) = '5'
    
CONCAT(
        (IF((
i.Issue REGEXP '99|98|97') = 1,19,20)),SUBSTRING(i.Issue,4,5),SUBSTRING(i.Issue,1,2)
    ),
    
CONCAT(
        (IF((
i.Issue REGEXP '99|98|97') = 1,19,20)),SUBSTRING(i.Issue,3,4),0,SUBSTRING(i.Issue,1,1)
    )) as 
issue
FROM items i
WHERE i
.Issue != '00/00' AND (i.Issue REGEXP '/') AND 
(IF(
CHAR_LENGTH(i.Issue) = '5'
    
CONCAT(
        (IF((
i.Issue REGEXP '99|98|97') = 1,19,20)),SUBSTRING(i.Issue,4,5),SUBSTRING(i.Issue,1,2)
    ),
    
CONCAT(
        (IF((
i.Issue REGEXP '99|98|97') = 1,19,20)),SUBSTRING(i.Issue,3,4),0,SUBSTRING(i.Issue,1,1)
    )
)) 
BETWEEN 199901 AND 200501
?>
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_106687279
Probleem:

Een tabel is gevuld met produkten die bij bepaalde categorieen horen! ik wil graag per 'categorie' 4 produkten (de beste) uit deze tabel halen.

Hoe krijg ik dit voor elkaar? kan dit met 1 query? of moet ik eerst de 'categorieen' uitlezen en daarna per categorie een query uitvoeren? graag jullie idee! :)
Just say hi!
  woensdag 11 januari 2012 @ 16:59:47 #6
56176 Catch22-
Ben je Blind?!
pi_106687329
GROUP BY met een LIMIT of Top?
Heel veel groetjes, Catch22
En zoals mijn opa zei: "Al is het meisje nog zo mooi, haar poep stinkt ook". Rust Zacht opa..
Met GHB nooit meer nee
Storneren een optie?
  woensdag 11 januari 2012 @ 17:12:01 #7
75592 GlowMouse
l'état, c'est moi
pi_106687801
Dat kan helaas niet met één query.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  woensdag 11 januari 2012 @ 17:12:49 #8
84244 Scorpie
Abject en infaam!
pi_106687832
quote:
0s.gif Op dinsdag 10 januari 2012 14:12 schreef Sitethief het volgende:
Hebbes
[ code verwijderd ]

Lekker leesbaar, goed te onderhouden, toppertje.
Op dinsdag 13 augustus schreef Xa1pt:
Neuh, fraude mag best aangepakt worden. Maar dat het de maatschappij meer oplevert of beter is voor de samenleving, is nog maar de vraag.
Op donderdag 25 juni 2015 schreef KoosVogels:
Klopt. Ik ben een racist.
  woensdag 11 januari 2012 @ 17:13:29 #9
56176 Catch22-
Ben je Blind?!
pi_106687854
zal ook wel lekker performen
Heel veel groetjes, Catch22
En zoals mijn opa zei: "Al is het meisje nog zo mooi, haar poep stinkt ook". Rust Zacht opa..
Met GHB nooit meer nee
Storneren een optie?
pi_106690546
quote:
0s.gif Op woensdag 11 januari 2012 17:12 schreef GlowMouse het volgende:
Dat kan helaas niet met één query.
Was ik al bang voor, dan moet ik maar gaan cachen :@
Just say hi!
pi_106753935
Eindelijk weer het scripten in de vingers, heerlijk! :)

Vraagje, ik heb een datetime stamp in mijn tabel voor data opslag! nu wil ik zoeken op 'yyyy-mm-dd' tussen een bepaalde range (bv 01-01-2010 t/m 01-10-2010)

Ik heb de volgende query:

1
2
3
4
5
6
7
8
9
SELECT `catches`.*,
                   `users`.`username`,
                   `fish`.`name`
            FROM `catches`
            LEFT JOIN `users` 
            ON `users`.`id` = `catches`.`user_id`
            LEFT JOIN `fish` 
            ON `fish`.`id` = `catches`.`fish_id`
            WHERE `catches`.`datetime`  BETWEEN '2010-11-15' AND '2010-07-19'
maar die werkt niet ;) en de volgende geeft ook geen resultaten (werkt niet = 0 resultaten?)
1
2
3
4
5
6
7
8
9
10
SELECT `catches`.*,
                   `users`.`username`,
                   `fish`.`name`
            FROM `catches`
            LEFT JOIN `users` 
            ON `users`.`id` = `catches`.`user_id`
            LEFT JOIN `fish` 
            ON `fish`.`id` = `catches`.`fish_id`
            WHERE date_format(`catches`.`datetime`, '%Y-%m-%d')  >= '2010-11-15' 
            AND date_format(`catches`.`datetime`, '%Y-%m-%d') <= '2010-07-19'

Wat doe ik fout? ook zonder date_format of wat dan ook werkt het niet! :)
Just say hi!
  vrijdag 13 januari 2012 @ 11:23:42 #12
25889 Sitethief
Fulltime Flapdrol
pi_106755048
Scorpie, ik schrijf niet zo heel vaak zulke lange dingen in SQL, maar hoe kan ik dit beter schrijven dan?
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
                    $reportWhere
[] = array(
                       
'custom' => 
                                
"(IF(CHAR_LENGTH(p.ProductIssue) = '5',
                                    CONCAT(
                                        (IF((p.ProductIssue REGEXP '99|98|97|96') = 1,19,20)),SUBSTRING(p.ProductIssue,4,5),SUBSTRING(p.ProductIssue,1,2)
                                    ),
                                    CONCAT(
                                        (IF((p.ProductIssue REGEXP '99|98|97|96') = 1,19,20)),SUBSTRING(p.ProductIssue,3,4),0,SUBSTRING(p.ProductIssue,1,1)
                                    )
                                )) BETWEEN "
.formatIssue($dataList['ProductIssueBetween1'])." AND ".formatIssue($dataList['ProductIssueBetween2']).""
                    
);
?>

En ja, die values zijn al geescaped
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  vrijdag 13 januari 2012 @ 11:28:41 #13
75592 GlowMouse
l'état, c'est moi
pi_106755190
@Chandler: bij BETWEEN moet de eerste datum voor de tweede liggen.

@Sitethief: neem een voorbeeld aan chandler, gebruik de juiste datatypen voor je velden
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  vrijdag 13 januari 2012 @ 11:29:16 #14
25889 Sitethief
Fulltime Flapdrol
pi_106755200
@Chandler. ik denk dat dit je probleem is

1
2
3
4
<?php
BETWEEN 
'2000-01-01' AND '2012-01-01' //deze werkt en geeft alles tussen 2000-2012
BETWEEN '2012-01-01' AND '2000-01-01' //deze heeft verkeerd volgorde.
?>

Volgens de MySQL website is het
1expr BETWEEN min AND max
Jij hebt het andersom.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_106756126
Het is nog vroeg hé :@

En dat iemand een voorbeeld mag nemen aan mij? woei!!!! *)
Just say hi!
  vrijdag 13 januari 2012 @ 12:40:47 #16
25889 Sitethief
Fulltime Flapdrol
pi_106757333
@GlowMouse

Het is een al bestaande database waar ik software voor schrijf, veld is VARCHAR. En dat kan ook niet anders, want het is in het formaat 'issuenummer/laatste twee cijfers van jaartal, dus geen datum of integer.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_106771099
Ik zou bijna zeggen, split deze data in een extra tabel, scheelt je bergen met gezeur :)
Just say hi!
pi_106795070
Goedemorgen ik heb weer een vraag , ik heb nu een redelijk formaat FORM. Alleen kapt hij halverwege af. Dit doet hij op 1 server en ik zie niet welke variabele dit ervoor zorgt. het gaat maar om 60 -70 input velden. hiervan pakt hij de helft maar, en de FORM variabelen zijn goed gezet.

ik heb dit op 2-3 servers getest maar op 1 staat de configuratie niet goed en ik snap niet hoe het kan dat hij zomaar met de $_POST stopt.

Iemand een idee? Ik zat zelf hier aan te denken:

suhosin.post.max_array_depth 50 50
suhosin.post.max_array_index_length 64 64
suhosin.post.max_name_length 64 64
suhosin.post.max_totalname_length 256 256
suhosin.post.max_value_length 1000000 1000000
suhosin.post.max_vars 1000 1000
suhosin.request.max_vars 100 100

Edit: Iets met een server variabele maar ik weet niet welke ? bovenstaande lijkt een beetje vaag dat het nou die zijn, maar iemand een idee? want k snap het niet meer.

Ter verduidelijking FORM online op de betreffende server.
http://www.clickenweb.nl/cms/classes/test.php
Hij post niet alle velden mee, terwijl ze wel in de FORM zijn gedeclareerd.
Kapt zomaar zonder reden halverwege de $_POST Array af. Terwijl het wel tussen 2 FORM tags staat.

Na 40.000 (aantallen) weigert hij opeens , en wil hij de rest niet doorsturen.


EDIT:
Ik denk dat ik de fout heb maar zekerheid kan ik niet zeggen, mits deze vraag beantwoord is suhosin.request.max_vars staat op 100 , is een post dan ook een request?

[ Bericht 7% gewijzigd door cablegunmaster op 15-01-2012 09:55:52 ]
Redacted
  woensdag 18 januari 2012 @ 09:27:54 #19
267443 Cue_
Cuecumbergirl
pi_106940998
Nieuwe vraag

Ik heb het TXT bestand (sorry dat het niet al te best te lezen is


Dit zijn gegevens die ik dus via een textbestand uit een andere database krijg. Momenteel pakken we dit bestand op en maken daar gelijk een pdf van en versturen dat intern naar de gebruikers.

Maar nu willen ze dat bepaalde gegevens dik gedrukt worden (van bepaalde debiteuren).
Dit betekend dat ik het bestand moet verwerken afhankelijk van de debiteurgegevens. Het idee kwam om te kijken of we de gegevens op een 1 of andere manier in een database kunnen krijgen en vanuit daar weer verder aan de slag.

Hebben jullie enig idee hoe dit aan te pakken?
  woensdag 18 januari 2012 @ 09:29:50 #20
25889 Sitethief
Fulltime Flapdrol
pi_106941033
Waarom gebruik je niet de originele database?
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  woensdag 18 januari 2012 @ 09:39:30 #21
84244 Scorpie
Abject en infaam!
pi_106941221
Laat het bestand in XML formaat aanleveren en ga daarmee aan de slag? Of vraag toegang op de database in kwestie?
Op dinsdag 13 augustus schreef Xa1pt:
Neuh, fraude mag best aangepakt worden. Maar dat het de maatschappij meer oplevert of beter is voor de samenleving, is nog maar de vraag.
Op donderdag 25 juni 2015 schreef KoosVogels:
Klopt. Ik ben een racist.
  woensdag 18 januari 2012 @ 10:20:26 #22
137776 boem-dikkie
Jedi Mind Baby!
pi_106942075
Ik heb even iets waar ik niet echt uit kom. Hoef in principe geen code te posten, als iemand me even op weg kan helpen met een constructie in woorden kom ik er zelf vast wel uit.

Ik heb een bestelformulier met zo'n 40 opties. De klant moet in dat formulier invullen hoeveel hij van die optie wil. Als hij op verzenden drukt moet het formulier in mijn mail komen met alleen de opties die hij heeft ingevuld.

Dus het moet op zo'n manier in mijn mail komen bijvoorbeeld:

Optie 1 - 3 maal
Optie 24 - 5 maal
Optie 39 - 1 maal
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
  woensdag 18 januari 2012 @ 10:22:54 #23
12221 Tijn
Powered by MS Paint
pi_106942148
quote:
0s.gif Op zaterdag 14 januari 2012 09:39 schreef cablegunmaster het volgende:

Ik denk dat ik de fout heb maar zekerheid kan ik niet zeggen, mits deze vraag beantwoord is suhosin.request.max_vars staat op 100 , is een post dan ook een request?
Ik denk het wel. Volgens mij is dit de $_REQUEST superglobal, dus alle POST, GET en COOKIE variabelen samen.
  woensdag 18 januari 2012 @ 10:25:31 #24
84244 Scorpie
Abject en infaam!
pi_106942201
quote:
14s.gif Op woensdag 18 januari 2012 10:20 schreef boem-dikkie het volgende:
Ik heb even iets waar ik niet echt uit kom. Hoef in principe geen code te posten, als iemand me even op weg kan helpen met een constructie in woorden kom ik er zelf vast wel uit.

Ik heb een bestelformulier met zo'n 40 opties. De klant moet in dat formulier invullen hoeveel hij van die optie wil. Als hij op verzenden drukt moet het formulier in mijn mail komen met alleen de opties die hij heeft ingevuld.

Dus het moet op zo'n manier in mijn mail komen bijvoorbeeld:

Optie 1 - 3 maal
Optie 24 - 5 maal
Optie 39 - 1 maal
Invoervelden met als id optie1, optie24, optie39 ?
Op dinsdag 13 augustus schreef Xa1pt:
Neuh, fraude mag best aangepakt worden. Maar dat het de maatschappij meer oplevert of beter is voor de samenleving, is nog maar de vraag.
Op donderdag 25 juni 2015 schreef KoosVogels:
Klopt. Ik ben een racist.
  woensdag 18 januari 2012 @ 10:59:50 #25
91039 mstx
2x1/2 = 1/2 x 1/2
pi_106942973
quote:
14s.gif Op woensdag 18 januari 2012 10:20 schreef boem-dikkie het volgende:
Ik heb even iets waar ik niet echt uit kom. Hoef in principe geen code te posten, als iemand me even op weg kan helpen met een constructie in woorden kom ik er zelf vast wel uit.

Ik heb een bestelformulier met zo'n 40 opties. De klant moet in dat formulier invullen hoeveel hij van die optie wil. Als hij op verzenden drukt moet het formulier in mijn mail komen met alleen de opties die hij heeft ingevuld.

Dus het moet op zo'n manier in mijn mail komen bijvoorbeeld:

Optie 1 - 3 maal
Optie 24 - 5 maal
Optie 39 - 1 maal
1
2
3
<input name="optie[1]" />
<input name="optie[2]" />
<input name="optie[3]" />
1
2
3
4
5
6
7
8
<?php
$mail
='';
foreach ( 
$_POST['optie'] as $k=>$v ) {
if ( 
$v>) {
$mail.="Optie ".$k." - ".$v." maal\n";
}
}
?>
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.
👾
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')