abonnement Unibet Coolblue Bitvavo
pi_41393609
Nee, ik moet geen break hebben. Het gebeurt namelijk regelmatig in mijn applicatie dat én $test['hoi'], én $test['doei'] gebruikt worden.. Dus dat moet ik niet hebben..
pi_41396195
Weet iemand waar ik kan vinden hoe ik serverside een form kan versturen met velden.
En hoe ik dan het antwoord kan uitlezen.

In coldfusion gaat dat zoals:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<cfhttp method="post" url="#gUploadServer#">
   <cfhttpparam
      type = "FormField"
      name = "xml_file"
      value = "#ConversieXml#">
   <cfhttpparam
      type = "FormField"
      name = "fa"
      value = "download_image_from_web">
   <cfhttpparam
      type = "FormField"
      name = "CFID"
      value = "#Session.sessionID#">
</cfhttp>

<cfset NewXmlContent=cfhttp.FileContent>
pi_41396383
quote:
Op vrijdag 1 september 2006 14:32 schreef Hmail het volgende:
Het gebeurt namelijk regelmatig in mijn applicatie dat én $test['hoi'], én $test['doei'] gebruikt worden.. Dus dat moet ik niet hebben..
Dan moet je niet deze switch gebruiken... tenzij je een case voor die 'én' situatie maakt.

-r-
pi_41396467
quote:
Op vrijdag 1 september 2006 15:45 schreef Skorpija het volgende:
Weet iemand waar ik kan vinden hoe ik serverside een form kan versturen met velden.
En hoe ik dan het antwoord kan uitlezen.

In coldfusion gaat dat zoals:
[ code verwijderd ]
Je bedoelt gewoon een formulier in HTML?

1
2
3
4
5
6
7
8
<form action="bestand.php" method="post">

<input name="tekstveld" type="text" />
<input name="tekstveld_twee" type="text" />

<input type="submit" value="Invoeren" />

</form>


Geeft POST_['tekstveld'] en POST_['tekstveld_twee'].
pi_41396560
quote:
Op vrijdag 1 september 2006 13:57 schreef Hmail het volgende:
Ik kom er maar niet uit... Volgens mij is het doodsimpel wat ik wil, maar ik kan het zo 1 2 3 maar niet opgelost krijgen...

Ik heb een array. Deze wil ik evalueren. Dus controleren of een bepaalde waarde gezet is (met isset($array['waarde']), en zo ja: een bepaalde actie uitvoeren. Nu kan ik dat met IF doen, maar dat schiet niet op, het zijn er te veel hiervoor. Dus wilde ik het met een switch-case doen. Maar....
[ code verwijderd ]

Dit geeft altijd beide waarden als true aan... Terwijl $test['doei'] niet eens bestaat, laat staan dat er iets in staat... Wat doe ik verkeerd?
Heb je niets aan array_push() en in_array()?

http://nl3.php.net/manual/en/function.array-push.php
http://nl3.php.net/manual/en/function.in-array.php
  vrijdag 1 september 2006 @ 15:56:59 #208
46383 Tiemie
sowieso wel!
pi_41396596
quote:
Op vrijdag 1 september 2006 15:45 schreef Skorpija het volgende:
Weet iemand waar ik kan vinden hoe ik serverside een form kan versturen met velden.
En hoe ik dan het antwoord kan uitlezen.

In coldfusion gaat dat zoals:
[ code verwijderd ]
Met deze class b.v. http://scripts.incutio.com/httpclient/index.php

http://scripts.incutio.com/httpclient/examples.php
pi_41403795
Ik heb de volgende tabel:

id datum link
1 31-08-2006 iets.jpg
1 23-08-2006 iets.jpg
1 01-08-2006 iets.jpg
2 02-08-2006 iets.jpg
2 01-08-2006 iets.jpg

Ik gebruik de volgende query om de laatste foto's bij elk id te laten zien (dus 1 foto per id):
1$sqlfoto = mysql_query("SELECT * FROM foto GROUP BY id ORDER BY datum DESC  ");

Maar nu krijg ik de oudste eerst

Ikke niet snappe
pi_41404821
quote:
Op vrijdag 1 september 2006 19:59 schreef Piles het volgende:
Ik heb de volgende tabel:

id datum link
1 31-08-2006 iets.jpg
1 23-08-2006 iets.jpg
1 01-08-2006 iets.jpg
2 02-08-2006 iets.jpg
2 01-08-2006 iets.jpg

Ik gebruik de volgende query om de laatste foto's bij elk id te laten zien (dus 1 foto per id):

[ code verwijderd ]
Maar nu krijg ik de oudste eerst

Ikke niet snappe
Het staat hier uitgelegd: http://gathering.tweakers.net/forum/list_messages/1133525

Je query zou moeten worden:

1
2
3
4
SELECT id, MAX(datum) as maxdatum, link 
FROM foto 
GROUP BY id 
ORDER BY maxdatum DESC
pi_41405311
Hij werkt bijna goed
Maar nog niet helemaal. Ik krijg nu wel de laatste datum per id, maar nog wel een oude foto
  vrijdag 1 september 2006 @ 21:18:52 #213
12880 CraZaay
prettig gestoord
pi_41405987
Sidenote: je hebt je datum er als DATE in staan neem ik aan, en dus jaar-maand-dag, ipv jouw dag-maand-jaar?
pi_41406085
quote:
Op vrijdag 1 september 2006 21:18 schreef CraZaay het volgende:
Sidenote: je hebt je datum er als DATE in staan neem ik aan, en dus jaar-maand-dag, ipv jouw dag-maand-jaar?
Jep (als DATETIME, als dat nog uitmaakt).
Maar MySQL werkt nu gewoon door elkaar. Hij selecteert de laatste datum en zomaar een foto
pi_41408948
Met zoiets kun je beter met unix timestamps werken, time() dus...
pi_41412071
Ik krijg bepaalde data niet goed uit m'n database terug, de situatie:

ik schrijf een bestandsnaam weg, bijvoorbeeld:
- overzicht.xls (zonder spatie)
- overzicht 2006.xls (met spatie)

Als ik deze bestandsnaam wil verwerken tot een URL door deze uit de database te halen en vervolgens achter een string te plaatsen gaat het goed, mits er geen spaties voorkomen in de bestandsnaam. Als er wel 1of meerdere spaties voorkomen in de bestandsnaam wordt alleen het 1e woord van de bestandsnaam verwerkt en dan stopt ie ermee.

Voorbeeld:
- overzicht.xls wordt verwerkt tot http://www.domein.tld/overzicht.xls
- overzicht 2006.xls wordt verwerkt tot http://www.domein.tld/overzicht

Hoe los ik dit op?
pi_41412154
code misschien handig?

weet ik anders veel, misschien explode je wel op spaties ofzo..
pi_41413253
quote:
Op zaterdag 2 september 2006 00:29 schreef the_disheaver het volgende:
code misschien handig?

weet ik anders veel, misschien explode je wel op spaties ofzo..
Hier gaat het fout:

1
2
3
4
5
*query*
*gegevens uit de db halen en verwerken*


<td class="table_cell"><?php print "<a href = ".$Rij['download'].">Download</a>";?></td>



in
1$Rij['download'] 

staat dus de bestandsnaam welke niet volledig wordt getoond als er spaties aanwezig zijn...

Is het duidelijker nu?
pi_41413582
1<?php print '<a href = "'.$Rij['download'].'">Download</a>';?>


De html-output is gewoon verkeerd. Er zal iets in de trant van
<a href=overzicht 2006.xls> staan ipv <a href="overziht 2006.xls">

Of de dubbele aanhalingstekens escapen (slash teken ervoor), of enkele aanhalingstekens gebruien ipv dubbele bij de print (print 'blaat'; ipv print "blaat";)

Maar idee om de download link te urlencoden?
pi_41413995
Het was inderdaad een kwestie van qoutes toevoegen aan de URL, bedankt voor je hulp the_disheaver
pi_41414409
bij deze een echte n00b vraag;

ben nu een videocursusje aan t volgen van php (via lynda.com) maar ik zie dus af en toe variablen voorkomen met een punt erachter

voorbeeld:
$color maar zo heel af en toe weer: $color.

wat heeft die punt voor functie?
pi_41415052
quote:
Op zaterdag 2 september 2006 01:54 schreef warezguy05 het volgende:
bij deze een echte n00b vraag;

ben nu een videocursusje aan t volgen van php (via lynda.com) maar ik zie dus af en toe variablen voorkomen met een punt erachter

voorbeeld:
$color maar zo heel af en toe weer: $color.

wat heeft die punt voor functie?
In PHP is een punt de operator voor concatenatie (optelling) van twee strings. Voorbeeldje:

1
2
3
4
5
6
$string1 = 'abc';
$string2 = 'def';

$output = $string1 . ' ' . $string2;

echo $output;  // abc def


Maar hoogstwaarschijnlijk is het gewoon een toevallige regeleinde die niet consequent wordt toegepast in die video tut?
pi_41418428
Oke, ik ben nu zo ver om dingen te verwijderen uit de database met PHP

Dus ik heb het in 1 pagina gegooit zoals dit:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
//voer de MySQL query uit
$result = mysql_query('SELECT  * FROM leden');

echo
"<table border='1'>";

while(
$row = mysql_fetch_array($result)) {
    echo
"<tr>\n";
    echo
"<td>$row[id]</td> <td>$row[naam]</td> <td><a href='$server?id=$row[id]'>verwijder</a></td>\n";
    echo
"</tr>\n";
}
    
echo
"</table>";

//dit stond eerst in een ander document    
if(isset($_GET['id']) ) {
mysql_query('DELETE FROM leden WHERE id='.$_GET['id']);
    }
?>


Als er nu op verwijder word gedrukt is de record wel verwijder, maar hij staat nog in m'n scherm. pas als ik refresh is het weg. Hoe voor kom ik dit?

Of is dit helemaal geen goede manier?

edit-
hm ik kom er ook net achter als ik een getal invoer bij de url achter ?id= datie dan ook verwijderd word.
pi_41418507
eerst de delete-functie, dan de tabel echo'en.
pi_41418766
oke dat was makkelijk

en dat voor mijn edit? Hoe verhelp ik dat?
pi_41418819
quote:
Op zaterdag 2 september 2006 11:28 schreef super-muffin het volgende:
oke dat was makkelijk

en dat voor mijn edit? Hoe verhelp ik dat?
uh een submit gebruiken (m.b.v. javascript je link dus een formulier laten submitten met een veld dat het id als waarde heeft) en dan checken of je een post waarde hebt?
pi_41419366
hm, klinkt ingewikkeld. Ik weet niet veel van Javascript, is er geen andere manier?
pi_41419486
<form method="post" action="$server">
<input type="hidden" name="id" value="$row[id]">
<input type="submit" value="del">
</form>
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_41419518
Uhm, wat dacht je van die
1
2
3
if(isset($_GET['id']) ) {
mysql_query('DELETE FROM leden WHERE id='.$_GET['id']);
    } 


Boven je select query te plaatsen?

En please, zet error_reporting(E_ALL) aan zodat je geen ranzige code meer schrijft

$row[id] => Dat verwijst naar een constante met de naam id maar wat je eigenlijk wil is '$row['id'] gebruiken. Hiermee verwijs naar het element met de naam 'id' in je array
pi_41419810
Oe leuk, en dan een leuke SQL query toevoegen aan $_GET['id'] zodat er tabellen gedropt worden
[20:25] [Knut] Een vrouw met een kerst fetish...
[20:26] [Knut] Niet zo letterlijk dat ik haar met baard om moet HOHOHOEN
[20:26] [Knut] maar je snapt het idee wel.
pi_41419841
Ow, en het is beter gebruik om een status veld toe te voegen aan je database en dat status veld in je query's te gebruiken.
informatie daadwerkelijk deleten komt je nog al eens duur te staan
[20:25] [Knut] Een vrouw met een kerst fetish...
[20:26] [Knut] Niet zo letterlijk dat ik haar met baard om moet HOHOHOEN
[20:26] [Knut] maar je snapt het idee wel.
  FOK!-Schrikkelbaas zaterdag 2 september 2006 @ 12:28:35 #232
1972 Swetsenegger
Egocentrische Narcist
pi_41420039
quote:
Op zaterdag 2 september 2006 12:20 schreef Knut het volgende:
Ow, en het is beter gebruik om een status veld toe te voegen aan je database en dat status veld in je query's te gebruiken.
informatie daadwerkelijk deleten komt je nog al eens duur te staan
Tja, als je zo bang bent om het verkeerde te deleten, kan je beter geen delete optie inbouwen
pi_41420061
quote:
Op zaterdag 2 september 2006 12:18 schreef Knut het volgende:
Oe leuk, en dan een leuke SQL query toevoegen aan $_GET['id'] zodat er tabellen gedropt worden
jaa leuk
probeer het maar eens en bederf je eigen voorpret
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_41420116
quote:
Op zaterdag 2 september 2006 12:20 schreef Knut het volgende:
Ow, en het is beter gebruik om een status veld toe te voegen aan je database en dat status veld in je query's te gebruiken.
informatie daadwerkelijk deleten komt je nog al eens duur te staan
in eerste instantie deed ik dat ook altijd, en aan de ene kant heeft het ook zeker voordelen. maar aan de andere kant wordt je database er niet schoner en kleiner op. ik ben er vanaf gestapt, zonder spijt tot nog toe.
As a rule, I never touch anything more sophisticated and delicate than myself.
  FOK!-Schrikkelbaas zaterdag 2 september 2006 @ 12:31:32 #235
1972 Swetsenegger
Egocentrische Narcist
pi_41420124
quote:
Op zaterdag 2 september 2006 12:29 schreef Desdinova het volgende:

[..]

jaa leuk
probeer het maar eens en bederf je eigen voorpret
Want?
je stukje code staat wijd open voor sqlinjection hoor
pi_41420253
quote:
Op zaterdag 2 september 2006 12:31 schreef Swetsenegger het volgende:

[..]

Want?
je stukje code staat wijd open voor sqlinjection hoor
niet mijn stukje code maar dubbele sql queries worden niet meer uitgevoerd door mysql_query() toch?
As a rule, I never touch anything more sophisticated and delicate than myself.
  FOK!-Schrikkelbaas zaterdag 2 september 2006 @ 12:42:37 #237
1972 Swetsenegger
Egocentrische Narcist
pi_41420361
quote:
Op zaterdag 2 september 2006 12:38 schreef Desdinova het volgende:

[..]

niet mijn stukje code maar dubbele sql queries worden niet meer uitgevoerd door mysql_query() toch?
Sinds wanneer? en daarnaast hoeft het geen dubbele query te zijn, als je je in id een and ofzo plakt krijg je al meer informatie terug dan voor jou bedoelt is. Zie een discussie die ik had met jera in 1 van de oudere topics waarin ik ook iets teveel vertrouwde op magic quotes en dergelijke. Staat ook een werkend voorbeeld in.
pi_41420556
quote:
Op zaterdag 2 september 2006 12:42 schreef Swetsenegger het volgende:

[..]

Sinds wanneer? en daarnaast hoeft het geen dubbele query te zijn, als je je in id een and ofzo plakt krijg je al meer informatie terug dan voor jou bedoelt is. Zie een discussie die ik had met jera in 1 van de oudere topics waarin ik ook iets teveel vertrouwde op magic quotes en dergelijke. Staat ook een werkend voorbeeld in.
ok top
ga ik me ff wat meer verdiepen in sql injection, want ik vertrouw idd ook op de magic quotes atm.
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_41420752
quote:
Op zaterdag 2 september 2006 02:35 schreef JeRa het volgende:

[..]

In PHP is een punt de operator voor concatenatie (optelling) van twee strings. Voorbeeldje:
[ code verwijderd ]

Maar hoogstwaarschijnlijk is het gewoon een toevallige regeleinde die niet consequent wordt toegepast in die video tut?
ok duidelijk
pi_41422423
Of je gebruikt sprintf() om van het gezeik af te zijn:

$sql = sprintf("DELETE FROM leden WHERE id=%d",$_GET['id']);

Maar natuurlijk kan sprintf() ook nog helpen (er zijn meerdere mogelijkheden) bij XSS probleempjes omdat je gemakkelijk de lengte en format van een string (of int,float whatever) kan beperken.

Maar aangezien het voorbeeld lijkt te gaan over een CMSachtig iets waar niet iedereen zo maar gebruikersbeheer kan toepassen (of google alle links kan volgen, ook leuk) valt het probleem hier nogal mee.
  FOK!-Schrikkelbaas zaterdag 2 september 2006 @ 14:15:24 #241
1972 Swetsenegger
Egocentrische Narcist
pi_41422662
quote:
Op zaterdag 2 september 2006 14:06 schreef smesjz het volgende:
Of je gebruikt sprintf() om van het gezeik af te zijn:

$sql = sprintf("DELETE FROM leden WHERE id=%d",$_GET['id']);

Maar natuurlijk kan sprintf() ook nog helpen (er zijn meerdere mogelijkheden) bij XSS probleempjes omdat je gemakkelijk de lengte en format van een string (of int,float whatever) kan beperken.

Maar aangezien het voorbeeld lijkt te gaan over een CMSachtig iets waar niet iedereen zo maar gebruikersbeheer kan toepassen (of google alle links kan volgen, ook leuk) valt het probleem hier nogal mee.
http://www.php.net/mysql_real_escape_string
pi_41425698
Voor dat soort dingetjes is PDO wel zo handig. Omslachtig, maar handig:

1
2
3
4
5
6
7
8
9
$db = new PDO('mysql:host=mysqlhost;dbname=dbnaam', 'naam', 'ww');

// Prepare statement
$stmt = $db->prepare('DELETE FROM `leden` WHERE `naam` = :naam');
$stmt->bindValue('naam', 'Danny');

// Execute
$stmt->execute();
unset($stmt);


Werkt voor strings, integers, floats, etc. en je hebt nooit meer last van SQL injection (zolang je exceptions maar catcht).
pi_41429448
Lang leve intval() en mysql_real_escape_string().
pi_41430918
Als ik een query als deze heb:

1SELECT COUNT(iets) as aantal FROM orders GROUP BY datum ORDER BY datum DESC


Dan komt daar 1 kolom uit met 100 rijen en in elke cel een getal. Is er een manier om dat simpel om te zetten naar een array? Dus iets als:

1
2
3
<?php
$data
= array (10, 20, 30, 15, 39, 29, 3);
?>


Zodat ik dus het resultaat van die query als array kan gebruiken? Omdat er maar 1 kolom uit komt kan het dus simpel in een 1 dimensionale array, maar ik kan daar zo snel niet een makkelijke functie voor vinden.
  FOK!-Schrikkelbaas zaterdag 2 september 2006 @ 19:47:32 #245
1972 Swetsenegger
Egocentrische Narcist
pi_41430966
$row['aantal'] is toch al een array
pi_41431140
quote:
Op zaterdag 2 september 2006 12:20 schreef Knut het volgende:
Ow, en het is beter gebruik om een status veld toe te voegen aan je database en dat status veld in je query's te gebruiken.
informatie daadwerkelijk deleten komt je nog al eens duur te staan
dat is een goeie

En dan in de mysql_query zeggen dat alleen de actieve worden geselecteerd neem ik aan
-edit-
heel slim, dat is precies wat je zegt
pi_41431401
quote:
Op zaterdag 2 september 2006 19:47 schreef Swetsenegger het volgende:
$row['aantal'] is toch al een array
Die snap ik niet? Als ik het volgende heb:

1
2
3
<?php
$result
= mysql_query("SELECT COUNT(*) as aantal FROM orders GROUP BY datum ORDER BY datum DESC LIMIT 100");
?>


Hoe krijg ik dan daar een array uit?
pi_41431517
quote:
Op vrijdag 1 september 2006 21:22 schreef Piles het volgende:

[..]

Jep (als DATETIME, als dat nog uitmaakt).
Maar MySQL werkt nu gewoon door elkaar. Hij selecteert de laatste datum en zomaar een foto
Ik heb de moed inmiddels opgegeven. Allerlei querys geprobeerd (ook met timestamp), maar ik krijg niet de laatste foto. Ik heb nu gewoon geen GROUP BY erbij staan, maar mocht iemand nog een idee hebben
  FOK!-Schrikkelbaas zaterdag 2 september 2006 @ 20:06:37 #249
1972 Swetsenegger
Egocentrische Narcist
pi_41431555
quote:
Op zaterdag 2 september 2006 20:01 schreef HuHu het volgende:

[..]

Die snap ik niet? Als ik het volgende heb:
[ code verwijderd ]

Hoe krijg ik dan daar een array uit?
mysql_fetch_array of mysql_fetch_assoc?
pi_41431580
quote:
Op zaterdag 2 september 2006 14:06 schreef smesjz het volgende:
Of je gebruikt sprintf() om van het gezeik af te zijn:

$sql = sprintf("DELETE FROM leden WHERE id=%d",$_GET['id']);

Maar natuurlijk kan sprintf() ook nog helpen (er zijn meerdere mogelijkheden) bij XSS probleempjes omdat je gemakkelijk de lengte en format van een string (of int,float whatever) kan beperken.

Maar aangezien het voorbeeld lijkt te gaan over een CMSachtig iets waar niet iedereen zo maar gebruikersbeheer kan toepassen (of google alle links kan volgen, ook leuk) valt het probleem hier nogal mee.
Dit voorbeeld is niet voor een CMS of zo. Maar ik wil het wel gaan gebruiken in een heel erg basis CMS waar voor moet ingelogd worden zo dat niet iedereen er bij kan.
pi_41433225
quote:
Op zaterdag 2 september 2006 20:05 schreef Piles het volgende:

[..]

Ik heb de moed inmiddels opgegeven. Allerlei querys geprobeerd (ook met timestamp), maar ik krijg niet de laatste foto. Ik heb nu gewoon geen GROUP BY erbij staan, maar mocht iemand nog een idee hebben
Je bedoelt dat je gewoon de laatst toegevoegde record wil pakken uit je database?

SELECT * FROM jouwtabel ORDER BY datum DESC LIMIT 1
pi_41433453
quote:
Op zaterdag 2 september 2006 20:57 schreef Tuvai.net het volgende:

[..]

Je bedoelt dat je gewoon de laatst toegevoegde record wil pakken uit je database?

SELECT * FROM jouwtabel ORDER BY datum DESC LIMIT 1
Nee, zie: [PHP/(My)SQL] voor dummies - Deel 31
pi_41433829
Heb je al eens ORDER BY id ASC, datum DESC geprobeerd?
pi_41433943
quote:
Op zaterdag 2 september 2006 21:15 schreef Tuvai.net het volgende:
Heb je al eens ORDER BY id ASC, datum DESC geprobeerd?
Er moet een GROUP BY oid in, want ik heb de volgende tabellen

item
- item_id (uniek)
- item_naam

foto
- foto_id (uniek)
- item_id (zie tabel item)
- link
- datum

Nu wil ik dus de 5 laatste items laten zien waar een foto is toegevoegd + die laatste foto.
Snap je?

[ Bericht 1% gewijzigd door Piles op 03-09-2006 12:42:00 ]
pi_41436636
Als ik deze query uitvoer:

1
2
3
<?php
$result
= mysql_query("SELECT COUNT(*) as aantal FROM orders GROUP BY datum ORDER BY datum DESC LIMIT 100");
?>


Dan krijg ik een resultaat terug met daarin 1 kolom en 100 rijen. Als ik dan dit doe:

1
2
3
4
5
6
<?php
while($row = mysql_fetch_assoc($result))
{
    echo(
$row["aantal"]. "<br />");
}
?>


Dan worden alle 100 resultaten keurig op het scherm getoond.

Maar als ik dit doe:

1
2
3
<?php
print_r
(mysql_fetch_assoc($result));
?>


Dan krijg ik alleen het resultaat in de eerste rij te zien, en niet alle 100. Wat ik wil bereiken is dat ik het resultaat van die query omzet in een array met alle 100 waarden.
pi_41436767
Ik heb het nu zo opgelost:

1
2
3
4
5
6
7
8
9
10
<?php
$result
= mysql_query("SELECT COUNT(*) as aantal FROM orders GROUP BY datum ORDER BY datum DESC LIMIT 100");

$data = array();

while(
$row = mysql_fetch_assoc($result))
{
    
array_push($data, $row["aantal"]);
}
?>


Maar hier moet toch ook wel een standaard-functie voor bestaan?
  zondag 3 september 2006 @ 11:38:01 #257
16625 robh
Lucas & Gea Review Crew ©
pi_41446967
quote:
Op zaterdag 2 september 2006 22:37 schreef HuHu het volgende:
Ik heb het nu zo opgelost:
[ code verwijderd ]

Maar hier moet toch ook wel een standaard-functie voor bestaan?
Volgens mij is daar geen standaard functie voor en daar zijn natuurlijk wel legio redenen voor te verzinnen.

Is het trouwens mogelijk om in PHP objecten te casten naar andere objecten? Ik zie wel dat het mogelijk is om (object) te casten, maar ik wil een "iets" casten naar een object van mijn keuze.
Martin Drent, onze profeet.
Vol gas met Burdy!
.
Pimpen met je FOK!-tag
  zondag 3 september 2006 @ 12:40:34 #258
151527 KaMo
Boem, zei de bas
pi_41448359
phpBB : Critical Error

Could not open DArk template config file

DEBUG MODE

Line : 503
File : functions.php

Nu wil ik dus met PHPmyAdmin alle "DArk" in "ndesign" veranderen

maar dan heb ik hem veranderd en dan zoek ik naar DArk
is het weer veranderd in DArk
Waar ligt dit aan?
pi_41449042
quote:
Op zondag 3 september 2006 11:38 schreef robh het volgende:

[..]

Volgens mij is daar geen standaard functie voor en daar zijn natuurlijk wel legio redenen voor te verzinnen.

Is het trouwens mogelijk om in PHP objecten te casten naar andere objecten? Ik zie wel dat het mogelijk is om (object) te casten, maar ik wil een "iets" casten naar een object van mijn keuze.
PHP4 of PHP5? Dat maakt zeker bij objecten wel uit. Ook de relatie tussen de objecten is handig. Maar ik denk niet dat je zomaar een object naar een ander type kunt casten.

Een hond is geen fiets, dus het zou niet logisch zijn als je objecten van class hond naar class fiets kunt casten.
  zondag 3 september 2006 @ 13:39:22 #260
16625 robh
Lucas & Gea Review Crew ©
pi_41449659
quote:
Op zondag 3 september 2006 13:13 schreef Light het volgende:

PHP4 of PHP5? Dat maakt zeker bij objecten wel uit. Ook de relatie tussen de objecten is handig. Maar ik denk niet dat je zomaar een object naar een ander type kunt casten.

Een hond is geen fiets, dus het zou niet logisch zijn als je objecten van class hond naar class fiets kunt casten.
PHP5.

Ik weet dat het niet logisch is om te doen, maar het zou mooi zijn als het kan. Ik denk dan bijvoorbeeld aan een rij tabeldata uit een db die je zou kunnen casten naar een object (met dezelfde attributen) en dat dan je getters en setters gewoon werken. Tuurlijk is daar wel een andere oplossing voor, maar als het met een cast kon zou het imo netter zijn.
Martin Drent, onze profeet.
Vol gas met Burdy!
.
Pimpen met je FOK!-tag
pi_41450146
quote:
Op zondag 3 september 2006 13:39 schreef robh het volgende:

[..]

PHP5.

Ik weet dat het niet logisch is om te doen, maar het zou mooi zijn als het kan. Ik denk dan bijvoorbeeld aan een rij tabeldata uit een db die je zou kunnen casten naar een object (met dezelfde attributen) en dat dan je getters en setters gewoon werken. Tuurlijk is daar wel een andere oplossing voor, maar als het met een cast kon zou het imo netter zijn.
Het ligt maar net aan je definitie voor 'netter' anyway, jij hebt een bepaalde conversie voor ogen waarbij je keys van een array cast naar een object met member variables van dezelfde naam. Hier is geen eenduidige cast voor te bedenken aangezien anderen wellicht een andere conversie hadden bedacht. Bovendien zou PHP nogal bloated worden als het dit soort casts zou gaan implementeren.

Maar het mooie aan PHP is dat er niets in je weg staat om een kleine functie te schrijven die dit werk voor je doet qua 'netheid' is er imho toch al niets aan te redden als je in PHP werkt, dan zul je een stuk verder komen in bijvoorbeeld Java

edit: een conversie van array -> object bestaat trouwens wel:
1
2
3
4
5
6
7
8
9
<?php

$test = array('blaat' => 2, 3 => 'onzin');

$obj = (object)$test;

print_r($obj);

?>

Maar het voorbeeld dat je aanhaalt is natuurlijk een beetje triviaal omdat er ook een functie is ala mysql_fetch_object()
pi_41451430
Hoe zou je in MySQL een veld waarde met 1 optellen?
Moet je eerst uitlezen wat er in dat veld staat met een select query, en daarna met een update query +1 bij de gevonden waarde doen?

En hoe zit dit dan als er 2 of meer gebruikters dit bijna gelijktijdig doen. Dan lezen ze beide tegelijkertijd bijvoorbeeld het getal 5. Dan schrijft er 1 weg en wordt het zes, en schrijft de ander ook weg, waardoor het 6 blijft, terwijl het 7 had moeten zijn...

Iemand een idee, of weet waar ik ergens moet zoeken?
pi_41451501
quote:
Op zondag 3 september 2006 14:55 schreef Skorpija het volgende:
Hoe zou je in MySQL een veld waarde met 1 optellen?
Moet je eerst uitlezen wat er in dat veld staat met een select query, en daarna met een update query +1 bij de gevonden waarde doen?

En hoe zit dit dan als er 2 of meer gebruikters dit bijna gelijktijdig doen. Dan lezen ze beide tegelijkertijd bijvoorbeeld het getal 5. Dan schrijft er 1 weg en wordt het zes, en schrijft de ander ook weg, waardoor het 6 blijft, terwijl het 7 had moeten zijn...

Iemand een idee, of weet waar ik ergens moet zoeken?
1UPDATE jouwtabel SET jouw_numerieke_veld=jouw_numerieke_veld+1
pi_41451568
quote:
Op zondag 3 september 2006 14:55 schreef Skorpija het volgende:
Hoe zou je in MySQL een veld waarde met 1 optellen?
Moet je eerst uitlezen wat er in dat veld staat met een select query, en daarna met een update query +1 bij de gevonden waarde doen?
1UPDATE tabel SET waarde = waarde + 1 WHERE (conditie);
quote:
En hoe zit dit dan als er 2 of meer gebruikters dit bijna gelijktijdig doen. Dan lezen ze beide tegelijkertijd bijvoorbeeld het getal 5. Dan schrijft er 1 weg en wordt het zes, en schrijft de ander ook weg, waardoor het 6 blijft, terwijl het 7 had moeten zijn...
Het grote concurrency probleem dus gelukkig stelt MySQL dat als je een enkele query uitvoert, deze atomic is. Dit betekent dat geen enkel ander proces/thread de tabellen kan wijzigen waar een huidige query op dat moment mee bezig is. Dus dit is atomic:

1UPDATE tabel SET waarde = waarde + 1;


En dit niet:

1
2
SELECT waarde FROM tabel WHERE naam = 'piet';
UPDATE tabel SET waarde = $waarde + 1;


Bij deze laatste code kun je een ander proces in de weg zitten dat op dat moment exact dezelfde queries uitvoert. Om dit op te lossen kun je zelf tabellen locken:

1
2
3
4
LOCK TABLES `tabel` WRITE;
SELECT waarde FROM tabel WHERE naam = 'piet';
UPDATE tabel SET waarde = $waarde + 1;
UNLOCK TABLES;


Et voila je opvolgende queries tussen LOCK en UNLOCK zijn atomic geworden.
pi_41451650
quote:
Op zondag 3 september 2006 14:58 schreef Tuvai.net het volgende:

[..]
[ code verwijderd ]
-edit- thanks Tuvai en JeRa
pi_41456273
Ik heb eindelijk eens oplossing voor mijn foto-probleem (met dank aan een ander forum )

1
2
3
4
5
SELECT i.item_naam, i.item_id, f.foto_id, f.foto_datum, f.foto_link 
FROM `item` AS i
INNER JOIN foto AS f ON i.item_id=f.item_id 
GROUP BY i.item_id 
ORDER BY f.foto_datum DESC
  zondag 3 september 2006 @ 18:12:55 #267
151527 KaMo
Boem, zei de bas
pi_41456441
quote:
Op zondag 3 september 2006 12:40 schreef KaMo het volgende:
phpBB : Critical Error

Could not open DArk template config file

DEBUG MODE

Line : 503
File : functions.php

Nu wil ik dus met PHPmyAdmin alle "DArk" in "ndesign" veranderen

maar dan heb ik hem veranderd en dan zoek ik naar DArk
is het weer veranderd in DArk
Waar ligt dit aan?
al opgelost
pi_41458478
quote:
Op zondag 3 september 2006 18:00 schreef Piles het volgende:
Ik heb eindelijk eens oplossing voor mijn foto-probleem (met dank aan een ander forum )
[ code verwijderd ]

Eigenlijk hoor je te groeperen op elk veld dat in de select voor komt. Als er meerdere foto's bij een item kunnen horen, dan weet je met jouw query niet welke foto je bij een item krijgt.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_41458717
quote:
Op zondag 3 september 2006 19:32 schreef SuperRembo het volgende:

[..]

Eigenlijk hoor je te groeperen op elk veld dat in de select voor komt. Als er meerdere foto's bij een item kunnen horen, dan weet je met jouw query niet welke foto je bij een item krijgt.
Alleen de velden uit de tabel `item` neem ik aan?
Ik heb het aangepast en het werkt nog steeds
pi_41461041
Nee, alle velden die in de select gebruikt worden, behalve velden in functies als sum() en max().
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_41468944
Ik probeer op mysql.com te vinden of het mogelijk is een select qeury in mysql toen waar ik 3 voorwaarde kan opgeven in me query.

Dus iets als $sql = "SELECT * FROM layout_rij WHERE user_id ='test' AND x='íets' AND y='nogwat'"

Weet iemand of zo iets mogelijk is en hoe je de query uitvoerd ik geen bruikbaare documentatie vinden of wil ik iets wat niet kan ?
  maandag 4 september 2006 @ 00:10:08 #272
1607 Ali Salami
Altijd actueel
pi_41469156
Als ik je eerste zin goed begrijp wil je een sql-query met meerdere voorwaarden, en dat zet je dan inderdaad ook in je SQL-statement. En die laatste is dan ook goed, er staat in de documentatie wel wat6 over AND/OR operators.

Maar heb je je query uberhaubt al eens uitgeprobeerd? Dat is eerst wel handig
Hatsjoe!
  maandag 4 september 2006 @ 00:17:33 #273
46383 Tiemie
sowieso wel!
pi_41469384
Het is niet alleen mogelijk om meerdere voorwaarden te gebruiken, Het is zelfs vrij standaard. .
pi_41469386
quote:
Op maandag 4 september 2006 00:01 schreef Wouta het volgende:
Ik probeer op mysql.com te vinden of het mogelijk is een select qeury in mysql toen waar ik 3 voorwaarde kan opgeven in me query.

Dus iets als $sql = "SELECT * FROM layout_rij WHERE user_id ='test' AND x='íets' AND y='nogwat'"

Weet iemand of zo iets mogelijk is en hoe je de query uitvoerd ik geen bruikbaare documentatie vinden of wil ik iets wat niet kan ?
Ja, zoiets is mogelijk. En het werkt nog op de manier die je hier beschrijft ook. Dus gewoon met AND. Of met OR, afhankelijk van wat je wilt. Als je AND en OR gaat combineren in een query dan is het aan te raden om altijd haakjes te gebruiken. Dan kun je het later makkelijker teruglezen, zonder je af te vragen hoe het bedoeld was.

Zie twee voorbeeldjes hieronder:
SELECT * FROM table WHERE a AND ( b OR c )
SELECT * FROM table WHERE ( a AND b ) OR c
pi_41488742
quote:
Op maandag 4 september 2006 00:10 schreef Ali Salami het volgende:
Maar heb je je query uberhaubt al eens uitgeprobeerd? Dat is eerst wel handig
Zeker heb ik de query geprobeerd! Ik denk alleen dat ik een andere fout in de query had. Hoewel ik dat niet eruitkon halen met mysql_error();
  maandag 4 september 2006 @ 19:11:02 #276
16625 robh
Lucas & Gea Review Crew ©
pi_41489054
quote:
Op zondag 3 september 2006 14:01 schreef JeRa het volgende:

[..]

Het ligt maar net aan je definitie voor 'netter' anyway, jij hebt een bepaalde conversie voor ogen waarbij je keys van een array cast naar een object met member variables van dezelfde naam. Hier is geen eenduidige cast voor te bedenken aangezien anderen wellicht een andere conversie hadden bedacht. Bovendien zou PHP nogal bloated worden als het dit soort casts zou gaan implementeren.

Maar het mooie aan PHP is dat er niets in je weg staat om een kleine functie te schrijven die dit werk voor je doet qua 'netheid' is er imho toch al niets aan te redden als je in PHP werkt, dan zul je een stuk verder komen in bijvoorbeeld Java

edit: een conversie van array -> object bestaat trouwens wel:
[ code verwijderd ]

Maar het voorbeeld dat je aanhaalt is natuurlijk een beetje triviaal omdat er ook een functie is ala mysql_fetch_object()
Hehehe, ja, ik kán een functie schrijven. Hell, ik kan voor elke klasse wel een factory aanmaken. Hartstikke hip, patterns. Maar dat was de vraag niet.

Ik geloof dat hetgeen ik wil niet mogelijk is. Nou ja, daar kan ik wel mee leven.

IIG bedankt voor de respons
Martin Drent, onze profeet.
Vol gas met Burdy!
.
Pimpen met je FOK!-tag
pi_41498806
Even een kort vraagje...
$_SERVER['REQUEST_URI'];
werkt niet... De fout is:
PHP Notice: Undefined index: REQUEST_URI in........
Volgens mij een php.ini verhaal.. Hoe stel ik in dat dit wel werkt?
Alvast bedankt!
Amsterdam, stad van hash en coke,
Waar de vrouwen zich vrouwelijk gedragen..
En de mannen ook..
pi_41499141
quote:
Op maandag 4 september 2006 23:45 schreef markiemark het volgende:
Even een kort vraagje...
$_SERVER['REQUEST_URI'];
werkt niet... De fout is:
PHP Notice: Undefined index: REQUEST_URI in........
Volgens mij een php.ini verhaal.. Hoe stel ik in dat dit wel werkt?
Alvast bedankt!
Is dat een server met Windows XP en IIS 5.1 ? Zo ja, kijk dan eens hier. Of bij de andere reacties daar.
pi_41499681
quote:
Op maandag 4 september 2006 23:54 schreef Light het volgende:

[..]

Is dat een server met Windows XP en IIS 5.1 ? Zo ja, kijk dan eens hier. Of bij de andere reacties daar.
ok thnx!
Amsterdam, stad van hash en coke,
Waar de vrouwen zich vrouwelijk gedragen..
En de mannen ook..
pi_41507433
quote:
Op donderdag 17 augustus 2006 22:29 schreef Swetsenegger het volgende:
Zag ik nu net een tv reclame van je werkgever SuperRembo?
Nee, dat is gelukkig niet mijn werkgever. Dat is van deze lui.

Ze hadden veel kunnen leren van deze topic reeks. En dat belooft niet veel goeds voor mensen die financiele gegevens moeten beheren.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_41519243
hoe eindig ik de huidige while loop?

dussehh,

$i = 1;
while ($i < 5){
if ($i == 2){ /*break ofzo*/ }
echo $i;
$i++;
}

duss dan zou ik een lijstje willen krijgen van 1, 3, 4, 5. en dat moet dus met zo'n ga-verder-met-de-volgende-loop-dinges en niet met een workaround want die kan ik ook wel verzinnen
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_41519362
quote:
Op dinsdag 5 september 2006 16:32 schreef Desdinova het volgende:
hoe eindig ik de huidige while loop?

dussehh,

$i = 1;
while ($i < 5){
if ($i == 2){ /*break ofzo*/ }
echo $i;
$i++;
}

duss dan zou ik een lijstje willen krijgen van 1, 3, 4, 5. en dat moet dus met zo'n ga-verder-met-de-volgende-loop-dinges en niet met een workaround want die kan ik ook wel verzinnen
continue

break laat je uit de while loop springen, dan krijg je alleen de 1 te zien in je voorbeeld.
pi_41519406
Laat maar
pi_41519439
laat ook maar
pi_41519738
quote:
Op dinsdag 5 september 2006 16:36 schreef Light het volgende:

[..]

continue

break laat je uit de while loop springen, dan krijg je alleen de 1 te zien in je voorbeeld.
ah die zocht ik tx!
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_41539557
http://mcrdev.guitarist.nl/menu/icoontjes/

Voor degene die een lichtkrant in hun avatar willen!

Hotlinken staat uit:

PS4 online: micro_nl
pi_41541016
quote:
Op dinsdag 5 september 2006 16:36 schreef Light het volgende:

[..]

continue

break laat je uit de while loop springen, dan krijg je alleen de 1 te zien in je voorbeeld.
Als je op die plaats een continue zet dan blijft je loop hangen, je komt namelijk niet meer langs $i++.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_41541049
quote:
Op woensdag 6 september 2006 09:16 schreef SuperRembo het volgende:

[..]

Als je op die plaats een continue zet dan blijft je loop hangen, je komt namelijk niet meer langs $i++.
Hmmja, je hebt gelijk.
pi_41541729
quote:
Op woensdag 6 september 2006 09:16 schreef SuperRembo het volgende:

[..]

Als je op die plaats een continue zet dan blijft je loop hangen, je komt namelijk niet meer langs $i++.
maakt niet uit was even een snel voorbeeld.
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_41564554
Ik heb in m'n tabel een veld staan op 'datetime'
nu word dit opgeslagen als dit (en dat is ook de output) : 2006-09-06 21:40:26

Hoe kan ik dit weergeven op deze manier:
2006-09-06 21:40:26
06 - 09 - 2006 om 21:40:26
pi_41565061
1
2
3
<?php
echo date("d-m-Y", strtotime($datum)).' om '.date("H:i:s", strtotime($datum));
?>

  woensdag 6 september 2006 @ 22:43:22 #292
12880 CraZaay
prettig gestoord
pi_41566760
Of direct in je query met DATE_FORMAT
pi_41567552
daarmee kan ik toch de datum weergeven als:
06 september 2006 om 21:40:26

maar hoe?
1
2
3
<?php
DATE_FORMAT
(datum, '%M %D, %Y') as date
?>


Dit werkt iig niet, daar krijg ik een error bij:
quote:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DATE_FORMAT(datum, '%M %D, %Y') as date' at line 1
  woensdag 6 september 2006 @ 23:11:26 #294
12880 CraZaay
prettig gestoord
pi_41567943
'date' gereserveerd toevallig? Probeer hier eens iets anders ('blaat' desnoods ).
pi_41568274
hm, nee dan ook niet.

dit is mijn volledige code:

1
2
3
4
5
6
7
<?php
$sql_date
= mysql_query("SELECT * FROM gastenboek DATE_FORMAT(datum, '%M %D, %Y') AS blaat") or die (mysql_error());

while(list(
$date) = mysql_fetch_row($sql_date)){
echo
"The date of this row is: $date";
}
?>
  woensdag 6 september 2006 @ 23:24:58 #296
12880 CraZaay
prettig gestoord
pi_41568558
Ah, hij staat op de verkeerde plaats

SELECT *, DATE_FORMAT ... FROM ...
pi_41568822
Dat was het inderdaad
Alleen dan zonder *,

En hoe krijg ik de maanden in het Nederlands?
  woensdag 6 september 2006 @ 23:35:22 #298
12880 CraZaay
prettig gestoord
pi_41569036
quote:
Op woensdag 6 september 2006 23:30 schreef super-muffin het volgende:
Dat was het inderdaad
Alleen dan zonder *,

En hoe krijg ik de maanden in het Nederlands?
Dat * is alleen nodig als je alles wilt hebben + de geformateerde datum.

Het meest fail-safe is een array met de maanden, maar als er anderen goede ervaringen hebben met het formatten van de datum op basis van een locale dan hoor ik het graag
pi_41569662
hm ik krijg het niet zo als ik hebben wil

1
2
3
4
5
6
7
8
9
<?php
$sql_date
= mysql_query("SELECT *, DATE_FORMAT(time, '%e %M %Y om %T') FROM gastenboek AS date");

while(
$row = mysql_fetch_assoc($sql_date)){
    echo
"$row[bericht]<br />";
    echo
"$row[time]<br /> ";
    echo
"door $row[naam]";
}
?>


dan krijg ik toch dit als output voor $row[time] :
2006-09-06 21:40:26

-edit-
Nieuw topic -> [PHP/(My)SQL] voor dummies - Deel 32

[ Bericht 6% gewijzigd door super-muffin op 07-09-2006 00:05:22 (toevoeging) ]
  woensdag 6 september 2006 @ 23:59:14 #300
62215 qu63
..de tijd drinkt..
pi_41569946
1
2
3
<?php
echo "$row[date]<br /> ";
?>
lijkt mij
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_41570078
nee, dat had ik al geprobeerd.

naja, ik ga maar slapen. Morgen weer een dag.

en een nieuw topic:
[PHP/(My)SQL] voor dummies - Deel 32
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')