abonnement Unibet Coolblue Bitvavo
  maandag 5 maart 2007 @ 21:50:18 #31
51748 H4ze
wait...what?
pi_46957628
quote:
Op maandag 5 maart 2007 21:28 schreef mschol het volgende:

[..]

ik heb voor school wel eens met OOP moeten werken, maar i.p.v. overzichtelijker werd het alleen maar onoverzichtelijker, je had een functie die 20x naar iets anders verwees voordat hij daadwerkelijk de functie aanriep
Dan heb je 't niet goed uitgedacht Ik ben op m'n stage op 't moment bezig met een groot PHP project. Alle modules die ik ontwikkel, werk ik eerst uit in UML. Met een goed ontwerp kun je zeer efficient OO programmeren.
*BURP*
pi_46969637
Gaat er nog iemand een artikel schrijven over OOP in PHP?
pi_46969961
Ik heb weer een leuke:

Een simpele query. Tabel met vier kolommen, eerst gesorteerd op A, daarna op B en daarna op C. D is een extra kolom, met een los attribuut. Nu hoeft er niet op D gestorteerd te worden, tenzij D lager dan 16 is. Dan moet D helemaal bovenaan de searchresults komen.

In PHP is dat op te vangen door twee query's te gebruiken, maar kan dit niet gewoon al direct in de query zelf?
pi_46970050
quote:
Op dinsdag 6 maart 2007 11:47 schreef super-muffin het volgende:
Gaat er nog iemand een artikel schrijven over OOP in PHP?
Daar zijn volgens mij al genoeg artikelen over geschreven

Maar het is echt ontzettend handig, dat OOP. Voordat ik voor FOK! dev-te maakte ik er nauwelijks gebruik van, maar zeker met een site als FOK! moet je haast wel OOP gebruiken om onderdelen soepel met elkaar te laten samenwerken. En dat maakt het programmeren heerlijk, je hoeft niet na te denken over allerlei functies die met elkaar moeten samenwerken, fantastisch.

Misschien dat ik nog wel eens een stukje op de dev-weblog kan schrijven
pi_46970266
quote:
Op dinsdag 6 maart 2007 11:57 schreef Geqxon het volgende:
Ik heb weer een leuke:

Een simpele query. Tabel met vier kolommen, eerst gesorteerd op A, daarna op B en daarna op C. D is een extra kolom, met een los attribuut. Nu hoeft er niet op D gestorteerd te worden, tenzij D lager dan 16 is. Dan moet D helemaal bovenaan de searchresults komen.

In PHP is dat op te vangen door twee query's te gebruiken, maar kan dit niet gewoon al direct in de query zelf?
Je zou kunnen proberen om met IF in je query te gaan werken. Dus IF d < 16 THEN ORDER BY d ELSE ORDER BY a, b, c END IF. Ik heb geen kant en klare query bij de hand, maar ik denk dat je in die richting moet zoeken
Daarnaast weet ik eigenlijk niet precies hoeveel load dat op je mysql-server geeft, dus het zou kunnen zijn dat het sneller is om het in php te verwerken
pi_46970775
quote:
Op maandag 5 maart 2007 21:50 schreef H4ze het volgende:

[..]

Dan heb je 't niet goed uitgedacht Ik ben op m'n stage op 't moment bezig met een groot PHP project. Alle modules die ik ontwikkel, werk ik eerst uit in UML. Met een goed ontwerp kun je zeer efficient OO programmeren.
Kijk in dat kader ook even naar Zend Framework.
pi_46970836
quote:
Op dinsdag 6 maart 2007 12:09 schreef Hmail het volgende:

[..]

Je zou kunnen proberen om met IF in je query te gaan werken. Dus IF d < 16 THEN ORDER BY d ELSE ORDER BY a, b, c END IF. Ik heb geen kant en klare query bij de hand, maar ik denk dat je in die richting moet zoeken
Daarnaast weet ik eigenlijk niet precies hoeveel load dat op je mysql-server geeft, dus het zou kunnen zijn dat het sneller is om het in php te verwerken
Idd, iets als:

SELECT IF(d < 16, 0, 1) as d_low, a, b, c FROM TABLE ORDER BY d_low, a, b, c, d
pi_46971113
quote:
Op dinsdag 6 maart 2007 12:28 schreef Roonaan het volgende:

[..]

Idd, iets als:

SELECT IF(d < 16, 0, 1) as d_low, a, b, c FROM TABLE ORDER BY d_low, a, b, c, d
hehe, you beat me Ik vond mijn query nog aardig gevonden
pi_46972142
Maar die (d < 16), op welke D slaat dat? Want in mijn tabel zijn er 1600 records, het is niet alsof ik maar een enkel record tevoorschijn tover
pi_46973104
quote:
Op dinsdag 6 maart 2007 13:15 schreef Geqxon het volgende:
Maar die (d < 16), op welke D slaat dat? Want in mijn tabel zijn er 1600 records, het is niet alsof ik maar een enkel record tevoorschijn tover
Die d is een veld van je record.
pi_46973942
Ik krijg het gevoel dat ik het niet 100% begrijp. Zelf wil ik het in de trant van:

1
2
3
4
5
6
7
8
9
+-------+-------+-------+-------+
|   A   |   B   |   C   |   D   |
+-------+-------+-------+-------+
|   D**   |   I**   |   2**   |   4   |
|   A**   |   E**   |   1**   |   120   |
|   P**   |   Q**   |   1**   |   133   |
|   P**   |   R**   |   2**   |   159   |
|   Z**   |   H**   |   1**   |   141   |
+-------+-------+-------+-------+


Dus sorteren op A, gevolgd door B en daarna C. Niet op D sorteren, tenzij deze lager dan 16 is, dan moet deze bovenaan de resultaten. Werkt deze IF statement niet per rij, in plaats van in het geheel?
  dinsdag 6 maart 2007 @ 15:01:04 #42
85514 ralfie
!Yvan eht nioj
pi_46975968
1IF (d <16,0,1) AS d_low
Dit betekent simpelweg dat als de 'd' van die rij kleiner is als 16, dat d_low dan 0 wordt, anders wordt die 1. Door nu eerst te sorteren op deze uitkomst, krijg je eerst alle rijen waar 'd' kleiner is als 16, en daarna alle rijen waar 'd' groter is als 16. En dat was dacht ik wat je wilde

1SELECT *,IF(d<16,0,1) AS d_low FROM table ORDER BY d_low,A,B,C


geeft dan

1
2
3
4
5
6
7
8
9
10
+------+------+------+------+-------+
| A    | B    | C    | D    | d_low |
+------+------+------+------+-------+
| D**  | I**  | 2**  |    4 |   0   |
| A**  | E**  | 1**  |  120 |   1   |
| P**  | Q**  | 1**  |  133 |   1   |
| P**  | R**  | 2**  |  159 |   1   |
| Z**  | H**  | 1**  |  141 |   1   |
+------+------+------+------+-------+
5 rows in set (0.00 sec)


[ Bericht 12% gewijzigd door ralfie op 06-03-2007 15:06:28 ]
pi_46976871
Dat is duidelijke praat, hij maakt simpelweg tijdelijk een extra kolom aan ,die 0 is if true en 1 if false, en sorteert daar op. Werkt prima, bedankt!
pi_46977454
quote:
Op maandag 5 maart 2007 21:50 schreef H4ze het volgende:

[..]

Dan heb je 't niet goed uitgedacht Ik ben op m'n stage op 't moment bezig met een groot PHP project. Alle modules die ik ontwikkel, werk ik eerst uit in UML. Met een goed ontwerp kun je zeer efficient OO programmeren.
ik heb het uitgedacht zoals het moest van de docenten..
  FOK!-Schrikkelbaas dinsdag 6 maart 2007 @ 15:59:12 #45
1972 Swetsenegger
Egocentrische Narcist
pi_46978259
Query vraagje.
Als ik nu een tabel heb met een veld initialen en een veld achternaam. En die wil ik vervolgens selecteren als naam.

SELECT (intialen, achternaam) AS naam FROM tabel

werkt in ieder geval niet
pi_46978505
SELECT CONCAT(initialen, " ", achternaam) AS naam FROM tabel.

Waar laat je overigens je tussenvoegsel?

Note: is het construeren van een naamsweergave uit onderdelen een data niveau kwestie of een template kwestie?
  FOK!-Schrikkelbaas dinsdag 6 maart 2007 @ 16:24:02 #47
1972 Swetsenegger
Egocentrische Narcist
pi_46979237
quote:
Op dinsdag 6 maart 2007 16:05 schreef Roönaän het volgende:
SELECT CONCAT(initialen, " ", achternaam) AS naam FROM tabel.
Bedankt! Helaas werkt dit niet met Access, maar wel met de & operator
quote:
Waar laat je overigens je tussenvoegsel?
Hoe bedoel je?
quote:
Note: is het construeren van een naamsweergave uit onderdelen een data niveau kwestie of een template kwestie?
eh... beide
  dinsdag 6 maart 2007 @ 16:58:21 #48
52200 ViPeRII
It's a good day to die
pi_46980609
Hi,

Heb een probleem met een functie:
de input komt uit een textarea en is b.v.:
Home
*test
+menu
-tje
Contact
Extra

Alles met enters er achter n naar ik aanneem.

Nu heb ik hier een functie, die code moet opbouwen voor een menu:
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
function make_menu_data_2($data)
{
   $menus1 = explode("n", $data);
   $menus = str_replace("n","",$menus1);
   print_r($menus);
   $aantal = count($menus);
   $menu = "var MENU_ITEMS = [n";
   for ($i = 0; $i < $aantal; $i++) 
   {      
   $menu .= "['";

   if ($menus[$i][0] == "*")
   {
   $menu .= str_replace("*","",$menus[$i]) . "', null, null,n";
   }
   else
   {
   if ($menus[$i][0] == "+")
   {
   $menus[$i] = str_replace("+", "", $menus[$i]);
   $menu .= $menus[$i] . "','page=" . str_replace(" ","",$menus[$i]) . "'],n";
                     }
   else
   if ($menus[$i][0] == "-")
   {
   $menus[$i] = str_replace("-", "", $menus[$i]);
   $menu .= $menus[$i] . "','page=" . str_replace(" ","",$menus[$i]) . "']n],n";
                     }
   else
   {
   $menu .= $menus[$i] . "','page=" . str_replace(" ","",$menus[$i]);
   $menu .= "'],n";
   }
            }
  }
$menu .= "n];";

$code = $menu;
return $code;
}
?>

Volgens mij zou de output:
var MENU_ITEMS = [
['Home','page=Home'],
['test', null, null,
['menu','page=menu'],
['tje','page=tje']
],
['Contact','page=Contact'],
['Extra','page=Extra'],

];

moeten zijn (zoals ik het ook hebben moet, maar hij maakt er:
var MENU_ITEMS = [
['Home
','page=Home
'],
['test
', null, null,
['menu
','page=menu
'],
['tje
','page=tje
']
],
['Contact
','page=Contact
'],
['Extra','page=Extra'],

];

van. zie iemand de fout in mijn code?

Als hij er uit komt als het 2e voorbeeld, doet mijn code het niet.
Het is belangrijk dat het er uit komt als: ['Extra','page=Extra'],
en niet als
['Extra',
'page=Extra'],

Hopelijk heeft iemand een idee
-- ViPeRII --
  FOK!-Schrikkelbaas dinsdag 6 maart 2007 @ 17:12:26 #49
1972 Swetsenegger
Egocentrische Narcist
pi_46981153
onder windows is \r\n
  dinsdag 6 maart 2007 @ 17:20:22 #50
128663 h.henkie
Ik ontken alles
pi_46981464
Hoi
Ik heb het volgende. Op deze pagina heb ik een upload scriptje staan met de volgende code:


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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?php
<form name="upload formulier" enctype="multipart/form-data" method="post" action=" echo $_SERVER['PHP_SELF']; ">
  <
input type="file" name="source_file">
  <
br>
  <
input type="submit" name="submit" value="Submit">
</
form><br />

  

error_reporting(E_ALL);  

if(isset(
$_POST['submit'])) {  
    
$size $_FILES['source_file']['size'];// / 1024 / 1024   om naar MB te gaan. 
    
$size round($size2);  
    echo 
"Het volgende bestand wordt geupload:<br />"
    echo 
"Naam: '" $_FILES['source_file']['name'] . "'<br />"
    echo 
"Grootte: '" $size " Bytes'<br />"
    echo 
"<b>tmp_name:</b> '" $_FILES['source_file']['tmp_name'] . "'<br />"
    echo 
"de upload wordt verwerkt...<br />"

    
//Variabelen definiëren
    
$ftp_server "ftp.edek.nl";  
    
$ftp_user_name "hromiz";  
    
$ftp_user_pass "XXXXXX";
    
$source_file $_FILES['source_file']['tmp_name'];  
    
$destination_file 'rooster/bestand/'.$_FILES['source_file']['name'];  
    echo 
$destination_file."<br>"

    
//Maak een basis connectie aan
    
$conn_id ftp_connect($ftp_server);  
    
ftp_pasv($conn_id,TRUE);  

    
//Meldt je aan met een gebruikersnaam en wachtwoord
    
$login_result ftp_login($conn_id$ftp_user_name$ftp_user_pass);  

     
//Controleer de verbinding
    
if ((!$conn_id) || (!$login_result)) {  
        echo 
"FTP connectie is mislukt!<br />";  
        echo 
"Probeerde naar '" $ftp_server "' te verbinden met de gebruiker '" $ftp_user_name "'<br />";  
        exit;  
    } else {  
        echo 
"Verbonden met '" $ftp_server "', als gebruiker '" $ftp_user_name "'<br />";  
    }  
   
 
//Upload een bestand
    
$upload ftp_put($conn_id$destination_file$source_fileFTP_BINARY);  
 
 
//Controleer de upload status
    
if (!$upload) {  
        echo 
"FTP upload is mislukt!<br />";  
    } else {  
        echo 
"<b>Geupload: '" $source_file "' naar '" $ftp_server "' als '" $destination_file "'</b><br />";  
    }  
    
//Sluit de FTP stream
    
ftp_close($conn_id);  
}  
?>


Ik krijg bij de link de fout melding:
quote:
Warning: ftp_put() [function.ftp-put]: rooster/bestand/license.txt: The system cannot find the path specified. in c:domainsedek.nlwwwrootrooster1.php on line 46

Als ik dit script op mijn prive webserver zet werkt het wel. (ook van buitenaf)

Wie weet waar de fout zit? Voor mijn gevoel heeft het iets met rechten oid te maken.

gegroet
"Een kat heeft 40 miljoen haren: 5 miljoen op de rug, 10 miljoen op de
buik, en 25 miljoen op uw bankstel" -- Midas Dekkers
pi_46981620
quote:
Op dinsdag 6 maart 2007 16:24 schreef Swetsenegger het volgende:


Hoe bedoel je?
[..]

eh... beide
Hans van den Berg wordt in jouw voorbeeld "H. Berg"
  FOK!-Schrikkelbaas dinsdag 6 maart 2007 @ 17:25:31 #52
1972 Swetsenegger
Egocentrische Narcist
pi_46981693
quote:
Op dinsdag 6 maart 2007 17:24 schreef Geqxon het volgende:

[..]

Hans van den Berg wordt in jouw voorbeeld "H. Berg"
Ow ja, die kan ik er eventueel nog bij pakken. Maar niet van belang voor de toepassing.
  dinsdag 6 maart 2007 @ 17:32:31 #53
52200 ViPeRII
It's a good day to die
pi_46982014
@swetsenecker...

Dus ik moet filteren op rn ?
En wat bedoel je onder windows? De post data is onder een windows client anders dan onder een linux client of bedoel je server sided?
-- ViPeRII --
  dinsdag 6 maart 2007 @ 20:56:30 #54
51748 H4ze
wait...what?
pi_46990441
quote:
Op dinsdag 6 maart 2007 15:40 schreef mschol het volgende:

[..]

ik heb het uitgedacht zoals het moest van de docenten..
En dat was gewoon gaan zitten en coden zeker? Serieus, een goed ontwerp is het halve werk.
*BURP*
  woensdag 7 maart 2007 @ 09:17:31 #55
21410 Fliepke
Serieuze waarheid
pi_47005700
Ik heb wat items ingevoerd in een database en er is ook allemaal een tijd aan gekoppeld (0:00), maar ze moeten allemaal een tijd krijgen van 1 minuut later (0:01). Hoe maak ik een goede update query, zodat ze allemaal 60 unixtijdjes erbij krijgen?

effe in pseudo code
UPDATE `items`
SET `start_date` +60

Zoiets, maar hoe doe ik dat in het echt?
pi_47005838
UPDATE items SET start_date = start_date + 60
Werkt dat niet?

[ Bericht 0% gewijzigd door Hmail op 07-03-2007 09:33:31 ]
pi_47006525
quote:
Op woensdag 7 maart 2007 09:23 schreef Hmail het volgende:
UPDATE items SET start_date = start_date + 60
Werkt dat niet?
Zou moeten werken, heeft het hier zojuist prima gedaan
  woensdag 7 maart 2007 @ 10:05:01 #58
21410 Fliepke
Serieuze waarheid
pi_47006950
Zo simpel
Jezus, ik durfde het al niet te proberen
pi_47007628
Twee vraagjes:

Ik wil net zo tof als Fok! niet meer met index.php?page=25, maar met "www.website.tld/index/25". Kan dit met enkel PHP, of heb ik daar ook een .htaccess aanpassing voor nodig?
pi_47007901
Dat kan met htaccess:

1
2
RewriteEngine On
RewriteRule ^/index/([0-9]+)$ http://www.website.tld/index.php?page=$1.php

Zo iets.
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')