abonnement Unibet Coolblue Bitvavo
pi_58247704
quote:
Op maandag 21 april 2008 17:25 schreef qu63 het volgende:

nu wil ik alleen een pagina, die niet van mijzelf is, includen in een pagina zodat ik niet steeds username en ww in hoef te vullen
Je kunt een socket openen. Dan stuur je zelf de headers en leest daarna de response uit.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  woensdag 23 april 2008 @ 10:34:43 #103
62215 qu63
..de tijd drinkt..
pi_58247875
quote:
Op woensdag 23 april 2008 10:27 schreef SuperRembo het volgende:

[..]

Je kunt een socket openen. Dan stuur je zelf de headers en leest daarna de response uit.
en hoe doen we dat?
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_58251984
quote:
Op woensdag 23 april 2008 10:34 schreef qu63 het volgende:
[..]
en hoe doen we dat?
Daartoe lezen we de f... manual
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  woensdag 23 april 2008 @ 13:46:02 #105
62215 qu63
..de tijd drinkt..
pi_58252685
quote:
Op woensdag 23 april 2008 13:13 schreef SuperRembo het volgende:

[..]

Daartoe lezen we de f... manual :P
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$fp 
fsockopen("server.busbroker.nl"80$errno$errstr30);
if (!
$fp) {
    echo 
"$errstr ($errno)<br />\n";
} else {
    
$out "GET / HTTP/1.1\r\n";
    
$out .= "Host: www.example.com\r\n";
    
$out .= "Connection: Close\r\n\r\n";

    
fwrite($fp$out);
    while (!
feof($fp)) {
        echo 
fgets($fp128);
    }
    
fclose($fp);
}
?>

response:
HTTP/1.1 401 Unauthorized Content-Length: 1710 Content-Type: text/html Server: Microsoft-IIS/6.0 WWW-Authenticate: Negotiate WWW-Authenticate: NTLM X-Powered-By: ASP.NET Date: Wed, 23 Apr 2008 11:45:03 GMT Connection: close

U bent niet gemachtigd om deze pagina te bekijken
U bent niet gemachtigd om deze map of pagina te bekijken met de referenties die u hebt opgegeven, omdat met de webbrowser een koptekstveld voor WWW-verificatie wordt verzonden dat niet kan worden geaccepteerd door de webserver.

etc.
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_58252915
Aii... NTLM authenticatie... dat kan nog rottig worden. Hopen dat de server ook Basic wil slikken...
maar voeg deze eens toe:
1
2
$credentials = "username:password";
$out.= "Authorization: Basic " . base64_encode($credentials)
Don't hurry, be crappy!
  woensdag 23 april 2008 @ 14:01:04 #107
62215 qu63
..de tijd drinkt..
pi_58253016
quote:
Op woensdag 23 april 2008 13:56 schreef RiDo78 het volgende:
Aii... NTLM authenticatie... dat kan nog rottig worden. Hopen dat de server ook Basic wil slikken...
maar voeg deze eens toe:
[ code verwijderd ]
nope.
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_58253054
tvp
pi_58253104
Het probleem wordt hier beschreven, maar ik heb het niet getest...

http://blog.thinkphp.de/a(...)ources-with-PHP.html
Don't hurry, be crappy!
  woensdag 23 april 2008 @ 14:39:08 #110
62215 qu63
..de tijd drinkt..
pi_58253938
quote:
Op woensdag 23 april 2008 14:05 schreef RiDo78 het volgende:
Het probleem wordt hier beschreven, maar ik heb het niet getest...

http://blog.thinkphp.de/a(...)ources-with-PHP.html
ik moet dan eerst nog een NTLM-Proxy opzetten, heb er wel een gevonden, maar die werkt met Python, en ik heb geen diee of mn webhost het ondersteund
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_58255603
Ok, dan is 't toch iets ingewikkelder dan ik in eerste instantie veronderstelde
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  woensdag 23 april 2008 @ 15:52:18 #112
63192 ursel
"Het Is Hier Fantastisch!
pi_58255926
Voor het inlezen van een file per lijn gebruiken we de preg_match functie:

$aData = preg_split("/\r\n/", $fileData['content']);

Alleen nu krijgen we ook files binnen welke opeens een \n als reguliere expressie moeten hebben.
Weet iemand hoe we de preg_match het beste op kunnen stellen dat we ongeacht het type "new line" we elke lijn in de array kunnen stouwen?
  woensdag 23 april 2008 @ 16:04:52 #113
85514 ralfie
!Yvan eht nioj
pi_58256273
quote:
Op woensdag 23 april 2008 15:52 schreef ursel het volgende:
Voor het inlezen van een file per lijn gebruiken we de preg_match functie:

$aData = preg_split("/\r\n/", $fileData['content']);

Alleen nu krijgen we ook files binnen welke opeens een \n als reguliere expressie moeten hebben.
Weet iemand hoe we de preg_match het beste op kunnen stellen dat we ongeacht het type "new line" we elke lijn in de array kunnen stouwen?
gwoon $array_met_elke_regel_op_een_rij = file ( "C:\bestand_met_meerdere_regels.ext");
  woensdag 23 april 2008 @ 16:10:27 #114
187069 slacker_nl
Sicko pur sang
pi_58256403
http://www.tizag.com/phpT/fileopen.php

$ourFileName = "testFile.txt";
$fh = fopen($ourFileName, 'X') or die("Can't open file");
fclose($fh);

Weet niet of je over de filehandle kan loopen, zodat je de data kan inlezen..
In theory there is no difference between theory and practice. In practice there is.
  woensdag 23 april 2008 @ 16:21:17 #115
63192 ursel
"Het Is Hier Fantastisch!
pi_58256646
quote:
Op woensdag 23 april 2008 16:04 schreef ralfie het volgende:

[..]

gwoon $array_met_elke_regel_op_een_rij = file ( "C:\bestand_met_meerdere_regels.ext");
Soms zijn dingen makkerlijker dan je wel eens wil denken..
Deed het in 2 stappen altijd, get_content en daarna uitsplitsen.. Tot ik er nu dus opeens een file had met een andere end line..

Werkt nog steeds netjes.. Tnx..
  woensdag 23 april 2008 @ 23:40:53 #116
62215 qu63
..de tijd drinkt..
pi_58268136
quote:
Op woensdag 23 april 2008 15:40 schreef SuperRembo het volgende:
Ok, dan is 't toch iets ingewikkelder dan ik in eerste instantie veronderstelde
Ik dacht er ook heel simpel over, maar helaas
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  donderdag 24 april 2008 @ 10:56:25 #117
45071 nlboy
aka Kasesouffle
pi_58273823
Ik heb denk ik een hele simpele vraag, maar ik kom er niet uit.

Het volgende wil ik graag hebben:
Als ik in het adresbalk test.php?p=nh in typ wil ik als echo Noord-Holland hebben.
Wanneer ik test.php?p=nb invoer wil ik als echo Noord-Brabant hebben.
Kortom elke provincies wil ik zo benaderen en dan als echo te tekst van de provincie.

Ik heb al iets zitten maken, maar helaas lukt het me niet om de goede resultaat te krijgen. Het volgende heb ik:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php

if ($p="nh")
     echo "Noord-Holland"; 

elseif ($p="nb")
   echo "Noord-Branbant";

elseif ($p="zh")
   echo "Zuid-Holland";

else
  echo "Verkeerde invoer, probeer het opnieuw!";
   
?>

Ik krijg alleen maar Noord-Holland te zien i.pv. bijvoorbeeld Noord-Brabant of ik krijg geen foutmelding wanneer ik niks invul. Wat doe ik fout? Alvast bedankt!
  donderdag 24 april 2008 @ 11:01:33 #118
46383 Tiemie
sowieso wel!
pi_58273908
Je geeft $p de waarde "nh"

if($p = 'h') moet zijn if($ == 'h')

(geldt overigens voor elke regel )

zie http://nl2.php.net/manual/en/language.operators.comparison.php
  donderdag 24 april 2008 @ 11:03:38 #119
187069 slacker_nl
Sicko pur sang
pi_58273956
quote:
Op donderdag 24 april 2008 10:56 schreef nlboy het volgende:
Ik heb denk ik een hele simpele vraag, maar ik kom er niet uit.

Het volgende wil ik graag hebben:
Als ik in het adresbalk test.php?p=nh in typ wil ik als echo Noord-Holland hebben.
Wanneer ik test.php?p=nb invoer wil ik als echo Noord-Brabant hebben.
Kortom elke provincies wil ik zo benaderen en dan als echo te tekst van de provincie.

Ik heb al iets zitten maken, maar helaas lukt het me niet om de goede resultaat te krijgen. Het volgende heb ik:
[ code verwijderd ]

Ik krijg alleen maar Noord-Holland te zien i.pv. bijvoorbeeld Noord-Brabant of ik krijg geen foutmelding wanneer ik niks invul. Wat doe ik fout? Alvast bedankt!

Maak een hash:

1
2
3
4
5
6
7
8
9
10
11
12
13
$plaatsnamen = array (
nh => "Noord-Holland", 
nb => "Noord-Brabant",
);

# Dan kan je heel makkelijk die conversie doen:

$input = 'nh';
if (array_key_exists( $input, $plaatnamen)) {
     printf("De plaatsnaam die hoort bij %s is %s\n", $input, $plaatsnamen[$input]);
} else {
     printf("Kan geen plaatsnaam vinden voor %s\n", $input);
}


[ Bericht 2% gewijzigd door slacker_nl op 25-04-2008 10:56:33 ]
In theory there is no difference between theory and practice. In practice there is.
  donderdag 24 april 2008 @ 11:09:40 #120
45071 nlboy
aka Kasesouffle
pi_58274086
Bedankt allebei! Ik ga het proberen.
pi_58284094
Even kort vraagje: hoe kun je dmv php checken of een site online is? Dus even proberen om een connectie te maken, zo niet: mailtje sturen. Dit wil ik namelijk graag in een cron job hebben (uiteraard op andere host)

Opgelost: file() doet wat ik wil

[ Bericht 18% gewijzigd door Piles op 24-04-2008 21:01:07 ]
  donderdag 24 april 2008 @ 22:50:33 #122
37634 wobbel
Da WoBBeL King
pi_58290138
Hoe kan ik zelf zoiets maken als dit?

http://www.google.com/webhp?complete=1&hl=en&btnG=Google+Search

Dat ie dus automatisch aanvult met gegevens uit de database? Dat het met AJAX werkt snap ik wel, maar hoe doe ik dat precies? is er al zoiets kant-en-klaar wat ik om kan bouwen zeg maar?
  donderdag 24 april 2008 @ 22:53:12 #123
62215 qu63
..de tijd drinkt..
pi_58290207
quote:
Op donderdag 24 april 2008 22:50 schreef wobbel het volgende:
Hoe kan ik zelf zoiets maken als dit?

http://www.google.com/webhp?complete=1&hl=en&btnG=Google+Search

Dat ie dus automatisch aanvult met gegevens uit de database? Dat het met AJAX werkt snap ik wel, maar hoe doe ik dat precies? is er al zoiets kant-en-klaar wat ik om kan bouwen zeg maar?
http://www.dynamicajax.com/fr/AJAX_Suggest_Tutorial-.html

http://www.google.com/search?complete=1&hl=en&q=ajax+search+suggestion&btnG=Google+Search&aq=0&oq=AJAX+sea
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_58290223
Met een stukje Javascript elke keer als er een toets ingedrukt wordt een request naar een php-pagina sturen. Die php haalt het dan uit de db, en stuurt het naar je javascript terug
Ik ben er zelf geen ster in, maar heb het geleerd met http://www.w3schools.com/ajax/default.asp
pi_58290426
Ja dat is er, er zijn meerdere kant en klare oplossingen. Ik ben zelf een redelijke fan van de Ext JS library, check dat eens uit zou ik zeggen. Voorbeelden te zien op: http://extjs.com/deploy/dev/examples/form/combos.html en http://extjs.com/deploy/dev/examples/form/forum-search.html
  donderdag 24 april 2008 @ 23:16:20 #126
37634 wobbel
Da WoBBeL King
  vrijdag 25 april 2008 @ 10:25:29 #127
53731 Flipper01
Addicted Dolphin
pi_58296914
Ik wil een archief maken van alle nieuwsberichten geordend per maand. Ik heb nu in MySQL een kolom datum waarin de datum als DATETIME wordt weergegeven. Ik wil nu graag het volgende resultaat bereiken:
- 2008
januari (2)
april (1)
mei (8)
.....

Hoe kan ik dit voor elkaar krijgen?
I don't shine if you don't shine
  vrijdag 25 april 2008 @ 10:28:50 #128
107951 JortK
Immer kwaliteitsposts
pi_58296996
quote:
Op vrijdag 25 april 2008 10:25 schreef Flipper01 het volgende:
Ik wil een archief maken van alle nieuwsberichten geordend per maand. Ik heb nu in MySQL een kolom datum waarin de datum als DATETIME wordt weergegeven. Ik wil nu graag het volgende resultaat bereiken:
- 2008
januari (2)
april (1)
mei (8)
.....

Hoe kan ik dit voor elkaar krijgen?
Even snel
1
2
3
SELECT MONTH(datumkolom) AS month, COUNT(MONTH(datumkolom) ) AS aantal
FROM posts
GROUP BY MONTH(datumkolom)


[ Bericht 10% gewijzigd door JortK op 25-04-2008 10:41:11 (Verkeerde syntax) ]
  vrijdag 25 april 2008 @ 10:38:54 #129
53731 Flipper01
Addicted Dolphin
pi_58297222
Waarvoor dient DATEPART en kan ik dit ook op een linux server gebruiken?
I don't shine if you don't shine
  vrijdag 25 april 2008 @ 10:41:54 #130
107951 JortK
Immer kwaliteitsposts
pi_58297290
quote:
Op vrijdag 25 april 2008 10:38 schreef Flipper01 het volgende:
Waarvoor dient DATEPART en kan ik dit ook op een linux server gebruiken?
Ik heb hem wat aangepast, zie deze link die je verder kan helpen

En op wat voor server maakt niet uit natuurlijk
pi_58301246
Hoi,

ik ondervind een merkwaardig probleem. Ik heb een datase backup scriptje welke iedere dag uitgevoerd wordt. Het verstuurt een dbase dump per email. Dit werkt perfect op een aantal domeinen die ik heb.
Het werkt net niet op een ander domein. Het verschil is de hostingprovider. De niet werkende staan bij een andere provider gehost.

Het meest vreemde is: het script verstuurt de dump als attachment. Onder windows, in Outlook Express wordt de bijlage niet herkent. Ik heb het over de "foute" server, bij de andere domeinen werkt het weer wel.
Als ik de emails ontvang op mijn linux laptop onder Kmail, zie ik de bijlage van de dumps verstuurt door de "foute" server wel! Het verschil is dus de combinatie van mailclient en hostingprovider...

Ik heb werkelijk geen idee waar ik het zoeken moet. De headers zijn allen hetzelfde, de emails worden verstuurd met attachment, ook dit werkt correct (denk ik, stiekem ook niet)
Het verschil openbaart zich dus bij het ontvangen van de emails met of Outlook Express of Kmail onder linux.
Onder Outlook Express zie ik geen bijlage, maar staat de bijlage (gecodeerd???) in de tekst. Onder Kmail is het een keurig attachment.

Onderstaand het scriptje Komt overigens van phphulp.

Wie kan me vertellen waar ik de fout zoeken moet? Wat zou verantwoordelijk kunnen zijn voor het verschil in outlook express en kmail, in combinatie met een andere serversetup?
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
<?
#create a sql backup and send it to your e-mail address
//define settings
//database host
DEFINE('dbhost','localhost');
//database name
DEFINE('dbnaam','dbnaam');
//database user
DEFINE('dbuser','dbuser');
//database passwordt
DEFINE('dbpass','dbpass');
//domeinnaam
DEFINE('domein','domein.nl');
//doel
DEFINE('email','backup@domein.nl');

//connect with database
$link = mysql_connect(dbhost,dbuser,dbpass) or die('No datbase conection could be establised');
mysql_select_db(dbnaam,$link) or die('No datbase selected');

//query to recive table names
$query = mysql_query('SHOW TABLE STATUS') or die(mysql_error());
$sql_backup = '';

//whileloop to loop trough every table
while($row = mysql_fetch_assoc($query))
{
    //show sql query to rebuild the query
    $sql = 'SHOW CREATE TABLE '.$row['Name'].'';
    //exucte error or give a error
    $query2 = mysql_query($sql) or die(mysql_error());

    //create sql
    $sql_backup.="\r\n#Create table ".$row['Name']."\r\n\r\n";
    $out = mysql_fetch_assoc($query2);

    $sql_backup.=$out['Create Table'].";\r\n\r\n";
    $sql_backup.="#Dump data\r\n\r\n";

    //SQL code to select everything for table
    $sql = 'SELECT * FROM '.$row['Name'];
    $out = mysql_query($sql);
    $sql_code = '';

    //loop trough the colloms
    while($code = mysql_fetch_array($out,MYSQL_ASSOC))
    {
        $sql_code .= "INSERT INTO ".$row['Name']." SET ";

        foreach($code as $insert => $value)
        {
            $sql_code.=$insert ."='".addslashes($value)."',";
        }
        $sql_code = substr($sql_code, 0, -1);
        $sql_code.= ";\r\n";
    }
    $sql_backup.= $sql_code;
}

//generade a unique id
$unique = md5(uniqid(time()));

//message
$message = "Backup procedure van database: ".dbnaam." is met succes verlopen. U vind in de bijlage een backup van de inhoud gemaakt op. ".date('d-m-Y H:i:s')."\r\n Autobot";

//maak headers aan
//form header
$headers = "From: Autobot <noreply@".domein.">\r\n";
//terug sturen naar een niet bestaand mail adress (noreply@domein.nl)
$headers .= "Reply-To: Autobot <noreply@".domein.">\r\n";
//vertel dat het een mine versie is
$headers .= "MIME-Version: 1.0\r\n";
//email bestaat uit meerdere  bestanden dus vertel wat de scheidings teken is en dat het een multipart is
$headers .= "Content-Type: multipart/mixed; boundary=\"".$unique."\"\r\n";
//we zenden een attachment mee
$headers .= "Content-Disposition:  attachment\r\n";

//generenen een body. Dit is een multi part gezeik
$body.= "This is a multi-part message in MIME format.\r\n";
$body.= "\r\n";
//boundary
$body.= "--".$unique."\r\n";
//content type + charater set (iso in dit geval)
$body.= "Content-Type: text/plain; charset=iso-8859-1\r\n";
//codering (7 bit)
$body.= "Content-Transfer-Encoding: 7bit\r\n";
$body.= "\r\n";
//het bericht
$body.= $message ."\r\n";
//boundaty
$body.= "--".$unique."\r\n";
//content type + naam bestand (database.sql)
$body .= "Content-Type: application/octet-stream; name=database.sql\r\n";
//codering
$body .= "Content-Transfer-Encoding: base64\r\n";
//als bijlage toegevoegd
$body.= "Content-disposition: attachment\r\n";
$body .= "\n";
//de inhoud van het bestand
$body .= chunk_split(base64_encode($sql_backup)) . "\r\n";
//zet alles op email!
//hier kan wat tijdsverschil in zitten!
mail(email,'Mysql backup '.date('d-m-Y H:i:s'),$body,$headers);
?>
  vrijdag 25 april 2008 @ 18:18:35 #132
37634 wobbel
Da WoBBeL King
pi_58307402
Ik ben weer eens aan het stoeien met wat JOINS :P en het lukt niet :(

Ik heb deze query:

1
2
3
4
5
SELECT * FROM SHOP_Products 
JOIN SHOP_Products_Lang ON SHOP_Products_Lang.ProductId = SHOP_Products.IdProduct 
JOIN SHOP_Afbeeldingen ON SHOP_Afbeeldingen.ProductId = SHOP_Products.IdProduct 
WHERE SHOP_Products.SubcategoryId = '1' 
AND SHOP_Products_Lang.LanguageId = '1'


Ik heb de tabel Products, Products_Lang en de tabel Afbeeldingen.

Ik wil nu alle producten met SubcategoryId = 1 weergeven, en daarbij ook alle data uit Products_Lang en Afbeeldingen die hetzelfde product ID hebben.

Maar ik krijg 0 rows terug :'( en er zijn 5 records met SubcategoryId = '1' en met LanguageId = '1'
pi_58310832
In principe is de syntax "INNER JOIN", niet "JOIN". Weet niet of mysql daar moeilijk over doet.

Weet je zeker dat er in alle 3 de tabellen de juiste gegevens staan?
  zaterdag 26 april 2008 @ 12:18:03 #134
53731 Flipper01
Addicted Dolphin
pi_58318392
quote:
Op vrijdag 25 april 2008 10:41 schreef JortK het volgende:
Ik heb hem wat aangepast, zie deze link die je verder kan helpen

En op wat voor server maakt niet uit natuurlijk
Sorry voor m'n n00b vragen.. :$

Maar ik ben eruit gekomen! Ik snapte niet helemaal hoe het werkte, maar ik heb nu de datum in datetime weergegeven en bij het uitlezen maak ik een aantal extra kolommen aan waarin ik de datum uitsplits:
1
2
3
<?php
$query 
"SELECT  *, DATE_FORMAT(datum, '%d') AS dag, DATE_FORMAT(datum, '%c') AS maand, DATE_FORMAT(datum, '%Y') AS jaar, DATE_FORMAT(datum, '%H:%i') AS tijd FROM weblog ORDER BY -datum LIMIT 0,8";
?>


Daarnaast gebruik ik jouw aangepaste gegevens in een andee query
THNX!

[ Bericht 23% gewijzigd door Flipper01 op 26-04-2008 12:24:32 ]
I don't shine if you don't shine
pi_58318636
quote:
Op vrijdag 25 april 2008 22:02 schreef Arjan321 het volgende:
In principe is de syntax "INNER JOIN", niet "JOIN". Weet niet of mysql daar moeilijk over doet.
Daar doet MySQL niet moeilijk over.
  zaterdag 26 april 2008 @ 13:20:10 #136
37634 wobbel
Da WoBBeL King
pi_58319331
quote:
Op vrijdag 25 april 2008 22:02 schreef Arjan321 het volgende:
In principe is de syntax "INNER JOIN", niet "JOIN". Weet niet of mysql daar moeilijk over doet.

Weet je zeker dat er in alle 3 de tabellen de juiste gegevens staan?
Ja, ik heb in SHOP_Afbeeldingen 1 record met ProductId = 1
In SHOP_Products zit ook 1 record met IdProduct = 1
en SHOP_Products_Lang heeft ook 1 record met ProductId = 1

alleen krijg ik 0 rows terug met mijn query
pi_58319419
quote:
Op vrijdag 25 april 2008 18:18 schreef wobbel het volgende:
Ik wil nu alle producten met SubcategoryId = 1 weergeven, en daarbij ook alle data uit Products_Lang en Afbeeldingen die hetzelfde product ID hebben.
Probeer eens LEFT JOIN ipv gewoon JOIN.
  zaterdag 26 april 2008 @ 13:52:59 #138
37634 wobbel
Da WoBBeL King
pi_58319820
quote:
Op zaterdag 26 april 2008 13:27 schreef Farenji het volgende:

[..]

Probeer eens LEFT JOIN ipv gewoon JOIN.
De tabel SHOP_Afbeeldingen hoeft niet perse records te hebben met hetzelfde ProductID
pi_58319983
quote:
Op zaterdag 26 april 2008 13:52 schreef wobbel het volgende:

[..]

De tabel SHOP_Afbeeldingen hoeft niet perse records te hebben met hetzelfde ProductID
Ja, daarom juist! Daarom krijg je met een INNER JOIN geen resultaten!!
pi_58324153
quote:
Op zaterdag 26 april 2008 14:03 schreef Farenji het volgende:

[..]

Ja, daarom juist! Daarom krijg je met een INNER JOIN geen resultaten!!
Hehe
  zondag 27 april 2008 @ 11:35:26 #141
53731 Flipper01
Addicted Dolphin
pi_58335733
Hoe kan ik de huidige tijd als DateTime in een string zetten? Dit ivm het plaatsen in MySQL.
Ik heb nu het volgende:
1
2
3
4
<?php
 $datum 
date_create('NOW');
echo 
$datum
?>

Maar krijg een foutmelding..
I don't shine if you don't shine
  zondag 27 april 2008 @ 11:39:15 #142
107951 JortK
Immer kwaliteitsposts
pi_58335783
quote:
Op zondag 27 april 2008 11:35 schreef Flipper01 het volgende:
Hoe kan ik de huidige tijd als DateTime in een string zetten? Dit ivm het plaatsen in MySQL.
Ik heb nu het volgende:
[ code verwijderd ]

Maar krijg een foutmelding..
Ooi van het datatype datetime gehoord in MySQL?
pi_58335874
De functie date_create geeft en DateTime object terug, dus geen string. Ik vind dit echt weer zo'n typische vage php implementatie, gaat ook wel lekker tegen alle verwachting en conventies in maar dat zijn we gewend van php.

Als je gewoon een string wil hebben die in een mysql datetime past, dan zou ik het simpel doen met date:

1
2
3
<?php
$datum 
date("Y-m-d H:i:s");
?>


Dat geeft dus iets terug als "2008-04-27 11:44:25".

http://nl3.php.net/manual/en/function.date.php
  zondag 27 april 2008 @ 11:46:11 #144
53731 Flipper01
Addicted Dolphin
pi_58335901
quote:
Op zondag 27 april 2008 11:39 schreef JortK het volgende:
Ooi van het datatype datetime gehoord in MySQL?
Hoe kan ik da huidige tijd hierin krijgen als ik m'n tabel op de volgende manier aanvul:
1
2
3
4
5
6
7
<?php
$query 
"INSERT INTO weblog_reactie 
(weblogid, naam, email, website, tekst, ip, spam, datum) 
VALUES 
('$formId', '$formNaam', '$formEmail', '$formWebsite', '$formTekst', '$_SERVER[REMOTE_ADDR]', 'spam', 'NOW')"
;
mysql_query($query) or die (mysql_error()); 
?>
I don't shine if you don't shine
  zondag 27 april 2008 @ 11:47:46 #145
53731 Flipper01
Addicted Dolphin
pi_58335923
quote:
Op zondag 27 april 2008 11:44 schreef Farenji het volgende:
De functie date_create geeft en DateTime object terug, dus geen string. Ik vind dit echt weer zo'n typische vage php implementatie, gaat ook wel lekker tegen alle verwachting en conventies in maar dat zijn we gewend van php.

Als je gewoon een string wil hebben die in een mysql datetime past, dan zou ik het simpel doen met date:
[ code verwijderd ]

Dat geeft dus iets terug als "2008-04-27 11:44:25".

http://nl3.php.net/manual/en/function.date.php
Dit zocht ik!
Thnx!
I don't shine if you don't shine
pi_58335949
Het kan natuurlijk veel makkelijker bedenk ik me nu pas, dmv de MySQL functie NOW()

1insert into tabel (veld1, datum) values ('blaat', NOW());
pi_58346563
Ik ben op dit moment bezig met het maken van een poll-systeem. Hierbij wil ik controleren of er al gestemd is vanaf het ip waarvandaan de poll bezocht wordt.

Als ik vervolgens met een query wil kijken of het ip adres al voorkomt bij de betreffende poll krijg ik een foutmelding, namelijk:
1queryRetreiveIpYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND ip = x.x.x.x' at line 1

queryRetreiveIp = identificatie van de query
x.x.x.x = ip adres


Betreffende query:
1
2
3
4
<?php
$visitorIp 
$_SERVER['REMOTE_ADDR'];
$queryRetreiveIp mysql_query("SELECT * FROM result WHERE poll_id = $pollId AND ip = $visitorIp ") or die("queryRetreiveIp ".mysql_error());
?>


Het ip komt in de database voor (is gevuld met test gegevens). Ik heb al geprobeerd te zoeken op de website van mysql.com naar een mogelijke oplossing maar ik word niks wijzer.
Deze query heeft eerder wel gewerkt, waardoor hij nu niet meer werkt weet ik dus niet (ik kreeg deze fout niet eerder iig).
pi_58346824
Geen oplossing; maar wel belangrijk: zet alsjeplease niet zo variabelen in die query.. is vragen om sql-injectie.. ookal genereer je al de waarden zelf, gewoon even zo doen:
1
2
3
4
<?php
$visitorIp = $_SERVER['REMOTE_ADDR'];
$queryRetreiveIp = mysql_query("SELECT * FROM result WHERE poll_id = '" . mysql_real_escape_string($pollId) . "' AND ip = "' . mysql_real_escape_string($visitorIp) . "' ") or die("queryRetreiveIp ".mysql_error());
?>

('" is ' gevolgd door ")

Nog liever gebruik maken van prepared statements, maar die keuze is aan jezelf..
pi_58351029
Sowieso moet je de waarden tussen 'aanhalingstekentjes' zetten. Doe je dat niet, dan denkt MySQL dat het een kolom-naam is - en een IP-adres is uiteraard geen geldige naam voor een kolom...
In het voorbeeldje van Interpidity is dit trouwens al verbeterd.
pi_58351619
quote:
Op donderdag 24 april 2008 18:46 schreef Piles het volgende:
Even kort vraagje: hoe kun je dmv php checken of een site online is? Dus even proberen om een connectie te maken, zo niet: mailtje sturen. Dit wil ik namelijk graag in een cron job hebben (uiteraard op andere host)

Opgelost: file() doet wat ik wil
Even een vraag die aansluit op hetvolgende:
quote:
A URL can be used as a filename with this function if the fopen wrappers have been enabled. See fopen() for more details on how to specify the filename and List of Supported Protocols/Wrappers for a list of supported URL protocols.
Hoe vaak staan deze fopen_wrappers uit (bij bijvoorbeeld hosters)? Ik doel dan op allow_url_fopen aangezien je deze niet via ini_set() kan setten voor zover ik de documentatie lees.

Ik vraag dit omdat ik een manier wilde hebben om wget the simuleren in php. Het is op 3 verschillende manier te doen (tenminste, ik heb het op 3 verschillende manieren geimplementeerd). Via copy() en file_get_contents(), maar netzoals file zijn deze afhankelijk van de allow_url_fopen parameter in de file php.ini. En dan om het zelf te doen door een socket te openen en zelf HTTP te gaan praten tegen de desbetreffende server..

Als je alleen gebruikt maakt van file() in je code dan kan je nooit je scripts portable maken, aangezien file() niet altijd doet wat jij verwacht (het gaat croaken op het moment dat allow_url_fopen niet aanstaat.
pi_58352503
quote:
Op maandag 28 april 2008 00:33 schreef Igen het volgende:
Sowieso moet je de waarden tussen 'aanhalingstekentjes' zetten. Doe je dat niet, dan denkt MySQL dat het een kolom-naam is - en een IP-adres is uiteraard geen geldige naam voor een kolom...
In het voorbeeldje van Interpidity is dit trouwens al verbeterd.
Strings moeten tussen aanhalingstekens, getallen niet. Of nouja, MySQL maakt zich er niet zo druk om als je wel aanhalingstekens om getallen zet, maar het is netter om het niet te doen. En een IP-adres is geen getal maar een string, dus moet aanhalingstekens.
pi_58357076
Edit: ik had een pagina gemist
Dit gaat over de allow_url_fopen() toestand:


je kunt het natuurlijk ook via cURL doen ofzo
hoevaak allow_url_fopen uitstaan zou ik niet weten...
pi_58377513
Ik heb een website met een deel dat alleen toegankelijk is voor geregistreerde gebruikers.
Deze mogen bepaalde PDF bestanden downloaden.

Ik heb het inmiddels redelijk voor elkaar gekregen. Enige minpunt is dat je als gebruiker de download per se moet opslaan. Als je op openen klikt, krijg je van Adobe een foutmelding: "There was an error opening this document. The file cannot be found".

Ik ben er nu achter dat dit komt door het toevoegen van session_start() bovenaan mijn pagina.
Dit is echter wel essentieel, anders kan ik niet controleren of de gebruiker is ingelogd. Ik heb geen oplossing voor dit probleem kunnen vinden: session_write_close werkt niet.

Iemand die de oplossing weet?
  dinsdag 29 april 2008 @ 13:37:43 #154
187069 slacker_nl
Sicko pur sang
pi_58379514
Note: If you are using cookie-based sessions, you must call session_start() before anything is outputted to the browser.

Gebruikt je cookie based sessions?
In theory there is no difference between theory and practice. In practice there is.
  dinsdag 29 april 2008 @ 13:50:12 #155
37634 wobbel
Da WoBBeL King
pi_58379764
Oke, na wat geworstel heb ik aan de hand van dit topic de volgende query gekregen:

1
2
3
4
5
SELECT * FROM SHOP_Products 
LEFT JOIN SHOP_Products_Lang ON SHOP_Products_Lang.ProductId = SHOP_Products.IdProduct 
LEFT JOIN SHOP_Afbeeldingen ON SHOP_Afbeeldingen.ProductId = SHOP_Products.IdProduct 
WHERE SHOP_Products.SubcategoryId = '1' 
AND SHOP_Products_Lang.LanguageId = '1'


Het probleem is nu alleen, dat als één artikel meerdere afbeeldingen heeft, het product ook meerdere keren erin komt te staan.

Stel ik heb 3 producten, en 1tje heeft 2 plaatjes, eentje heeft 3 plaatjes en de ander heeft 5 plaatjes...dan krijg ik deze output

Product 1
Product 1
Product 2
Product 2
Product 2
Product 3
Product 3
Product 3
Product 3
Product 3

Maar hij moet gewoon Product 1, Product 2 en Product 3 weergeven
  dinsdag 29 april 2008 @ 13:51:57 #156
107951 JortK
Immer kwaliteitsposts
pi_58379786
quote:
Op dinsdag 29 april 2008 13:50 schreef wobbel het volgende:
Oke, na wat geworstel heb ik aan de hand van dit topic de volgende query gekregen:
[ code verwijderd ]

Het probleem is nu alleen, dat als één artikel meerdere afbeeldingen heeft, het product ook meerdere keren erin komt te staan.

Stel ik heb 3 producten, en 1tje heeft 2 plaatjes, eentje heeft 3 plaatjes en de ander heeft 5 plaatjes...dan krijg ik deze output

Product 1
Product 1
Product 2
Product 2
Product 2
Product 3
Product 3
Product 3
Product 3
Product 3

Maar hij moet gewoon Product 1, Product 2 en Product 3 weergeven
GROUP BY is your best friend
pi_58380058
quote:
Op dinsdag 29 april 2008 13:37 schreef slacker_nl het volgende:
Note: If you are using cookie-based sessions, you must call session_start() before anything is outputted to the browser.

Gebruikt je cookie based sessions?
Ik heb session_start() helemaal bovenaan staan.

Het probleem is verholpen door:

1
2
session_cache_limiter('private'); //in mijn geval public
session_start();
pi_58385726
quote:
Op dinsdag 29 april 2008 13:50 schreef wobbel het volgende:
Oke, na wat geworstel heb ik aan de hand van dit topic de volgende query gekregen:
[ code verwijderd ]

Het probleem is nu alleen, dat als één artikel meerdere afbeeldingen heeft, het product ook meerdere keren erin komt te staan.

Stel ik heb 3 producten, en 1tje heeft 2 plaatjes, eentje heeft 3 plaatjes en de ander heeft 5 plaatjes...dan krijg ik deze output
[...]
Maar hij moet gewoon Product 1, Product 2 en Product 3 weergeven
Ligt er aan wat je wil laten zien. Als je bij elk product een wisselend aantal plaatjes wilt laten zien, dan zal je het in php moeten oplossen. Als je geen plaatjes wil laten zien, waarom join je dan tegen de afbeeldingen tabel? Als je per product 1 plaatje wil laten zien dan moet je de query aanpassen, maar hoe hangt er weer van af welk plaatje je wil laten zien.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  FOK!-Schrikkelbaas woensdag 30 april 2008 @ 13:24:56 #159
1972 Swetsenegger
Egocentrische Narcist
pi_58397560
.htaccess probleempje

1
2
3
4
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?123swets\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /image/hotlink.gif [L]


hotlinking wordt wel geblokkeerd, maar alternatieve image wordt niet getoont. Wat doe ik fout?
pi_58398195
quote:
Op woensdag 30 april 2008 13:24 schreef Swetsenegger het volgende:
.htaccess probleempje
[ code verwijderd ]

hotlinking wordt wel geblokkeerd, maar alternatieve image wordt niet getoont. Wat doe ik fout?
Ik zou hoe dan ook eerst de referer checken op ^$ want en daarna pas je ^123swets.com$. Het is logischer om te checken of de referer bestaat en om dan te checken of het uit het 123swets.com domain komt. Maar dat heeft wellicht niks met je probleem te maken. Of misschien ook wel:

Als ik www.swets123.com/image/hotlink.gif direct wil benaderen kom ik uit op de volgende URL:

http://www.123swets.com/i(...)t/index/default/home
quote:
Firefox has detected that the server is redirecting the request for this address in a way that will never complete.
Volgens mij komt dat door de [NC] en de volgorde van de checks. Als de referer leeg is moet ie de check skippen, maar omdat je eerst checked of het vanuit swets123.com komt en dan door de NC ervoor zorgt dat ie de originele URL weer gaat reprocesses en je dus zorgt voor een loop in je rewrites.

-edit- Die NC heeft er niks mee te maken, even twee flags door elkaar gehaald-

Enable je rewritelog en zet je levellog op 9.

Zie ook: http://httpd.apache.org/docs/1.3/misc/rewriteguide.html (zoek op Blocked Inline-Images)

[ Bericht 4% gewijzigd door slakkie op 30-04-2008 14:27:11 ]
  woensdag 30 april 2008 @ 14:43:44 #161
62215 qu63
..de tijd drinkt..
pi_58398558
ik zie http://www.123swets.com/image/hotlink.gif wel
of Swets heeft het al aangepast
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  FOK!-Schrikkelbaas woensdag 30 april 2008 @ 14:52:35 #162
1972 Swetsenegger
Egocentrische Narcist
pi_58398675
Ja ik zie die image ook gewoon, zowel in safari als FF.

De rest ga ik ff bekijken
  FOK!-Schrikkelbaas woensdag 30 april 2008 @ 14:59:31 #163
1972 Swetsenegger
Egocentrische Narcist
pi_58398766
Hij blokkeerde mijn hotlink image ook Die moet je andere extensie geven dan de fileextensies die je blokkeert
  woensdag 30 april 2008 @ 15:07:32 #164
12880 CraZaay
prettig gestoord
pi_58398889
Handig in het kader van bovenstaande en sowieso een dikke bookmark waard:

http://perishablepress.co(...)pid-htaccess-tricks/
  woensdag 30 april 2008 @ 15:22:58 #165
62215 qu63
..de tijd drinkt..
pi_58399125
quote:
Op woensdag 30 april 2008 14:59 schreef Swetsenegger het volgende:
Hij blokkeerde mijn hotlink image ook Die moet je andere extensie geven dan de fileextensies die je blokkeert
klinkt niet zo heel raar nee

gefeliciteerd trouwens met de kleine , wist niet dat je alweer papa was
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_58399212
quote:
Op woensdag 30 april 2008 14:59 schreef Swetsenegger het volgende:
Hij blokkeerde mijn hotlink image ook Die moet je andere extensie geven dan de fileextensies die je blokkeert
1
2
3
4
5
RewriteEngine On
RewriteCond %{HTTP_REQUEST} !^/image/hotlink.gif
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?123swets\.com/ [NC]
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /image/hotlink.gif [L]


hotlink.gif mag iedereen hotlinken

Ik blijf overigens die redirect error krijgen.. Ook na een shift reload, Ubuntu/FF/Konqueror. Zal het eens op de Mac proberen..
Zowel Safari als FF op de Mac geven me een redirect error.

[ Bericht 8% gewijzigd door slakkie op 30-04-2008 15:39:05 ]
  FOK!-Schrikkelbaas woensdag 30 april 2008 @ 15:37:57 #167
1972 Swetsenegger
Egocentrische Narcist
pi_58399277
hotlink.gif bestaat nu niet meer. het is nu hotlink.jpe
  FOK!-Schrikkelbaas woensdag 30 april 2008 @ 15:38:43 #168
1972 Swetsenegger
Egocentrische Narcist
pi_58399299
quote:
Op woensdag 30 april 2008 15:37 schreef Swetsenegger het volgende:
hotlink.gif bestaat nu niet meer. het is nu hotlink.jpe
Dan moet ie een 404 geven ipv een 403 forbidden (Konqueror) en geen redirect errors (FF/Safari).
  woensdag 30 april 2008 @ 15:42:31 #170
62215 qu63
..de tijd drinkt..
pi_58399321
quote:
Op woensdag 30 april 2008 15:38 schreef Swetsenegger het volgende:
[ afbeelding ]
ik zie je hotlink plaatje nu
weliswaar na een ctrl+f5, want Nienke stond nog in mn cache

Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  FOK!-Schrikkelbaas woensdag 30 april 2008 @ 16:10:48 #171
1972 Swetsenegger
Egocentrische Narcist
pi_58399657
quote:
Op woensdag 30 april 2008 15:40 schreef slakkie het volgende:

[..]

Dan moet ie een 404 geven ipv een 403 forbidden (Konqueror) en geen redirect errors (FF/Safari).
MIjn 404 en 403 verwijst naar de index pagina. Ik heb hier geen errors. Misschien cache?
-edit- woops, nee error in de redirect
pi_58403140
Ik zit met een heel raar probleem, vind ik zelf. Ik heb een html-bestand met daarin allerlei tabs en spaties. Die wil ik er uit hebben. Ik probeer dit:
1
2
3
4
5
6
<?php
$part 
trim($part);
$part strip_tags($part);
$part str_replace("\t"""$part);
$part str_replace(" """$part);
?>

Alle spaties tussen woorden e.d. verdwijnen, maar toch blijven er nog een heleboel over. Wat voor 'soort' spaties kunnen dat zijn, en hoe krijg ik ze weg :?
  woensdag 30 april 2008 @ 20:25:40 #173
107951 JortK
Immer kwaliteitsposts
pi_58403256
quote:
Op woensdag 30 april 2008 20:19 schreef Piles het volgende:
Ik zit met een heel raar probleem, vind ik zelf. Ik heb een html-bestand met daarin allerlei tabs en spaties. Die wil ik er uit hebben. Ik probeer dit:
[ code verwijderd ]

Alle spaties tussen woorden e.d. verdwijnen, maar toch blijven er nog een heleboel over. Wat voor 'soort' spaties kunnen dat zijn, en hoe krijg ik ze weg
Zijn het geen linefeeds of carriage returns?
  woensdag 30 april 2008 @ 20:26:06 #174
12880 CraZaay
prettig gestoord
pi_58403268
Zijn het spaties in de broncode ("view source")? Dit kan overigens ook:

1
2
3
<?php
$string = str_replace(array("\t", ''), '', $string);
?>
pi_58403405
quote:
Op woensdag 30 april 2008 20:25 schreef JortK het volgende:
Zijn het geen linefeeds of carriage returns?
1
2
3
<?php
$part 
trimpreg_replace'/\s+/'' '$part) );  
?>

Dat doet al een hoop, maar er blijven er toch nog een paar over
quote:
Op woensdag 30 april 2008 20:26 schreef CraZaay het volgende:
Zijn het spaties in de broncode ("view source")? Dit kan overigens ook:
[ code verwijderd ]
Veranderd niks aan de situatie
  woensdag 30 april 2008 @ 20:38:40 #176
12880 CraZaay
prettig gestoord
pi_58403562
quote:
Op woensdag 30 april 2008 20:31 schreef Piles het volgende:

Veranderd niks aan de situatie
Dat snap ik, het ging me vooral om het DRY-karakter en het gebruik van dubbele/enkele quotes.

Maar het zijn in de source dus echt spaties (niet line endings in de HTML die gerenderd worden als spaties)?
pi_58403627
Oh, ik zie het al
Het is & nbsp;
pi_58420193
Ik heb een functie met die checkt of een variable leeg is of niet, wanneer hij leeg is zegt hij dat hij leeg is :D. Maar dan wordt het: Hoe krijg je de tekst van een variable die leeg is op het scherm, dus de naam van de lege variable?

1
2
3
4
5
6
7
<?php
function checkempty($var){
    if(empty(
$var) ){
    echo 
"$var niet ingevoerd";
    }
}
?>
pi_58420375
De naam die je intern gebruikt komt toch niet overeen met de naam die je de gebruiker wil tonen. Ik zou een extra parameter toevoegen voor de "friendly name".
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_58420441
1
2
3
4
5
6
7
8
9
<?php
function ce($var,$dn){
    if(empty(
$var) ){
    echo 
$dn." niet ingevoerd";
    }
}

ce($name,'naam')
?>


Is er iets waarmee je eenvoudig 10 waardes kan invoeren in zon functie?
pi_58420477
$var is de naam van de variabele toch al?
als je checkempty("blaat") aanroept moet ie checken of $blaat leeg is lijkt me toch?
dan is het
if(empty($$var))
{
// $var nu outputten.. $var uit $$var word dus omgezet naar "blaat" --> $blaat
}
pi_58420626
quote:
Op donderdag 1 mei 2008 18:36 schreef Intrepidity het volgende:
$var is de naam van de variabele toch al?
als je checkempty("blaat") aanroept moet ie checken of $blaat leeg is lijkt me toch?
dan is het
if(empty($$var))
{
// $var nu outputten.. $var uit $$var word dus omgezet naar "blaat" --> $blaat
}
Kan ook, maar wat SuperRembo zegt klopt, ik wil eigenlijk een userfriendly name eruit hebben. Dus nu nog een manier vinden om 10 waardes in te voeren. Ik kan het handmatig doen, dan heb ik 10 regels code. kan het slimmer?
pi_58421187
Je kunt een functie maken waar je een willekeurig aantal parameters aan mee kunt geven; steeds afwisselend een var en een naam. Daarvoor gebruikt je func_get_arg().
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  donderdag 1 mei 2008 @ 23:05:00 #184
85514 ralfie
!Yvan eht nioj
pi_58425791
umm, waarom niet gwoon een arraytje?

1
2
3
4
5
6
7
8
9
<?php
foreach(not_set( array('var1'=>'naam','var2'=>'lft','var3'=>'tijd','var4'=>'geslacht') as $var )  echo "hee dombo, je hebt '$var' niet gezet!";

function 
not_set($arr) {
   
$out=array();
   foreach(
$arr as $v=>$x) if(empty($GLOBALS[$v])) $out[]=$x;
   return 
$out;
}
?>
mss niet grammaticaal correct, maar het idee klopt toch?
pi_58427676
quote:
Op donderdag 1 mei 2008 23:05 schreef ralfie het volgende:
umm, waarom niet gwoon een arraytje?
[ code verwijderd ]

mss niet grammaticaal correct, maar het idee klopt toch?
Mmm, dat soort code kan ik allemala niet Ik zal es opzoeken hoe het werkt
pi_58429556
quote:
Op donderdag 1 mei 2008 19:15 schreef SuperRembo het volgende:
Je kunt een functie maken waar je een willekeurig aantal parameters aan mee kunt geven; steeds afwisselend een var en een naam. Daarvoor gebruikt je func_get_arg().
Of gebruik func_get_args() icm met count (of func_num_args()).
pi_58430013
Heb er maar een recursieve functie van gemaakt, accepteerd zowel arrays, als losse scalars. Persoonlijk zou ik er ook nog check bijgooien om te zien of $GLOBALS[$v] ook gelijk is aan 0 aangezien dat ook een boolean value kan zijn.

En een nieuwe functie erbij om bepaalde globals te definieren indien ze empty zijn, accepteerd alleen maar hashes (assoc arrays).

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
59
60
61
62
<?php
function is_empty() {
    
$args func_get_args();
    
$result = array();
    if (
count($args)) {
        foreach(
$args as $v) {
            if (
is_array($v)) {
                
$result array_merge($resultcall_user_func_array(__FUNCTION__$v));
            } else {
                if (empty(
$GLOBALS[$v])) { $result[] = $v; }
            }
        }
        return 
$result;
    }
    
trigger_error(sprintf("%s requires at least 1 parameter\n"__FUNCTION__), E_USER_NOTICE);
    return 
$result;
}

function 
is_empty_2defaults() {
    
$result = array();
    if (
func_num_args()) {
       
$args func_get_args();
       foreach(
$args as $v) {
           if (!
is_array($v)) { continue; }
           
$tmp is_empty(array_keys($v));
           foreach(
$tmp as $v2) { $GLOBALS[$v2] = $v[$v2]; }
           
$result array_merge($result$tmp);
       }
    } else {
        
trigger_error(sprintf("%s requires at least 1 parameter\n"__FUNCTION__), E_USER_NOTICE);
    }
    return 
$result;
}


$test "test"$leeg '0'$niks null$weer_niks$array = array();

print_r(is_empty("test"));
print_r(is_empty("test""leeg""niks""weer_niks""array"));

# Recursieve arrays
print_r(is_empty(array(array(0))));

# En als je met hashes gaat werken:
$hash = array("var1" => "leeg");
print_r(is_empty(array_values($hash)));
# Maar dit mag ook:
print_r(is_empty($hash));

$hash = array("glas" => "half vol");

$tmp is_empty(array_keys($hash));
foreach(
$tmp as $v) {
    
printf("%s is maar %s"$v$hash[$v]);
}

# Als je default waardes wilt hebben voor de lege velden... 
$hash_defaults = array("user" => "guest""password" => "guest");
is_empty_2defaults($hash_defaults);

printf("User: %-8s\tPassword: %s\n"$user$password);
?>


[ Bericht 6% gewijzigd door slakkie op 02-05-2008 17:29:45 ]
pi_58434274
Stel je voor: Ik heb een klasse die beker heet, en ik heb een klasse die drank heet.

In de klasse beker heb je de volgende vars:
beker_id
beker_inhoud
beker_materiaal
beker_drank

Daarnaast heb ik de klasse drank, met daarin de volgende vars
drank_id
drank_naam

Ik wil een nieuwe beker aanmaken, want ik heb dorst . In het veld beker_drank van de klasse beker komt een waarde, een getal. Dit getal moet overeenkomen met drank_id uit de klasse drank. Wanneer deze overeenkomt, moet de inhoud van drank_naam worden ingevuld in het veld beker_drank. Ik denk dat het wel mogelijk is, maar hoe doe ik dit dan?
pi_58434379
quote:
Op vrijdag 2 mei 2008 05:00 schreef slakkie het volgende:
Heb er maar een recursieve functie van gemaakt, accepteerd zowel arrays, als losse scalars. Persoonlijk zou ik er ook nog check bijgooien om te zien of $GLOBALS[$v] ook gelijk is aan 0 aangezien dat ook een boolean value kan zijn.
[ code verwijderd ]
1
2
3
<?php
trigger_error
(sprintf("%s requires at least 1 parameter\n"__FUNCTION__E_USER_NOTICE));
?>

Je geeft aan sprintf 1 string en 2 andere parameters mee, terwijl er in die string maar 1 placeholder is. Gevalletje haakjes verkeerd?
pi_58434452
quote:
Op vrijdag 2 mei 2008 12:57 schreef boskameel het volgende:
Stel je voor: Ik heb een klasse die beker heet, en ik heb een klasse die drank heet.

In de klasse beker heb je de volgende vars:
beker_id
beker_inhoud
beker_materiaal
beker_drank

Daarnaast heb ik de klasse drank, met daarin de volgende vars
drank_id
drank_naam

Ik wil een nieuwe beker aanmaken, want ik heb dorst . In het veld beker_drank van de klasse beker komt een waarde, een getal. Dit getal moet overeenkomen met drank_id uit de klasse drank. Wanneer deze overeenkomt, moet de inhoud van drank_naam worden ingevuld in het veld beker_drank. Ik denk dat het wel mogelijk is, maar hoe doe ik dit dan?
Waarom zou je dat überhaupt willen? Als je bij de beker het drank_id opslaat dan kun je altijd de drank_naam weer achterhalen.
pi_58434844
Als ik bv gebruik maak van een database, en een tabel beker en drank heb. Of denk ik nu te moeilijk?
pi_58434858
quote:
Op vrijdag 2 mei 2008 13:05 schreef Light het volgende:

[..]

Waarom zou je dat überhaupt willen? Als je bij de beker het drank_id opslaat dan kun je altijd de drank_naam weer achterhalen.
Misschien met foreign keys?
pi_58435100
quote:
Op vrijdag 2 mei 2008 13:23 schreef boskameel het volgende:
Als ik bv gebruik maak van een database, en een tabel beker en drank heb. Of denk ik nu te moeilijk?
Dan maak je een JOIN over die twee tabellen, als je tenminste wilt weten welke drank er in een beker zit. Zo'n id is een makkelijk, vast punt. Ander voordeel is dat als je "bier" wilt vervangen door "Heineken" (om verwarring met "Grolsch" te voorkomen bijvoorbeeld) dan hoef je dat maar op 1 plek aan te passen.
pi_58435144
quote:
Op vrijdag 2 mei 2008 13:24 schreef Flaccid het volgende:

[..]

Misschien met foreign keys?
Ja, dan moet je dus die ID's laten staan en niet ineens ID's door namen gaan vervangen. Da's niet logisch. Dat het in PHP kan, komt alleen maar omdat het loosely typed is.
pi_58435233
Ah ik snap het . Maar ik zit nu al een paar uur te zoeken hoe je nou die 2 klassen kan laten samenwerken, in php code dan. Ik kan alleen maar dingen vinden over het werken met 1 klasse .
pi_58435636
Hallo, waarschijnlijk super simpel op te lossen, maar het lukt me niet;
Ik heb de volgende code:
1
2
  $test = "103050060070003002100004060008030010101010111000020305081011151601060912031615";
  echo $test;

De STRING $test bevat 76 cijfers. Echter als ik hem nu echo krijg ik zoiets te zien : "1.0305006007E+047". Hoe kan ik mijn string correct tonen? bvd
to say of what is that it is not, or of what is not that it is, is false, while to say of what is that it is, or of what is not that it is not, is true
  vrijdag 2 mei 2008 @ 14:14:49 #197
12880 CraZaay
prettig gestoord
pi_58435695
Die code toont bij mij gewoon je string. Als integer (zonder quotes dus) komt 'ie dichter bij jouw weergave in de buurt (1.0305006007E+77).
pi_58435768
quote:
Op vrijdag 2 mei 2008 14:14 schreef CraZaay het volgende:
Die code toont bij mij gewoon je string. Als integer (zonder quotes dus) komt 'ie dichter bij jouw weergave in de buurt (1.0305006007E+77).
ai ik zie het al, zit met de verkeerde var te spelen

thx!
to say of what is that it is not, or of what is not that it is, is false, while to say of what is that it is, or of what is not that it is not, is true
  vrijdag 2 mei 2008 @ 14:24:56 #199
63192 ursel
"Het Is Hier Fantastisch!
pi_58435874
quote:
Op vrijdag 2 mei 2008 14:14 schreef CraZaay het volgende:
Die code toont bij mij gewoon je string. Als integer (zonder quotes dus) komt 'ie dichter bij jouw weergave in de buurt (1.0305006007E+77).
Hier ook..
pi_58435995
quote:
Op vrijdag 2 mei 2008 12:57 schreef boskameel het volgende:
Stel je voor: Ik heb een klasse die beker heet, en ik heb een klasse die drank heet.

In de klasse beker heb je de volgende vars:
beker_id
beker_inhoud
beker_materiaal
beker_drank

Daarnaast heb ik de klasse drank, met daarin de volgende vars
drank_id
drank_naam

Ik wil een nieuwe beker aanmaken, want ik heb dorst . In het veld beker_drank van de klasse beker komt een waarde, een getal. Dit getal moet overeenkomen met drank_id uit de klasse drank. Wanneer deze overeenkomt, moet de inhoud van drank_naam worden ingevuld in het veld beker_drank. Ik denk dat het wel mogelijk is, maar hoe doe ik dit dan?
Kan drank bestaan zonder beker?

Zo nee, dan kun je het beste de class drank initiëren in de class beker. Dus bij het vullen van de beker geef je een drank_id mee, vervolgens wordt er in de beker class een $beker_drank = new drank($drank_id) uitgevoerd. In de constructor van drank_id haal je vervolgens alle gegevens op die voor die drank van belang zijn. Indien nodig kun je dan aan de beker vragen welke drank er in zit. De beker vraagt dat vervolgens weer aan drank of geeft het hele drank-object terug.

Als drank wel kan bestaan zonder beker, bijvoorbeeld omdat het nog in de fles zit, dan kun je de beker vullen met het drank-object:
1
2
3
4
$drankje = new drank(0, "cola")
$flesje = new fles($drankje->get_contents())
$bekertje = new beker();
$bekertje->vul($flesje->get_contents());
Don't hurry, be crappy!
pi_58436041
quote:
Op dinsdag 29 april 2008 13:50 schreef wobbel het volgende:
Oke, na wat geworstel heb ik aan de hand van dit topic de volgende query gekregen:
[ code verwijderd ]

Het probleem is nu alleen, dat als één artikel meerdere afbeeldingen heeft, het product ook meerdere keren erin komt te staan.

Stel ik heb 3 producten, en 1tje heeft 2 plaatjes, eentje heeft 3 plaatjes en de ander heeft 5 plaatjes...dan krijg ik deze output

Product 1
Product 1
Product 2
Product 2
Product 2
Product 3
Product 3
Product 3
Product 3
Product 3

Maar hij moet gewoon Product 1, Product 2 en Product 3 weergeven
Maak er eens SELECT DISTINCT * .... van
Don't hurry, be crappy!
  vrijdag 2 mei 2008 @ 14:34:51 #202
32768 DionysuZ
Respect my authority!
pi_58436047
quote:
Op vrijdag 2 mei 2008 13:38 schreef Light het volgende:

[..]

Dan maak je een JOIN over die twee tabellen, als je tenminste wilt weten welke drank er in een beker zit. Zo'n id is een makkelijk, vast punt. Ander voordeel is dat als je "bier" wilt vervangen door "Heineken" (om verwarring met "Grolsch" te voorkomen bijvoorbeeld) dan hoef je dat maar op 1 plek aan te passen.
heineken verwarren met grolsch
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')