1 | "REPLACE INTO `tabel` (`een`,`twee`,`drie`) VALUES (:een,:twee,:drie)" |
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 | <?php $db_old = new PDO(...); $db_new = new PDO(...); $res_new = $db_new->query("DESCRIBE `database_nieuw`.`tabel_nieuw`"); $fields = array(); $fields_types = array(); $fields_filling = array(); while ($row_new = $res_new->fetchObject()) { array_push($fields,"`".$row_new->Field."`"); array_push($fields_filling,":".$row_new->Field.""); if (preg_match("/int\(\d+\)/",$row_new->Type)) { $fields_types[$row_new->Field] = PDO::PARAM_INT; } elseif (preg_match("/date|text|varchar/",$row_new->Type)) { $fields_types[$row_new->Field] = PDO::PARAM_STR; } else { $fields_types[$row_new->Field] = PDO::PARAM_STR; } } $to_prepare = "REPLACE INTO `database_nieuw`.`tabel_nieuw` (".implode(",",$fields).") VALUES (".implode(",",$fields_filling).")"; echo "To prepare: " . $to_prepare . "\n"; $res = $db_old->query("SELECT * FROM `database_oud`.`tabel_oud`"); while($row = $res->fetchObject()) { $this_array = array(); $sth = $db_new->prepare($to_prepare); foreach ($fields as $f) { $f2 = preg_replace("/`/","",$f); $sth->bindValue(":".$f2,$row->$f2,$fields_types[$f2]); echo "Binding " . $f2 ." : " .$row->$f2. "\n"; } $sth->execute(); } ?> |
Hij gaf in het vorige topic het volgende voorbeeld.quote:Op woensdag 16 maart 2011 09:13 schreef Keiichi het volgende:
Als je de string waarin straat en huisnummer vermeld staat, split per spatie, het laatste element eraf popt (array_pop) en de rest weer joined. Dan heb je denk (als huisnummer altijd vermeld is!) een redelijk scheiding volgens mij.
Het is iets in ieder geval. Maar ik dacht dat die database redelijke compleet was.quote:Op woensdag 16 maart 2011 10:16 schreef GlowMouse het volgende:
Dat zijn helemaal niet alle straten van heel Nederland. Maar bij die paar straten die er wel instaan kun je het wel gebruiken.
Kun je het niet jatten van goeggel maps?quote:Op woensdag 16 maart 2011 10:19 schreef Keiichi het volgende:
[..]
Het is iets in ieder geval. Maar ik dacht dat die database redelijke compleet was.
Die kent ook niet alle straten.quote:Op woensdag 16 maart 2011 10:47 schreef shintek het volgende:
[..]
Kun je het niet jatten van goeggel maps?
Heb je voorbeelden? Ik kan me voorstellen dat een straat in een nieuwbouwwijk die net 1 dag geleden opgeleverd is er niet instaat.quote:
Het is wel iets meer dan een paar straten hoor.quote:Op woensdag 16 maart 2011 10:16 schreef GlowMouse het volgende:
Dat zijn helemaal niet alle straten van heel Nederland. Maar bij die paar straten die er wel instaan kun je het wel gebruiken.
En als hij er niet instaat ga je zelf splitten.quote:Op woensdag 16 maart 2011 10:16 schreef GlowMouse het volgende:
bij die paar straten die er wel instaan kun je het wel gebruiken.
Hmmm die x was gewoon willekeurig he...quote:Op dinsdag 15 maart 2011 21:15 schreef GlowMouse het volgende:
[..]
In dat geval zoek je [0-9x]*\.[0-9x]*, waarna je de x via str_replace uit het resultaat haalt.
Waarom geen 81.831?quote:1bnj4w8.0%81.83%1 ook 148.081
Ik zou 0 voor false en 1 voor true gebruiken. Maakt de code wel zo logischquote:Op woensdag 16 maart 2011 19:27 schreef GlowMouse het volgende:
0/1 voor true false, of ENUM('Y','N'), net wat je voorkeur is.
Geen idee, maar ik zou denken dat 0/1 sneller is omdat je in de code dan geen stringvergelijking hoeft te doen.quote:Op woensdag 16 maart 2011 20:48 schreef Chandler het volgende:
maar ik vraag me af wat sneller is een tinyint (voor boolean) of een enum met y/n of 0/1
Dan heb je volgens mij twee regexen nodig, en twee keer preg_replace. Eerst gooi je alles weg wat geen cijfer en/of punt is, daarna moet alles vanaf de tweede punt weg.quote:Op woensdag 16 maart 2011 13:30 schreef Dale. het volgende:
[..]
Hmmm die x was gewoon willekeurig he...
Hij moet van 1bnj4w8.0%81 ook gewoon 148.081 maken en van 1bnj4w8.0%81.83%1 ook 148.081
Er worden in database voor een enum veld wel eea aan trucje gebruikt lijkt me zo. Als je een vastgesteld aantaal waarden heb, dan kun je eigenlijk het daadwerkelijke type INT maken waarbij een onzichtbare tabel gebruikt voor de daadwerkelijke waardes. Zeg maar een soort snelkoppeling naar een foreign key.quote:Op woensdag 16 maart 2011 21:02 schreef Light het volgende:
[..]
Geen idee, maar ik zou denken dat 0/1 sneller is omdat je in de code dan geen stringvergelijking hoeft te doen.
Voor een Enum wordt een smallint gebruikt, met 65535 mogelijkheden. Maar daar had ik het niet over. Als je in de database een enum('Y', 'N') gebruikt, krijg je bij het ophalen van de data altijd een 'Y' of een 'N'.quote:Op woensdag 16 maart 2011 21:05 schreef Keiichi het volgende:
[..]
Er worden in database voor een enum veld wel eea aan trucje gebruikt lijkt me zo. Als je een vastgesteld aantaal waarden heb, dan kun je eigenlijk het daadwerkelijke type INT maken waarbij een onzichtbare tabel gebruikt voor de daadwerkelijke waardes. Zeg maar een soort snelkoppeling naar een foreign key.
1 2 3 4 5 6 7 8 | <?php if($enum_value == 'Y') { // doe iets } if($tinyint_value) { // doe iets } ?> |
Je hebt in dit geval een formulier, bovenaan het formulier ga jij na of er een postcommando is en ga je $subject definieren. Alleen als $subject niet met een postcommando meekomt bijvoorbeeld als een gebruiker de pagina voor de eerste keer bezoekt is $subject leeg.quote:Op vrijdag 18 maart 2011 13:42 schreef Peem het volgende:
Hoi!
Ik hoopte op wat hulp!
Ik ben bezig met een php form, in de simpele vorm, alleen ik kom er niet uit qua radio boxes..
Ik zal even complete code erneer plempen:
Het probleem is nu, dat hij aangeeft als het de mail binnenkomt: (nosubject) terwijl ik daar juist 1 van de 3 opties wil hebben, kan iemand mij hiermee helpen?
Dank
Iedere dropdown heeft een eigen form, dus als je je zoekfilter submit, wordt alleen maar de waarde van de laatste naar de pagina gestuurd. Je moet dus sowieso al je categorieën in 1 formulier hebben staan. In je verwerkingscript ga je deze opties bij elkaar voegen in je query.quote:Op maandag 21 maart 2011 02:36 schreef Eline.S het volgende:
Ben een beginnertje, dus hopelijk een simpele vraag....
Dit is mijn site: http://www.succesvolwonen.nl
(let nog niet op de opmaak, want ik ben net begonnen....)
Nu heb ik een probleem met het zoek-gedeelte aan de rechterkant.
De view-button werkt alleen op de laatste categorie in plaats van alle categoriëen "bij elkaar op te tellen". Het is ongetwijfeld iets met AND en zo, maar wat ik ook probeer, ik kom er niet uit.
Ik gebruik onderstaand script:
[ blurp code ]
Wie o wie helpt mij een stukje op weg?
Op die manier heb je inderdaad bij iedere dropdown een submitknop, dat wil je helemaal niet hebben. In principe zet je het als volgt op:quote:Op maandag 21 maart 2011 10:37 schreef Eline.S het volgende:
Ik had eerst ook onder iedere dropdown:
<input class="view-button" type="submit" value="<?php _e('view','ElegantEstate'); ?>" name="submit" />
</form>
Maar dan krijg ik 4x een view button die alleen op zijn eigen dropdown werkt....
Is het dan zoiets als <input class="input" ........ etc/> ?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <form action="..." method="GET"> <div class="select"> <select class="option-listing" name="option-listing"> <?php foreach ($listings3 as $item) { ?> <option value="<?php echo $item; ?>"><?php echo get_cat_name($item); ?></option> <?php } ?> </select> </div> <div class="select"> <select class="option-listing" name="option-listing"> <?php foreach ($listings2 as $item) { ?> <option value="<?php echo $item; ?>"><?php echo get_cat_name($item); ?></option> <?php } ?> </select> </div> <!-- ... de rest van je dropdown boxjes --> <input type="submit" value="view"> </form> |
Kun je niet gewoon ORDER BY op parent doen?quote:Op maandag 21 maart 2011 13:34 schreef PiRANiA het volgende:
Tabel:
id - parentid
Ik wil een lijstje met:
Parent 1
• id dat onder deze parent valt
• id dat onder deze parent valt
• id dat onder deze parent valt
Parent 2
• id dat onder deze parent valt
Dus dacht ik te sorteren op het zelf te maken veld 'pid_id': een samenvoeging van parentid en id.
(hoe) kan dit: "SELECT id,parent,
CONCAT(IF(`parent`) `parent` ELSE `id`,`id`) as pid_id
FROM `asset`
ORDER BY pid_id
?
De parents zelf hebben geen parent. Wat jij zegt zou alleen werken als de parents ook een parent_id hadden...quote:Op maandag 21 maart 2011 13:50 schreef AlchemistOfSorrows het volgende:
[..]
Kun je niet gewoon ORDER BY op parent doen?
Als je op 'submit' drukt gaat hij de 'action' uitvoeren, als jij daar verstuur.html hebt neergezet doet het formulier niks meer als naar verstuur.html gaan wanneer jij op submit drukt. Als je PHP gebruikt voor je formulier kun je toch wanneer hij verzonden is met een header naar de 'bedankt'-pagina navigeren?quote:Op maandag 21 maart 2011 14:51 schreef Peem het volgende:
Even een vervolgje op mijn noob vraag van vrijdag:
Ik begin de form met een ---> <form method="post" action="#contact_form"> <---
hij verstuurd het netjes naar de betreffende email, maar zodra ik er action="verstuur.html"> van maak, gaat hij wel nadat ik op verstuur heb gedrukt naar verstuur.html, maar word het formulier niet verzonden, kan iemand mij hierbij helpen?
Dank!
Ik doe altijdquote:Op maandag 21 maart 2011 19:02 schreef KomtTijd... het volgende:
En als je wilt dat een form naar de pagina zelf verstuurd wordt (dus als verwerking en plaatsing door het zelfde script gedaan wordt), kun je het action-attribuut ook weg laten. Al weet ik niet of dat gedocumenteerd gedrag is...
1 2 | action="<?php echo $_SERVER['PHP_SELF']; ?>" |
Ik kook mijn sites het liefst met een een eetlepel firefox compatibiliteit, en een schepje chrome.quote:Op maandag 21 maart 2011 19:14 schreef lifeblind het volgende:
Dat is het beste inderdaad, misschien dat er hier of daar een exotische browser is die het anders interpreteerd ofzo.
Hier hetzelfde en zo min mogelijk IE6 compatibilieit. Persoonlijk ondersteun ik pas vanaf IE7.quote:Op maandag 21 maart 2011 19:35 schreef shintek het volgende:
[..]
Ik kook mijn sites het liefst met een een eetlepel firefox compatibiliteit, en een schepje chrome.
quote:Op dinsdag 22 maart 2011 15:55 schreef MrNiles het volgende:
hoe kan ik een checkbox uitlezen uit een tabel?
1 = checked in de tabel
maar als ik dan naar een html pagina ga dan zie ik niet dat de checkbox gevinkt is
hoe kan ik die checked maken?
1 | <input type="checkbox"<?=$databasewaarde==1?" checked='checked'":""?> /> |
1 2 3 4 5 6 7 8 9 | <?php $to = "iemand@hotmail.com"; $subject = "Test mail"; $message = "Hello! This is a simple email message."; $from = "someonelse@example.com"; $headers = "From:" . $from; mail($to,$subject,$message,$headers); echo "Mail Sent."; ?> |
Heb je wel sendmail geinstalleerd enzo?quote:Op dinsdag 22 maart 2011 18:26 schreef MrNiles het volgende:
[ code verwijderd ]
dit zou toch moeten werken??
iemand enig idee waarom ik niets kan ontvangen op gmail en hotmail...ook niet in de spambox
Als er geen user input is, is er ook geen injection.quote:Op dinsdag 22 maart 2011 19:33 schreef GlowMouse het volgende:
Misschien was hij niet zo blij met je header injection.
Hier niet, maar ik kan me goed voorstellen dat je als hoster sendmail voor bepaalde users uitschakelt ivm spam.quote:Op dinsdag 22 maart 2011 19:39 schreef KomtTijd... het volgende:
[..]
Als er geen user input is, is er ook geen injection.
Zou kunnen, maar het heeft altijd gewerkt.quote:Hier niet, maar ik kan me goed voorstellen dat je als hoster sendmail voor bepaalde users uitschakelt ivm spam.
1 2 3 | <?php $commando="SELECT koppeltabel.*, optredens.* FROM koppeltabel, optredens WHERE koppeltabel.O_id = optredens.O_id AND koppeltabel.G_id=$G_id"; ?> |
1 2 3 | [basket54] => 74|kabel 2m|kabels|1.00|1.19|19 [basket35] => 23|utp kabel 1m|netwerk kabels|2|2.38|19 [basket5] => 3|A4 papier|kantoorartikelen|10.00|11.90|19 |
1 | [basket_no] => 54|35|5| |
1 2 3 4 | id | product | categorie | prijs inc | prijs exc | % BTW 74 | kabel 2m | kabels | 1.00 | 1.19 | 19 23 | utp kabel 1m | netwerk kabels | 2 | 2.38 | 19 3 | A4 papier | kantoorartikelen | 10.00 | 11.90 | 19 |
Dank, zal het opslaan van de sessions aanpassen.quote:Op donderdag 24 maart 2011 14:02 schreef GlowMouse het volgende:
Je begint met normaal opslaan, je kunt gewoon $_SESSION['basket'][] = array('id' => 74, 'aantal' => 1, 'beschrijving' => ....) doen.
Ik zal eens spelen met foreach. Ik zou inderdaad alleen de product id en aantal kunnen opslaan in de sessie en de rest uit de database opvragen.quote:Op donderdag 24 maart 2011 14:18 schreef GlowMouse het volgende:
Daarna volstaat een foreach. Let op dat je prijzen nu in sessies opslaat, en wijzigingen in de database niet direct worden meegenomen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | [basket] => Array ( [0] => Array ( [id] => 5 [beschrijving] => netwerk kabel 2m [prijs] => 6.99 ) [1] => Array ( [id] => 2 [beschrijving] => A4 papier [prijs] => 3.00 ) [2] => Array ( [id] => 65 [beschrijving] => nietmachine [prijs] => 2.50 ) |
1 2 3 4 5 | foreach ($_SESSION['basket'] as $v1) { foreach ($v1 as $key=>$v2) { echo $key. ': ' .$v2. '<br />'; } } |
1 2 3 4 5 6 7 8 9 | id: 5 beschrijving: netwerk kabel 2m prijs: 6.99 id: 2 beschrijving: A4 papier prijs: 3.00 id: 65 beschrijving: nietmachine prijs: 2.50 |
Het moet zijn:quote:Op donderdag 24 maart 2011 15:08 schreef lifeblind het volgende:
Wat is dan het probleem? De data uit je session wordt nu toch op de pagina geplaatst?
1 2 3 | id: 5 beschrijving: netwerk kabel 2m prijs: 6.99 id: 2 beschrijving: A4 papier prijs: 3.00 id: 65 beschrijving: nietmachine prijs: 2.50 |
1 2 3 4 5 6 7 8 9 | id: 5 beschrijving: netwerk kabel 2m prijs: 6.99 id: 2 beschrijving: A4 papier prijs: 3.00 id: 65 beschrijving: nietmachine prijs: 2.50 |
Waarom zet je er dan een <br /> in?quote:Op donderdag 24 maart 2011 15:16 schreef xaban06 het volgende:
[..]
Het moet zijn:
[ code verwijderd ]
En niet:
[ code verwijderd ]
Hoezo niet? Zonder de line break krijg ik:quote:Op donderdag 24 maart 2011 15:19 schreef KomtTijd... het volgende:
[..]
Waarom zet je er dan een <br /> in?
1 | id: 5 beschrijving: netwerk kabel 2m prijs: 6.99id: 2 beschrijving: A4 papier prijs: 3.00id: 65 beschrijving: nietmachine prijs: 2.50 |
?quote:Op donderdag 24 maart 2011 15:37 schreef KomtTijd... het volgende:
...Dus, wat is de gulden middenweg?
1 2 3 4 5 | <?php foreach($_SESSION['basket'] as $item){ echo $item['id'] . "," . $item['beschrijving'] . "," . $item['prijs'] . "<br />"; } ?> |
1 2 3 4 5 6 7 8 | <?php foreach ($_SESSION['basket'] as $v1) { foreach ($v1 as $key=>$v2) { echo $key. ': ' .$v2; } echo '<br />'; } ?> |
Baasquote:Op donderdag 24 maart 2011 15:41 schreef lifeblind het volgende:
[ code verwijderd ]
De manier waarop je het nu deed loop je eerst door alle arrays heen per record, en dan ga je per record door alle velden heen loopen, dan krijg je het in dat geval dus inderdaad onder elkaar...
Dat is ook niet wat ik moet hebben, waarschijnlijk ben ik te onduidelijk geweest. Die van lifeblind klopt helemaal.quote:Op donderdag 24 maart 2011 15:43 schreef KomtTijd... het volgende:
[ code verwijderd ]
Als je dat zelf niet kon bedenken, moet je je serieus gaan afvragen of programmeren wel jouw ding is...
Misschien een keer verdiepen in prepared statements.quote:Op donderdag 24 maart 2011 21:25 schreef Keiichi het volgende:
Volgens mij stel ik alleen maar moeilijke vragen hier
Het is me niet helemaal duidelijk wat je bedoelt bedoel je.quote:Op vrijdag 25 maart 2011 10:36 schreef MrNiles het volgende:
ik heb van internet een scripje geplukt dat mijn sql tabel 1op1 overzet in htmltabel
ziet er nu zo uit
maar eigenlijk wil ik iets anders maar ik heb geen idee hoe daar aan te beginnen
Ik zou graag de G_id horizontaal als header hebben, en dan elke G_id maar 1x
als regel zou ik graag de O_id hebben zodat daar dan de j/n/o ingevuld wordt
Wie kan me helpen?
1) dat heeft niets met PHP te makenquote:Op vrijdag 25 maart 2011 22:37 schreef Eline.S het volgende:
Ik ben een dummie, dus volgens mij zit ik goed hier:
Ik probeer de zoekbox rechts iets omlaag te krijgen. Hoe doe ik dat precies?
http://www.succesvolwonen.nl/
Hieronder het onderste stukje van mijn code...
1 2 3 4 5 6 7 | <?php "SELECT gebruikers.*, optredens.*, koppeltabel.* FROM gebruikers INNER JOIN koppeltabel ON (koppeltabel.G_id=gebruikers.G_id) INNER JOIN optredens ON (koppeltabel.O_id=optredens.O_id) WHERE koppeltabel.O_id=$id AND koppeltabel.aanwezig='j' "; ?> |
quote:Op woensdag 30 maart 2011 13:50 schreef GlowMouse het volgende:
Zoek eens op het verschil tussen een LEFT JOIN en een INNER JOIN.
in de koppeltabel koppel ik G_id en O_id aan elkaar, uitkomst is j, n of oquote:daar is je oplossing
joh..dat is wat ik al hadquote:SELECT gebruikers.*, optredens.*, koppeltabel.*
FROM gebruikers
LEFT JOIN koppeltabel ON (koppeltabel.G_id=gebruikers.G_id)
LEFT JOIN optredens ON (koppeltabel.O_id=optredens.O_id)
nu de WHERE nog
Vind het apart dat hij dan gaat zeuren over variabelen terwijl hij de PHP-code blijkbaar gewoon goed uitvoert.quote:
Waarom koppeltabel.O_id=$id? Je zoekt where blahblah='n' or blahblah2 IS NULL.quote:Op woensdag 30 maart 2011 14:55 schreef MrNiles het volgende:
[..]
joh..dat is wat ik al had
ik zat zelf te denken aan zoiets
WHERE koppeltabel.O_id=$id AND koppeltabel.G_id IS NULL
maar dat werkt niet
geen idee...ik wil weten wie nog niets heeft ingevuld voor $idquote:Waarom koppeltabel.O_id=$id? Je zoekt where blahblah='n' or blahblah2 IS NULL.
dat is dus het probleem hierquote:Op woensdag 30 maart 2011 17:56 schreef Tegan het volgende:
koppeltabel.G_id is nooit leeg, want dan zou hij niet voorkomen in koppeltabel?
THANKSquote:Op woensdag 30 maart 2011 20:20 schreef GlowMouse het volgende:
SELECT gebruikers.*, optredens.*, koppeltabel.*
FROM gebruikers
LEFT JOIN koppeltabel ON (koppeltabel.G_id=gebruikers.G_id AND koppeltabel.O_id=$id)
LEFT JOIN optredens ON (koppeltabel.O_id=optredens.O_id)
WHERE koppeltabel.aanwezig='n' OR koppeltabel.G_id IS NULL.
1 2 3 4 5 6 | <AddressDetails xmlns="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0" Accuracy="8"> <Country> <CountryNameCode>NL</CountryNameCode> <CountryName>Nederland</CountryName><AdministrativeArea> <AdministrativeAreaName>Noord-Holland</AdministrativeAreaName> <SubAdministrativeArea><SubAdministrativeAreaName>Amsterdam</SubAdministrativeAreaName> <Locality><LocalityName>Amsterdam</LocalityName><DependentLocality><DependentLocalityName>Binnenstad</DependentLocalityName><Thoroughfare><ThoroughfareName>Leidseplein 15</ThoroughfareName></Thoroughfare></DependentLocality></Locality></SubAdministrativeArea></AdministrativeArea></Country></AddressDetails> |
1 2 3 | $xpath->query('//ge:Placemark/ge:AddressDetails/ge:Country/ge:AdministrativeArea/ge:AdministrativeAreaName'); print_r($pointStr->item(0)->nodeValue); |
1 2 3 4 5 6 7 | <?php if (koppeltabel.aanwezig IS NULL WHERE koppeltabel.O_id IS NULL AND koppeltabel.G_id IS NULL) mysql_query("INSERT INTO koppeltabel(aanwezig, O_id, G_id) VALUES ('$aanwezig','$O_id','$G_id') "); else mysql_query("UPDATE koppeltabel SET aanwezig='$aanwezig' WHERE O_id='$O_id' AND G_id='$G_id' "); ?> |
http://dev.mysql.com/doc/refman/5.0/en/replace.htmlquote:Op donderdag 31 maart 2011 11:54 schreef MrNiles het volgende:
met insert kan ik een waarde niet overschrijven..dat kan alleen met update, toch?
ik wil graag zoiets
maar ik heb geen idee hoe de if opgebouwt mag worden
[ code verwijderd ]
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 | <?php // Set default timezone for DATE/TIME functions if(function_exists('date_default_timezone_set')) { date_default_timezone_set('Europe/Amsterdam'); } include(dirname(__FILE__) . '/library/ideallite.cls.php'); $sOrderId = (empty($_POST['order_id']) ? '' : $_POST['order_id']); $sOrderDescription = (empty($_POST['order_description']) ? '' : $_POST['order_description']); // Upto 32 characters $fOrderAmount = floatval(empty($_POST['order_amount']) ? '' : str_replace(',', '.', $_POST['order_amount'])); $oIdeal = new IdealLite(); $sCurrentUrl = strtolower(substr($_SERVER['SERVER_PROTOCOL'], 0, strpos($_SERVER['SERVER_PROTOCOL'], '/')) . '://' . $_SERVER['SERVER_NAME'] . '/') . substr($_SERVER['SCRIPT_NAME'], 1); $sReturnUrl = substr($sCurrentUrl, 0, strrpos($sCurrentUrl, '/') + 1) . 'step3.php'; // Set shop details $oIdeal->setUrlCancel($sReturnUrl . '?ideal[order]=' . urlencode($sOrderId) . '&ideal[status]=cancel'); $oIdeal->setUrlError($sReturnUrl . '?ideal[order]=' . urlencode($sOrderId) . '&ideal[status]=error'); $oIdeal->setUrlSuccess($sReturnUrl . '?ideal[order]=' . urlencode($sOrderId) . '&ideal[status]=success'); // Set order details $oIdeal->setAmount($fOrderAmount); $oIdeal->setOrderId($sOrderId); $oIdeal->setOrderDescription($sOrderDescription); // Customize submit button $oIdeal->setButton('Betalen met iDEAL'); // Generate form echo '<p>Uw bestelling afrekenen!</p>' . $oIdeal->createForm(); ?> |
quote:Mensen mogen hier alleen hele getallen invullen.
1 2 3 | <?php $fOrderAmount = floatval(empty($_POST['order_amount']) ? '' : str_replace(',', '.', $_POST['order_amount'])); ?> |
Hmm, het is niet mijn code. Het komt van idealsimulator.nl, ik heb alleen de benodigde bankgegevens etc. ingevuld.quote:
1 2 3 4 | // Set order details $oIdeal->setAmount(($fOrderAmount*42.50)+($fOrderAmount*30)); $oIdeal->setOrderId($sOrderId); $oIdeal->setOrderDescription($sOrderDescription); |
Inderdaad. Query of je een record kan vinden wat die bepaalde activatiecode heeft, is het resultaat 0, dan bestaat de code niet.quote:Op donderdag 31 maart 2011 20:46 schreef GlowMouse het volgende:
met een MySQL-query met een WHERE-clause.
1 2 3 4 5 6 7 | $incltotal = $_SESSION['incltotal']; if (empty($count)){ echo "0,00"; } else { echo "".$incltotal."\n"; } |
Als ik het goed begrijp dan "kijkt" ! of de variable bestaat en als deze niet bestaat dan zorgt ? ervoor dat deze vervangen word door 0,00quote:Op vrijdag 1 april 2011 10:22 schreef KomtTijd... het volgende:
En nou niet vergeten uit te zoeken wat je precies doet heh.
1 2 3 | <body onLoad="if (location.href.indexOf('reload')==-1) location.replace(location.href+'?reload')"> Deze vraag word heel vaak gesteld dus even oplossing erbij |
mja, zat daar volgens mij al te kijken, maar kon niet zo snel er wat van vinden. Zal er wel overheen gekeken hebben.quote:
1 2 3 4 5 6 7 8 9 10 11 12 | <html> <head> <title>Welkom</title> <style> class is etc </style> </head> <body> <h1>Welkom</h1> op deze pagina </body> </html> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <?php // Klantnummer map if ( !file_exists ( BASE_PATH . "/aastra/" . VD_KLANTID . "/" ) ) { mkdir ( BASE_PATH . "/aastra/" . VD_KLANTID . "/" ); chmod ( BASE_PATH . "/aastra/" . VD_KLANTID . "/", 0777 ); } // Klanthash map if ( !file_exists ( BASE_PATH . "/aastra/" . VD_KLANTID . "/" . $MySQL_Klant_Assoc['Hash'] . "/" ) ) { mkdir ( BASE_PATH . "/aastra/" . VD_KLANTID . "/" . $MySQL_Klant_Assoc['Hash'] . "/" ); chmod ( BASE_PATH . "/aastra/" . VD_KLANTID . "/" . $MySQL_Klant_Assoc['Hash'] . "/", 0777 ); } ?> |
http://www.php.net/manual/en/domdocument.loadhtml.phpquote:Op zondag 3 april 2011 20:45 schreef ursel het volgende:
Hmm.. Kan toch niet echt eenduidelig wat vinden.
Kan je iets speciefieker zijn hoe ik mijn vraag kan bewerkstelligen?
Stel ik heb onderstaande code:
[ code verwijderd ]
Hoe zou ik dan alleen de head en body terug moeten krijgen als ik om html vraag?
En als ik bijv. head kies dat ik daarna alleen title en style krijg?
Een foutmelding helpt.quote:Op maandag 4 april 2011 10:38 schreef wobbel het volgende:
Ik ben ook weer aan het klooien met PHP en het wil niet helemaal.
Met PHP heb ik de map /www/1000/ aangemaakt, en vervolgens wil ik met een ander script de map /www/1000/abc/ aanmaken. Maar dat lukt niet. Heb met PHP al de rechten op /www/1000/ ingesteld op 0777 maar ik kan er nog steeds geen map in aanmaken. Zal wel iets met de rechten te maken hebben, want /www/1000/ maakt hij wel aan. Als ik met FTP de map /www/1000/ aanmaak gaat het wel goed, en wordt de map /www/1000/abc/ wel door PHP aangemaakt.
Mijn script:
[ code verwijderd ]
error_reporting ( E_ALL ) gebruik ik, maar ik krijg niks.quote:
1 2 3 4 5 6 7 8 | <?php $commando=" SELECT * FROM koppeltabel WHERE O_id=22 AND rating <>0"; $resultaat=mysql_query($commando); while($array=mysql_fetch_array($resultaat)){ echo $array['rating'] . "<br />"; echo array_sum ($array['rating']); } ?> |
Omdat je nu steeds maar 1 variable telt. Je krijgt nu de sum van je huidige rating er elke keer achter.quote:Op maandag 4 april 2011 12:06 schreef MrNiles het volgende:
ik heb zoiets nog niet eerder gedaan..maar waarom telt ie niet op?
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 | <?php $commando=" SELECT * FROM koppeltabel WHERE O_id=22 AND rating <>0"; $resultaat=mysql_query($commando); $optellenaftrekkenenzo = array (); while($array=mysql_fetch_array($resultaat)){ $optellenaftrekkenenzo[] = $array['rating']; echo $array['rating'] . "<br />"; } echo array_sum ($optellenaftrekkenenzo); ?> |
staat display_errors ook aan?quote:Op maandag 4 april 2011 12:04 schreef wobbel het volgende:
[..]
error_reporting ( E_ALL ) gebruik ik, maar ik krijg niks.
ja sorry..bedoelde ik ook..maar ik kan hier mijn post niet editenquote:waarom gebruik je niet je sql ?
select AVG(rating) as 'averagerating', SUM(rating) as 'totalrating' WHERE blah.
Zet je adblocker uit .quote:Op maandag 4 april 2011 13:18 schreef MrNiles het volgende:
[..]
ja sorry..bedoelde ik ook..maar ik kan hier mijn post niet editen
thanks...ga er eens op zoeken
eindeloze discussie...als ie al aanstaat dan kan ik m niet uitzetten ivm de beveiliging van het werkquote:Zet je adblocker uit
&& of || ?quote:Op maandag 4 april 2011 14:19 schreef MrNiles het volgende:
[..]
eindeloze discussie...als ie al aanstaat dan kan ik m niet uitzetten ivm de beveiliging van het werk
nog een ander vraagje
kan ik voor een if functie 2 voorwaarden stellen?
ik wil graag deze 2 combineren:
if ($array['rating']=0){
if ($array['beoordeling']==1) {
hoe werkt zoiets
stomme vraag misschien maar hoe heet zoiets...kan ik wat over opzoekenquote:&& of || ?
http://php.net/manual/en/language.operators.comparison.phpquote:Op maandag 4 april 2011 14:30 schreef MrNiles het volgende:
[..]
stomme vraag misschien maar hoe heet zoiets...kan ik wat over opzoeken
enne..is er ook een naam voor || ?
|| = or-operatorquote:Op maandag 4 april 2011 14:30 schreef MrNiles het volgende:
[..]
stomme vraag misschien maar hoe heet zoiets...kan ik wat over opzoeken
enne..is er ook een naam voor || ?
Op PHP niveau wel en op .htaccess niveau. Kan er alleen geen foutmelding uitkrijgen. Heb helaas geen toegang tot de PHP.ini (is een standaard Plesk server, safe-mode is off)quote:
zet eens phpinfo() vlak boven de regel met mkdir; wat zegt hij over display_errors en error_reporting?quote:Op maandag 4 april 2011 15:35 schreef wobbel het volgende:
[..]
Op PHP niveau wel en op .htaccess niveau. Kan er alleen geen foutmelding uitkrijgen. Heb helaas geen toegang tot de PHP.ini (is een standaard Plesk server, safe-mode is off)
error_reporting E_ALL 6143quote:Op maandag 4 april 2011 15:36 schreef GlowMouse het volgende:
[..]
zet eens phpinfo() vlak boven de regel met mkdir; wat zegt hij over display_errors en error_reporting?
Je kunt ook http://stackoverflow.com/(...)mkdir-fails-from-php proberen.
kan ook heel andersquote:Op donderdag 24 maart 2011 15:43 schreef KomtTijd... het volgende:
[ code verwijderd ]
Als je dat zelf niet kon bedenken, moet je je serieus gaan afvragen of programmeren wel jouw ding is...
Probeer het nog eens, maar nu zonder je adem in te houden terwijl je ondersteboven aan de trapleuning hangt!quote:Op maandag 4 april 2011 18:26 schreef mighty84 het volgende:
[..]
kan ook heel anders
2 echo er in zitten eentje naar foreacht
.quote:Op maandag 4 april 2011 18:39 schreef KomtTijd... het volgende:
[..]
Probeer het nog eens, maar nu zonder je adem in te houden terwijl je ondersteboven aan de trapleuning hangt!
quote:Op maandag 4 april 2011 18:57 schreef mighty84 het volgende:
[..]
.
de code waarin 2 foreach stond , 1 voor regel, 1 voor de columen. Op hiet moment dat de foreach afgelopen is kan je <br/> zetten
quote:Op maandag 4 april 2011 18:39 schreef KomtTijd... het volgende:
[..]
Probeer het nog eens, maar nu zonder je adem in te houden terwijl je ondersteboven aan de trapleuning hangt!
1 2 3 4 5 | <?php echo $array['datum']."<br/>"; echo $array['wat']."<br/>"; echo $array['waar']."<br/>"."<br/>"; ?> |
1 2 3 4 5 | <?php ".$array['datum']." ".$array['wat']." ".$array['waar']." ?> |
je quotes staan verkeerd:quote:Op dinsdag 5 april 2011 11:31 schreef MrNiles het volgende:
hoe kan ik in een mail mijn array laten weergeven?
als ik dit echo werkt het prima op scherm:
[ code verwijderd ]
maar hoe krijg ik dat in een mail verwerkt?
[ code verwijderd ]
op deze manier krijg ik alleen de laatste regel
1 2 3 4 5 | <?php print($array['datum']."\n\r" .$array['wat']."\n\r" .$array['waar']); ?> |
complete codequote:Ik zie helemaal geen code die een mail verstuurt, dus het verbaast me dat je de laatste regel nog ziet.
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 | <?php $con = mysql_connect("xxxx","xx",""); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("login", $con); $sender= "iemands naam<iemand@iets.nl>"; $commando= "SELECT * FROM optredens WHERE optredens.optreden=1 ORDER BY datum ASC"; $resultaat=mysql_query($commando); while($array=mysql_fetch_array($resultaat)){ //echo $array['datum']."<br/>"; //echo $array['wat']."<br/>"; //echo $array['waar']."<br/>"."<br/>"; // The message $message = " TEKST ".$array['datum']." ".$array['wat']." ".$array['waar']." TEKST "; } // Send mail("iemand@gmail.com", "Aanwezigheid optreden", $message, "From: " . $sender. ""); ?> |
Je bedoelt dat je die arrays wil laten zien in een mail?quote:Op dinsdag 5 april 2011 11:31 schreef MrNiles het volgende:
hoe kan ik in een mail mijn array laten weergeven?
als ik dit echo werkt het prima op scherm:
[ code verwijderd ]
maar hoe krijg ik dat in een mail verwerkt?
[ code verwijderd ]
op deze manier krijg ik alleen de laatste regel
flauw.....quote:Op dinsdag 5 april 2011 11:36 schreef GlowMouse het volgende:
Ik zie helemaal geen code die een mail verstuurt, dus het verbaast me dat je de laatste regel nog ziet.
hoe kom je op \n\r?quote:Op dinsdag 5 april 2011 11:38 schreef mschol het volgende:
[..]
je quotes staan verkeerd:
[ code verwijderd ]
zoiets gok ik (even uit de losse pols)
tekst@ nieuwe regel?quote:Op dinsdag 5 april 2011 11:41 schreef GlowMouse het volgende:
Mail moet je binnen de accolades zetten, anders wordt er maar één mail verstuurd.
[..]
hoe kom je op \n\r?
mac gebruikt \rquote:
de query is primaquote:En als alles in dezelfde mail moet komen, moet je [PHP/(My)SQL] voor dummies - deel 89 nog maar eens teruglezen.
dan heb ik ze omgedraaidquote:Op dinsdag 5 april 2011 11:44 schreef GlowMouse het volgende:
[..]
mac gebruikt \r
linux gebruikt \n
windows gebruikt \r\n
maar wie gebruikt \n\r?
kan gebeuren..quote:dan heb ik ze omgedraaid
laatse regel van de arrayquote:Wat zie je als je de mail opent?
dan kom ik ook niet echt verderquote:Ik zie niet zo snel een fout in de code.
In combinatie met deze voor je grafiekjesquote:Op woensdag 6 april 2011 10:39 schreef Sitethief het volgende:
Wie heeft er hier ervaring met het gebruik van Docblocks en de diverse parsers? Ik gebruikte altijd phpdocumentor, maar daar is de support al lang geleden gestopt geloof ik. Ik heb nu Doxygen ontdekt en ik moet zeggen dat de eerst tests niet slecht zijn. Ik was benieuwd naar hoe andere mensen dit doen en de ervaringen met documentatie parsen.
Let ik nooit op.quote:Op woensdag 6 april 2011 17:30 schreef themole het volgende:
Even vanuit mij een vraagje: wat vinden jullie een normale peak memory usage van een php pagina in bijvoorbeeld een cms syteem? Ben namelijk bezig met mijn eigen CMS te schrijven en heb niet echt een idee wat normaal is op dat gebied.
aldus de standaard home pagina die lokaal draait.quote:Generated in 0.267071 seconds by CMS Made Simple using 28 SQL queries and 7656460 bytes of memory (peak memory usage was 8465580)
Ik denk dat daar meerdere redenen voor zijn. Ik denk dat je dat kunt doen om de taal php onder de knie te krijgen en leert van de fouten die je daarbij maakt, om vervolgens stukje bij beetje beter php leert programmeren. Ik denk ook dat het leuk is om een eigen cms te schrijven en _volledig_ in _jouw_ smaak in te richtenquote:Op woensdag 6 april 2011 18:34 schreef KomtTijd... het volgende:
[..]
Mag ik vragen waarom je het 92839289891829ste CMS aan het ontwikkelen bent?
Het CMS is al lang geschreven toen ik net begonnen was met PHP idd om php te leren. En nu ben ik het aan het verbeteren en optimaliseren, is meer een hobbyproject. Ben de afgelopen jaren namelijk flink vooruit gegaan met php.quote:Op woensdag 6 april 2011 19:33 schreef henrivo het volgende:
[..]
Ik denk dat daar meerdere redenen voor zijn. Ik denk dat je dat kunt doen om de taal php onder de knie te krijgen en leert van de fouten die je daarbij maakt, om vervolgens stukje bij beetje beter php leert programmeren. Ik denk ook dat het leuk is om een eigen cms te schrijven en _volledig_ in _jouw_ smaak in te richten
Ik zou me dan afvragen waarom die pagina 28 queries nodig heeft.quote:Op woensdag 6 april 2011 18:34 schreef KomtTijd... het volgende:
[..]
aldus de standaard home pagina die lokaal draait.
Sja, wat staat er allemaal op zo'n pagina?quote:Op woensdag 6 april 2011 19:40 schreef Light het volgende:
[..]
Ik zou me dan afvragen waarom die pagina 28 queries nodig heeft.
Wat/hoe ga je cachen?quote:Op woensdag 6 april 2011 20:00 schreef Chandler het volgende:
Met zoveel queries kun je net zo goed beginnen aan JOOMLA maar serieus, ga lekker cachen, zekers als pagina's toch niet zoveel veranderen!
quote:Op woensdag 6 april 2011 20:00 schreef Chandler het volgende:
Met zoveel queries kun je net zo goed beginnen aan JOOMLA maar serieus, ga lekker cachen, zekers als pagina's toch niet zoveel veranderen!
Met een simpeler template.quote:Generated in 0.164538 seconds by CMS Made Simple using 15 SQL queries and 7292592 bytes of memory (peak memory usage was 7911208)
Beetje laat, maar heb nu de code hierquote:
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 | $opt = array ( 'address' => urlencode($list['streetname'] . ' ' . $list['streetnumber'] . ' ' . $list['province'] . ' ' . $list['state'] . ' Netherlands') , 'output' => 'xml' ); $url = 'http://maps.google.com/maps/geo?q='.$opt['address'].'&output='.$opt['output'].'&oe=utf8&key='.$key; $dom = new DOMDocument(); $dom->load($url); $xpath = new DomXPath($dom); $xpath->registerNamespace('ge', 'http://earth.google.com/kml/2.0'); $statusCode = $xpath->query('//ge:Status/ge:code'); if ($statusCode->item(0)->nodeValue == '200') { $pointStr = $xpath->query('//ge:coordinates'); $point = explode(",", $pointStr->item(0)->nodeValue); $lat = $point[1]; $lon = $point[0]; echo '<pre>'; echo 'Lat: '.$lat.', Lon: '.$lon; echo '</pre>'; $pointStr = $xpath->query('//ge:Placemark/ge:AddressDetails/ge:Country/ge:AdministrativeArea/ge:AdministrativeAreaName'); print_r($pointStr->item(0)->nodeValue); echo '<hr>'; } print_r($dom->saveXML()); die("einde"); |
Ik ben ook benieuwd, was net op zoek naar een simpele manier om die bestanden te parsen .quote:Op donderdag 7 april 2011 09:13 schreef webbyplus het volgende:
Korte vraag; is het mogelijk middels PHP om van een outlook message bestand een aantal zaken te lezen, zoals; titel, body, afzender, etc.?
Ben benieuwd
Hangt een beetje af hoe zo'n bestand is opgebouwd, als het een vrij simpele structuur is als XML ja. Maar waarschijnlijk zal het iets ingewikkelder zijn dan dat.quote:Op donderdag 7 april 2011 09:13 schreef webbyplus het volgende:
Korte vraag; is het mogelijk middels PHP om van een outlook message bestand een aantal zaken te lezen, zoals; titel, body, afzender, etc.?
Ben benieuwd
Hmm, ik denk aan de content waarbij je alleen een controle hoeft toe te passen op wanneer de content is aangepast, dat kan al vele queries schelen, zekers als het meer om views gaat dan om updates!quote:
Top!quote:Op woensdag 6 april 2011 23:43 schreef GlowMouse het volgende:
echo $xpath->evaluate('count(//ge:Placemark)');
echo $xpath->evaluate('count(//ge:Placemark/ge:AddressDetails)');
je ziet het foutgaan
waarom xpath erbij halen? http://www.ibm.com/developerworks/library/os-xmldomphp/
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 | $opt = array ( 'address' => urlencode($list['streetname'] . ' ' . $list['streetnumber'] . ' ' . $list['province'] . ' ' . $list['state'] . ' Netherlands') , 'output' => 'xml' ); $url = 'http://maps.google.com/maps/geo?q=' . $opt['address'] . '&output=' . $opt['output'] . '&oe=utf8&key=' . $key; $doc = new DOMDocument(); $doc->load($url); if ($doc->getElementsByTagName('code')->item(0)->nodeValue == '200') { list($lon, $lat) = explode(",", $doc->getElementsByTagName('coordinates')->item(0)->nodeValue); echo $lon . ' - ' . $lat . '<br />'; echo ' in ' . $doc->getElementsByTagName('SubAdministrativeAreaName')->item(0)->nodeValue . ' en provincie ' . $doc->getElementsByTagName('AdministrativeAreaName')->item(0)->nodeValue; } die("einde"); |
1 2 3 4 5 | | id | naam | datum | | 0 | naam1 | 01-01-11 | | 1 | naam1 | 21-01-11 | | 2 | naam1 | 11-01-11 | | 3 | naam1 | 04-01-11 | |
SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.Niet altijd serieus
quote:Op donderdag 7 april 2011 12:32 schreef themole het volgende:
Sorteren op datum - huidige datum een idee. En dan het absolute getal gebruiken anders is 1 dag in de toekomst verder weg dan twee dagen geleden.Het ligt iets ingewikkelder...SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
1
2
3
4
5
6
7
8
9
10
11
12
13$query = "SELECT
AVG(cijfer),
vakken.vaknaam,
cijfers.cijfer
FROM
cijfers, vakken
GROUP BY
cijfers.vak_id
ORDER BY cijfers.datum DESC
";
Ik wil zegmaar dat er een gemiddeld getal uitkomt daarna het vak en daarna het cijfer met de meest recente datum..Lekker happen
Dat worden twee queries.zie hieronderquote:Op donderdag 7 april 2011 12:37 schreef -Datdus- het volgende:
[..]
Het ligt iets ingewikkelder...
[ code verwijderd ]
Ik wil zegmaar dat er een gemiddeld getal uitkomt daarna het vak en daarna het cijfer met de meest recente datum..
kan ook met een aggregate functie inderdaadquote:Op donderdag 7 april 2011 12:50 schreef KomtTijd... het volgende:
[ code verwijderd ]
Zoiets misschien?
Dat dacht ik ook maar als ik het verander naar bijv: vakken.vaknaam dan laat hij de cijfers weer niet goed zien.quote:
quote:Op donderdag 7 april 2011 20:35 schreef PiRANiA het volgende:
Ik zoek een standalone colorpicker. Wie heeft een tip?
quote:
1 | $query = "select avg(cijfer), vaknaam from vakken left join cijfer on vakken.id = cijfers.vak_id group by vaknaam"; |
Heet die tweede tabel cijfer of cijfers? Bij de join ga je uit van het eerste, bij de ON erna van het tweede. Dat gaat niet werken.quote:Op vrijdag 8 april 2011 09:44 schreef -Datdus- het volgende:
[..]
[ code verwijderd ]
Ik krijgt trouwens te zien undefined index 'cijfers'.
Waarom helemaal met een SUM? Je kunt toch gewoon sorteren op 'flighttime'?quote:Op zondag 10 april 2011 23:10 schreef KomtTijd... het volgende:
Ik heb een tabel met: pilot_id, flighttime
Nu wil ik een soort van ranglijst maken, met welke piloot de meeste vlieguren heeft. Dus voor iedere pilot_id moet een SUM(flighttime) uitgevoerd worden, en dan moeten de pilot_id's op volgorde van SUM(flighttime) weergegeven worden...
Schudt iemand zo'n query zo uit zijn mouw?
Waarschijnlijk is het een tabel waar een piloot meerder vlieguren(vluchten) kan maken. Dan moet je eerst alle vliegtijden van een piloot bij elkaar optellen.quote:Op zondag 10 april 2011 23:11 schreef boem-dikkie het volgende:
[..]
Waarom helemaal met een SUM? Je kunt toch gewoon sorteren op 'flighttime'?
Uit mijn mouw komt dan:quote:Op zondag 10 april 2011 23:10 schreef KomtTijd... het volgende:
Ik heb een tabel met: pilot_id, flighttime
Nu wil ik een soort van ranglijst maken, met welke piloot de meeste vlieguren heeft. Dus voor iedere pilot_id moet een SUM(flighttime) uitgevoerd worden, en dan moeten de pilot_id's op volgorde van SUM(flighttime) weergegeven worden...
Schudt iemand zo'n query zo uit zijn mouw?
1 2 3 4 | SELECT pilot_id, SUM(flighttime) AS sum_flighttime FROM table GROUP BY pilot_id ORDER BY sum_flighttime ASC |
een preg_match in een while of for loop?quote:Op maandag 11 april 2011 15:03 schreef erikkll het volgende:
Vraagje! Ik heb een waardes in een array. Een voorbeeldwaarde is:
Dit is een test [[klantnaam]]
Wat is de makkelijkste manier om alle klantnamen te achterhalen? Ze staan dus altijd in blokhaakjes. Iets van een filtermethode?
ah! Dat lijkt me een goeie. Ga ik mee experimenteren!quote:Op maandag 11 april 2011 15:05 schreef GlowMouse het volgende:
preg_match_all met regexp /\[\[(.*)\]\]/U
Als je gewoon aangeeft welk probleem je ermee hebt, krijg je vast sneller een oplossing dan wanneer je alleen vraagt of iemand er verstand van heeft.quote:
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 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 | <?php error_reporting(0); $map = 'fotoalbum'; $afbeeldingen = array(); $hoogte_klein = 100; $breedte_klein = 150; $hoogte_groot = 400; $breedte_groot = 600; $perpagina = 6; if(isset($_GET['album']) && !empty($_GET['album'])) { $tmp = explode('/',$_GET['album']); if($tmp[0] == $map) { $map = str_replace(array('.', '\\', ':'), '', $_GET['album']); } } if(isset($_GET['paginanr']) && !empty($_GET['paginanr']) && ctype_digit($_GET['paginanr'])) { $paginanr = $_GET['paginanr']; }else{ $paginanr = 1; } if(isset($_GET['afbeelding']) && !empty($_GET['afbeelding'])) { $afbeelding = $_GET['afbeelding']; }else{ $afbeelding = NULL; } function thumbnail($afbeelding, $type) { $map = $afbeelding['dirname']; $bestandsnaam = $afbeelding['basename']; list($type, $hoogte, $breedte) = $type; list($breedte_origineel, $hoogte_origineel, $extensie) = getimagesize($map.'/'.$bestandsnaam); if(!is_dir($map.'/thumbs/')) { mkdir($map.'/thumbs/', 0777); chmod($map.'/thumbs/', 0777); } if (($breedte_origineel < $hoogte_origineel) && ($breedte > $hoogte)) { $breedte = ($hoogte / $hoogte_origineel) * $breedte_origineel; }else{ $hoogte = ($breedte / $breedte_origineel) * $hoogte_origineel; } $afbeelding = imagecreatetruecolor($breedte, $hoogte); switch($extensie) { case 1: //gif $afbeelding_origineel = imagecreatefromgif($map.'/'.$bestandsnaam); imagecopyresampled($afbeelding, $afbeelding_origineel, 0, 0, 0, 0, $breedte, $hoogte, $breedte_origineel, $hoogte_origineel); imagegif($afbeelding, $map.'/thumbs/'.$type.'_'.$bestandsnaam); break; case 2: //jpg $afbeelding_origineel = imagecreatefromjpeg($map.'/'.$bestandsnaam); imagecopyresampled($afbeelding, $afbeelding_origineel, 0, 0, 0, 0, $breedte, $hoogte, $breedte_origineel, $hoogte_origineel); imagejpeg($afbeelding, $map.'/thumbs/'.$type.'_'.$bestandsnaam, 80); break; case 3: //png $afbeelding_origineel = imagecreatefrompng($map.'/'.$bestandsnaam); $background = imagecolorallocate($afbeelding, 0, 0, 0); imagecolortransparent($afbeelding, $background); // make the new temp image all transparent imagealphablending($afbeelding, false); // turn off the alpha blending to keep the alpha channel imagesavealpha($afbeelding, true); imagecopyresampled($afbeelding, $afbeelding_origineel, 0, 0, 0, 0, $breedte, $hoogte, $breedte_origineel, $hoogte_origineel); imagepng($afbeelding, $map.'/thumbs/'.$type.'_'.$bestandsnaam); break; } chmod($map.'/thumbs/'.$type.'_'.$bestandsnaam, 0777); return TRUE; } $tmp = NULL; foreach(explode('/',$map) as $tmp2) { echo ' <a href="?pagina=fotoalbum&album='.$tmp.$tmp2.'">'.ucfirst($tmp2).'</a> '; $tmp = $tmp.$tmp2.'/'; } echo '<br><br>'.PHP_EOL; if(!$bestanden = glob($map.'/*.*')) { $bestanden = array(); } foreach($bestanden as $bestand) { $gegevens = getimagesize($bestand); $extensie = $gegevens['mime']; if($extensie == 'image/jpeg' || $extensie == 'image/gif' || $extensie == 'image/png') { $afbeeldingen[] = $bestand; } } $aantalfotos = count($afbeeldingen); if(isset($afbeelding)) { foreach($afbeeldingen as $id => $naam) { if(basename($naam) == $afbeelding) { $fotonr = $id; } } if(isset($fotonr)) { $afbeelding = pathinfo($afbeeldingen[$fotonr]); if($fotonr > 0) { $vorige_afbeelding = pathinfo($afbeeldingen[$fotonr-1]); echo '<a href="?pagina=fotoalbum&album='.$map.'&afbeelding='.$vorige_afbeelding['basename'].'" title="Ga naar foto '.$vorige_afbeelding['basename'].'"><< Vorige</a>'; }else{ echo '<< Vorige'; } echo ' Foto '.($fotonr +1).' van '.$aantalfotos.' '; if($fotonr < $aantalfotos -1) { $volgende_afbeelding = pathinfo($afbeeldingen[$fotonr+1]); echo '<a href="?pagina=fotoalbum&album='.$map.'&afbeelding='.$volgende_afbeelding['basename'].'" title="Ga naar foto '.$volgende_afbeelding['basename'].'">Volgende >></a><br>'; }else{ echo 'Volgende >><br>'.PHP_EOL; } if(!file_exists($afbeelding['dirname'].'/thumbs/groot_'.$afbeelding['basename'])) { if(thumbnail($afbeelding, array('groot', $hoogte_groot, $breedte_groot))) { echo '<a href="'.$afbeelding['dirname'].'/'.$afbeelding['basename'].'" target="_BLANK"><img src="'.$afbeelding['dirname'].'/thumbs/groot_'.$afbeelding['basename'].'" title="'.$afbeelding['basename'].'" alt="'.$afbeelding['basename'].'" class="thumbs"></a>'.PHP_EOL; } }else{ echo '<a href="'.$afbeelding['dirname'].'/'.$afbeelding['basename'].'" target="_BLANK"><img src="'.$afbeelding['dirname'].'/thumbs/groot_'.$afbeelding['basename'].'" title="'.$afbeelding['basename'].'" alt="'.$afbeelding['basename'].'" class="thumbs"></a>'.PHP_EOL; } }else{ echo '<p>Sorry, deze foto bestaat niet!</p>'; } }else{ if(!$mappen = glob($map.'/*', GLOB_ONLYDIR)) { $mappen = array(); } foreach($mappen as $album) { if(basename($album) != 'thumbs') { echo '<a href="?pagina=fotoalbum&album='.$album.'">'.ucfirst(basename($album)).'</a><br>'.PHP_EOL; } } if($aantalfotos > $perpagina) { if ($paginanr > 1) { echo '<a href="?pagina=fotoalbum&album='.$map.'&paginanr='.($paginanr - 1).'" title="Ga naar pagina '.($paginanr - 1).'"><< Vorige</a>'; }else{ echo '<< Vorige'; } echo ' Pagina '.$paginanr.' van '.ceil($aantalfotos/$perpagina).' '; if ($paginanr < ceil(($aantalfotos)/$perpagina)) { echo '<a href="?pagina=fotoalbum&album='.$map.'&paginanr='.($paginanr + 1).'" title="Ga naar pagina '.($paginanr + 1).'">Volgende >></a><br>'; }else{ echo 'Volgende >><br>'.PHP_EOL; } } for($fotonr = (($paginanr -1) * $perpagina); $fotonr <= ((($paginanr -1) * $perpagina) + ($perpagina - 1)) && $fotonr < count($bestanden); $fotonr += 1) { $afbeelding = pathinfo($afbeeldingen[$fotonr]); if(!file_exists($afbeelding['dirname'].'/thumbs/klein_'.$afbeelding['basename'])) { if(thumbnail($afbeelding, array('klein', $hoogte_klein, $breedte_klein))) { echo '<a href="?pagina=fotoalbum&album='.$map.'&afbeelding='.$afbeelding['basename'].'"><img src="'.$afbeelding['dirname'].'/thumbs/klein_'.$afbeelding['basename'].'" title="'.$afbeelding['basename'].'" alt="'.$afbeelding['basename'].'" class="thumbs"></a>'.PHP_EOL; } }else{ echo '<a href="?pagina=fotoalbum&album='.$map.'&afbeelding='.$afbeelding['basename'].'"><img src="'.$afbeelding['dirname'].'/thumbs/klein_'.$afbeelding['basename'].'" title="'.$afbeelding['basename'].'" alt="'.$afbeelding['basename'].'" class="thumbs"></a>'.PHP_EOL; } } } ?> |
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 | set TABLES; set DAYS; set PERSONS; var location{p in PERSONS, t in TABLES, d in DAYS}, binary; var peoplemeet{p1 in PERSONS, p2 in PERSONS, t in TABLES, d in DAYS}, binary; minimize find_feasible: 1; subject to nevermorethantwiceatsameplace{p in PERSONS, t in TABLES}: sum{d in DAYS} location[p,t,d] <= 2; subject to alwaysatoneplace{p in PERSONS, d in DAYS}: sum{t in TABLES} location[p,t,d] = 1; subject to meeting{p1 in PERSONS, p2 in PERSONS, d in DAYS, t in TABLES : p1<p2}: 2*peoplemeet[p1,p2,t,d] <= location[p1,t,d]+location[p2,t,d]; subject to everybodymeets{p1 in PERSONS, p2 in PERSONS : p1<p2}: sum{t in TABLES, d in DAYS} peoplemeet[p1,p2,t,d] >= 1; subject to maxtablesize{d in DAYS, t in TABLES}: sum{p in PERSONS} location[p,t,d] = 2; solve; for{p in PERSONS} { for{d in DAYS} { for{t in TABLES : location[p,t,d] == 1} { printf "Persoon %s op dag %s aan tafel %s\n", p, d, t; } } } data; set TABLES := 1 2 3 4; set DAYS := 1 2 3 4 5 6 7; set PERSONS := 1 2 3 4 5 6 7 8; end; |
1 | C:\glpk\bin>glpsol.exe --math file.txt |
Shoot.quote:
Ik ben het aan het proberen, hopelijk komt er iets moois uit. Wat is 'even'?quote:Op woensdag 13 april 2011 19:44 schreef GlowMouse het volgende:
Deze post heb ik eerder eens gemaakt voor een vergelijkbaar probleem:
Het model zet je in een tekstbestand (zeg file.txt)
[ code verwijderd ]
Daarna krijg je met dit commando na een tijdje of er een dergelijk eetschema bestaat. Kan even duren overigens
[ code verwijderd ]
Dan speelt niet iedereen tegen iedereen.quote:
Ik denk niet dat je lang hoeft te wachten.quote:Op woensdag 13 april 2011 19:51 schreef Habork het volgende:
[..]
Ik ben het aan het proberen, hopelijk komt er iets moois uit. Wat is 'even'?
Hij draait nu, 300.0 secs. Heb de tijd nog dus. Als ik zo naar de code kijk begrijp ik dat het algoritme gewoon blijft proberen totdat hij een goed schema heeft?quote:Op woensdag 13 april 2011 19:57 schreef GlowMouse het volgende:
[..]
Dan speelt niet iedereen tegen iedereen.
[..]
Ik denk niet dat je lang hoeft te wachten.
Dezelfde als jij gegeven hebt alleen het aantal tafels aangepast:quote:Op woensdag 13 april 2011 20:04 schreef GlowMouse het volgende:
Hij doet het wel iets slimmer; de theorie staat oa. in http://www.rpi.edu/~mitchj/papers/mitche2.pdf
Welke inputfile heb je gemaakt?
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 | set TABLES; set DAYS; set PERSONS; var location{p in PERSONS, t in TABLES, d in DAYS}, binary; var peoplemeet{p1 in PERSONS, p2 in PERSONS, t in TABLES, d in DAYS}, binary; minimize find_feasible: 1; subject to nevermorethantwiceatsameplace{p in PERSONS, t in TABLES}: sum{d in DAYS} location[p,t,d] <= 2; subject to alwaysatoneplace{p in PERSONS, d in DAYS}: sum{t in TABLES} location[p,t,d] = 1; subject to meeting{p1 in PERSONS, p2 in PERSONS, d in DAYS, t in TABLES : p1<p2}: 2*peoplemeet[p1,p2,t,d] <= location[p1,t,d]+location[p2,t,d]; subject to everybodymeets{p1 in PERSONS, p2 in PERSONS : p1<p2}: sum{t in TABLES, d in DAYS} peoplemeet[p1,p2,t,d] >= 1; subject to maxtablesize{d in DAYS, t in TABLES}: sum{p in PERSONS} location[p,t,d] = 2; solve; for{p in PERSONS} { for{d in DAYS} { for{t in TABLES : location[p,t,d] == 1} { printf "Persoon %s op dag %s aan tafel %s\n", p, d, t; } } } data; set TABLES := 1 2 3 4 5 6 7; set DAYS := 1 2 3 4 5 6 7; set PERSONS := 1 2 3 4 5 6 7 8; end; |
In de 8e speelronde speelt ieder team tegen een team waar ze al een keer tegen gespeeld hebben. Ik begreep uit de constraints dat dit geen mogelijkheid is dus dat kan ik er zelf naderhand makkelijk bij verzinnen.quote:Op woensdag 13 april 2011 20:30 schreef GlowMouse het volgende:
even de vertaling maken:
-8 teams PERSONS
-8 speelrondes DAYS
-8 verschillende spellen TABLES
Voor de overzichtelijkheid hernoem je alles. Ik snap niet waarom je TABLES en DAYS maar tot 7 laat lopen.
En nu de constraints aflopen:
subject to nevermorethantwiceatsameplace{p in PERSONS, t in TABLES}:
sum{d in DAYS} location[p,t,d] <= 2;
dit zou =1 moeten zijn.
Je eist nu dat ze in de eerste 7 rondes telkens tegen iemand anders spelen. Dat is een sterkere eis dan aanvankelijk gesteld.quote:In de 8e speelronde speelt ieder team tegen een team waar ze al een keer tegen gespeeld hebben.
if ($_SESSION['G_name']=="empty") { ???quote:if(iets wat waar is als iemand niet is ingelogd) {
include('file.inc.php');
}
Eh, wat snap je niet aan wat hij zei?quote:Op woensdag 13 april 2011 20:55 schreef MrNiles het volgende:
[..]
if ($_SESSION['G_name']=="empty") { ???
zoiets maar dan goed
Ergen op je pagina bepaal je of iemand is ingelogd de ja of de nee. Waarschijnlijk komt daar een boolean uitgerold. Bijvoorbeeld $loginquote:Op woensdag 13 april 2011 20:55 schreef MrNiles het volgende:
[..]
if ($_SESSION['G_name']=="empty") { ???
zoiets maar dan goed
iets wat waar is, is dat $_session['G_name'] empty isquote:Op woensdag 13 april 2011 20:57 schreef Tegan het volgende:
[..]
Eh, wat snap je niet aan wat hij zei?
http://lmgtfy.com?q=php+emptyquote:Op woensdag 13 april 2011 20:59 schreef MrNiles het volgende:
[..]
iets wat waar is, is dat $_session['G_name'] empty is
maar hoe schrijf ik dat op dat php dat snapt
if(!(isset($_SESSION['G_name'])))quote:Op woensdag 13 april 2011 20:59 schreef MrNiles het volgende:
[..]
iets wat waar is, is dat $_session['G_name'] empty is
maar hoe schrijf ik dat op dat php dat snapt
?? Ik programmeer net 'n weekje in PHP dus ben hier niet bekend mee. Heb je 'n paar linkjes/zoektermen voor me?quote:Op woensdag 13 april 2011 21:15 schreef GlowMouse het volgende:
Gevaarlijk bij shared hosting, waar het niet moeilijk is om sessie-vars in te stellen.
En waar staat een session in?quote:
Hoe weet de server bij een volgende request welke sessie bij jou hoort?quote:
hoe serveer jij php files?quote:
Uitgeprint op een bordje met peper en zout.quote:
1 2 3 4 5 6 7 8 9 | $query = mysql_query($sql); $items = mysql_num_rows($query); for ($x = 0; $x < $items; $x++) { $list = mysql_fetch_assoc($query); mysql_query("UPDATE tabel SET xx = xx +1 WHERE id = '" . $list['id'] . "' LIMIT 1"); } |
Dat kan.quote:Op donderdag 14 april 2011 17:11 schreef Chandler het volgende:
Snelle vraag,
Stel ik voer een query uit die 100 items uit de database leest en wil per item een actie uitvoeren en deze updaten, kan ik dan de update ook in de loop verwerken?
vb;
[ code verwijderd ]
heb even geen webserver ter beschikking om het te testen, even een hersen spinsel
1 2 3 | <?php mysql_query("UPDATE tabel SET xx = xx +1 WHERE id IN (".$sql.")"); ?> |
1 2 3 4 5 6 | : Uncaught exception 'ImagickException' with message 'unable to open file `/tmp/magick-RldtNfqg': @ error/constitute.c/ReadImage/571' in /xxx.nl/public_html/mtest/test.php:23 Stack trace: #0 /xxx.nl/public_html/mtest/test.php(23): Imagick->readimage('../imgbase/2008...') #1 /xxx.nl/public_html/mtest/test.php(108): compressImageToMax('../imgbase/2008...', '5082-1302778679') #2 {main} thrown in |
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 | <table> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> <?php include("database.php"); $speelronde = $_POST['speelronde']; $sql = ("SELECT * FROM Wedstrijden WHERE WSpeelronde='".$speelronde."' ORDER BY WWedstrijdID"); $uitvoer = mysql_query($sql) or die (mysql_error()); while($result = mysql_fetch_array($uitvoer)){ ?> <tr> <td><?php print $result['WThuisploeg']; ?><input name="WThuisploeg" value="<?php print $result['WThuisploeg']; ?>" size="1" type="hidden"/></td> <td>-</td> <td><?php print $result['WUitploeg']; ?><input name="WUitploeg" value="<?php print $result['WUitploeg']; ?>" size="1" type="hidden"/></td> <td><input name="ScoreThuis" size="1" /></td> <td>-</td> <td><input name="ScoreUit" size="1" /></td></tr> <?php } ?> <tr><td><input type="submit" value="Invoeren" /></td></tr></form></table> <?php if($_SERVER['REQUEST_METHOD'] == 'POST'){ $WScoreThuis = $_POST['ScoreThuis']; $WScoreUit = $_POST['ScoreUit']; $WThuisploeg = $_POST['WThuisploeg']; $WUitploeg = $_POST['WUitploeg']; $sql1 = ("UPDATE Wedstrijden SET WScoreThuis='".$WScoreThuis."', WScoreUit='".$WScoreUit."' WHERE WThuisploeg='".$WThuisploeg."' AND WUitploeg='".$WUitploeg."' "); $invoer = mysql_query($sql1) or die (mysql_error()); } ?> |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |