quote:
1 2 3 4 | <?php $fileType = '[jJ][pP][gG]'; foreach (glob($path."*.".$fileType) as $filename) { ?> |
Met array_walk kun je die foreach nog wegwerken.quote:
array_rand() is nog netter, dan krijg je 1 (of meer) random key uit de array. Werkt ook met niet-numerieke keys.quote:Op donderdag 24 februari 2011 16:54 schreef GlowMouse het volgende:
rand lijkt me sneller als je een grote array hebt.
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 $newsid = $_GET['newsid']; $query = "SELECT reactieid, newsid, reactiebericht, reactieposter, reactiedatum, reactietijd FROM newsreactie WHERE newsid =$newsid "; $result = mysql_query($query); $aantalrijen = mysql_num_rows($result); while ($row = mysql_fetch_array($result)) { if( $aantalrijen == 0) { echo "<div class='info reactie2'> <p>Er zijn nog geen reacties op dit bericht.</p> </div>"; } else { $bericht = nl2br("$row[reactiebericht]"); $maand = substr("$row[reactiedatum]", -5, 2); $dag = substr("$row[reactiedatum]", -2, 2); $jaar = substr("$row[reactiedatum]", -11, 4); $tijd = substr("$row[reactietijd]", -8, 5); echo "<div class='info reactie2'> <p>$bericht</p> </div> <div class='reactie3'> <h2>Geplaatst door: $row[reactieposter] op $dag-$maand-$jaar om $tijd</h2> </div>"; } } ?> |
mysql_num_rows uit de while-loop halen. Deze controle is slechts één keer nuttig...quote:Op zaterdag 26 februari 2011 01:03 schreef Dennis82 het volgende:
Ik kom er even niet meer uit. Ik wil iets heel eenvoudigs. Namelijk dat als er geen rows uit een database worden gehaald er een melding komt en zodra er wel row uit de database komt, dan moet hij die info weergeven. Dit is mijn code:
[ code verwijderd ]
Hiermee laat hij echter gewoon de reactie zien als er wel wat uit de query komt en niets zodra er ook niets uit de query komt.
Ik heb zelf een echo op de $aantalrijen gedaan en dan komt er wel netjes 1 of 0 uit.
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 | <?php include 'includes/dbconnect.inc.php'; include 'includes/appinfo.inc.php'; include 'includes/bouncer.inc.php'; $id = $_SESSION['ingelogd']; //$getty = mysql_query("SELECT * FROM gebruker WHERE id=$id"); //$getty2 = mysql_fetch_assoc($getty); //$username = $getty2['username']; // This code is released under GPL 3.0 which is included in the bundle // Files to hide in the directory listing // add and subtract as you please $hide = array( 'resources', 'index.php', '.htaccess', '.htpasswd', '.DS_Store'); error_reporting(E_ERROR); // When downloading force it to actually download // rather than just open it in the browser if ($_GET['download']) { $file = str_replace('/', '', $_GET['download']); $file = str_replace('..', '', $file); if (file_exists($file)) { header("Content-type: application/x-download"); header("Content-Length: ".filesize($file)); header('Content-Disposition: attachment; filename="'.$file.'"'); readfile($file); die(); } } $filepath = "/data/$user/"; $scriptname = basename($filepath); $readpath = str_replace($scriptname, "", $filepath); $handle = opendir($readpath); // If deleting if (isset($_GET['rmfile'])) { unlink($readpath . $_GET['rmfile']); } // If uploading if ($_FILES['file']) { $success = move_uploaded_file($_FILES['file']['tmp_name'], $_FILES['file']['name']); } while ($file = readdir($handle)) { if ($file == "." || $file == ".." || in_array($file, $hide)) continue; $key = @filemtime($file); $files[$key] = $file; } closedir($handle); // Sort our files @ksort($files, SORT_NUMERIC); $files = @array_reverse($files); ?> <!DOCTYPE html> <html> <head> <title>Super Simple PHP File Manager</title> <link rel="stylesheet" type="text/css" href="../../media/styles.css" /> </head> <body> <?php $baseurl = $_SERVER['PHP_SELF']; ?> <table border="0" cellspacing="5" cellpadding="5"> <?php $arsize = sizeof($files); for ($i=0; $i<$arsize; $i++) { $ext = strtolower(substr($files[$i], strrpos($files[$i], '.')+1)); $filename = stripslashes($files[$i]); $fileurl = $files[$i]; if (strlen($filename) > 43) { $filename = substr($files[$i], 0, 40) . '...'; } ?> <tr> <td><img src="../../media/zip.gif" /></td> <td><a href="./index.php?download=<?php echo $filename; ?>"><?php echo $filename; ?></a></td> <td><?php echo round(filesize($leadon.$files[$i])/1024); ?>KB</td> <td><?php echo date ("d/m/y", filemtime($leadon.$files[$i]));?></td> <td><a href="./index.php?rmfile=<?php echo $filename; ?>">Delete</a></td> </tr> <?php } ?> </table> <div id="upload"> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>" enctype="multipart/form-data"> <p><input type="file" name="file" /></p> <p><input type="submit" value="Upload" /></p> </form> </div> </body> </html> |
1 2 3 | <?php $success = move_uploaded_file($_FILES['file']['tmp_name'], $_FILES['file']['name']); ?> |
Tegenwoordig downloaden we tutorials via het net. Althans ik.quote:Op maandag 28 februari 2011 21:52 schreef Jump het volgende:
83 delen verder staat mijn grapje van "cd niet bijgeleverd" nog altijd in de OP
quote:Op maandag 28 februari 2011 23:36 schreef Ofyles2 het volgende:
[..]
Tegenwoordig downloaden we tutorials via het net. Althans ik.
Wel gecombineerd met literatuur kopen...
Op basis van jouw advies heb ik de volgende query gemaakt:quote:
1 2 3 4 5 6 | SELECT swtickets.ticketid, swtickets.subject, swtickets.email,open.dateline, close.dateline, response.dateline FROM swtickets JOIN swauditlogs open ON(swtickets.ticketid=open.ticketid AND open.actiontype=11) JOIN swauditlogs close ON(swtickets.ticketid=close.ticketid AND close.actiontype=8 AND close.actionmsg LIKE '%to: Nog te factureren%') JOIN swauditlogs response ON(swtickets.ticketid=response.ticketid AND response.actiontype=12) WHERE (swtickets.ticketstatusid=3 OR swtickets.ticketstatusid=4) AND swtickets.email LIKE '%trinicom%' |
Zoals je ziet zijn de records hetzelfde, met uitzondering van het laatste veld. Hoe kan ik er nu voor zorgen dat alleen de record met de LAAGSTE waarde van response.dateline wordt weergegeven?quote:9668 Email aanmaken mailadres@adres.nl 1298907438 1298966816 1298965276
9668 Email aanmaken mailadres@adres.nl 1298907438 1298966816 1298965822
9668 Email aanmaken mailadres@adres.nl 1298907438 1298966816 1298966801
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php $filepost = $_POST['filename']; $extensie=".php"; $filename = $filepost.$extensie ; $file = $filename; $handle = fopen($file, 'w'); $data = "Jane Doe\n"; fwrite($handle, $data); $data = include 'galleria.php'; fwrite($handle, $data); print "Data Written"; fclose($handle); ?> |
1 2 3 | <?php $data = file_get_contents('galleria.php'); ?> |
je hebt gelijkquote:$filename via $_POST is niet handig, wat als $filepost = 'index'?
dit heb ik inmiddels opgelost!quote:Op dinsdag 1 maart 2011 10:34 schreef erikkll het volgende:
[..]
Op basis van jouw advies heb ik de volgende query gemaakt:
[ code verwijderd ]
Mooi he?
Nu heb ik nog een vraagje. Daarvoor geef ik even een mogelijk resultaat:
[..]
Zoals je ziet zijn de records hetzelfde, met uitzondering van het laatste veld. Hoe kan ik er nu voor zorgen dat alleen de record met de LAAGSTE waarde van response.dateline wordt weergegeven?
1 2 3 4 5 6 7 | SELECT swtickets.ticketid, swtickets.subject, swtickets.email, open.dateline, close.dateline, MIN(response.dateline) FROM swtickets JOIN swauditlogs open ON(swtickets.ticketid=open.ticketid AND open.actiontype=11) JOIN swauditlogs close ON(swtickets.ticketid=close.ticketid AND close.actiontype=8 AND close.actionmsg LIKE '%to: Nog te factureren%') JOIN swauditlogs response ON(swtickets.ticketid=response.ticketid AND response.actiontype=12) WHERE (swtickets.ticketstatusid=3 OR swtickets.ticketstatusid=4) AND swtickets.email LIKE '%trinicom%' GROUP BY swtickets.ticketid |
Geen probleem. Ik werd er inmiddels enigszins moedeloos van, tot ik dit vond:quote:
Mooie query trouwens he? Helemaal naar jouw voorbeeld.quote:
Hmm. Ja, nouja, close.dateline kan meerdere keren voorkomen; het gaat om een ticket-systeem dat wij gebruiken. Die close.dateline is het moment dat een ticket naar 'Nog te factureren' wordt gezet. Het komt echter voor dat mensen dan een reactie in het ticket zetten, en dan gaat het automatisch terug naar 'Eerste lijn'.quote:Op dinsdag 1 maart 2011 19:52 schreef GlowMouse het volgende:
Ja, ik ben trots op je notatie. Let alleen wel op dat open.dateline en close.dateline uniek zijn bij één ticketid.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |