1 2 | print date("Y-m-d",$tijd); |
$tijd moet een integer zijn, het is nu toch een string?quote:Op zondag 4 maart 2007 01:38 schreef beerten het volgende:
Hmmm, een simpel probleem, waarvoor ik de oplossing zo niet vind.
In een tabel in de database staat de tijd als unix timestamp (seconden sinds epoch) Hier wil ik een gewone leesbare datum van maken. Hoe?
[ code verwijderd ]
Doet het dus niet. Wat is de truck???
Dit output hier "2006-04-04", zou moeten werken?quote:Op zondag 4 maart 2007 01:38 schreef beerten het volgende:
Hmmm, een simpel probleem, waarvoor ik de oplossing zo niet vind.
In een tabel in de database staat de tijd als unix timestamp (seconden sinds epoch) Hier wil ik een gewone leesbare datum van maken. Hoe?
[ code verwijderd ]
Doet het dus niet. Wat is de truck???
Het is een integer. En zelfs als ik het quote en er een string van maak doet hij het alsnog goed. PHP is daar niet zo streng meequote:Op zondag 4 maart 2007 01:38 schreef mschol het volgende:
ordinaire terug vind post
[..]
$tijd moet een integer zijn, het is nu toch een string?
"Doet het dus niet"quote:Op zondag 4 maart 2007 01:38 schreef beerten het volgende:
Doet het dus niet. Wat is de truck???
http://nl3.php.net/staticquote:Op zondag 4 maart 2007 18:32 schreef broodmonkeh het volgende:
laat maar
thnx zal er naar kijken , maar ik heb het opgelost door gewoon die 2 functies in 1 functie te stoppen. Niet netjes maar tochquote:
1 |
En op je server is dat altijd 1.0 hoger?quote:Op maandag 5 maart 2007 10:18 schreef Chandler het volgende:
$cnt = een mysql_result die altijd 0 of hoger is...
post is wat meer gegevens joh, hiermee is het alleen maar gissen...quote:Op maandag 5 maart 2007 13:03 schreef Chandler het volgende:
hoezo? Geqxon? ik snap je vraag niet!
Ik denk dat $cnt voor count staatquote:Op maandag 5 maart 2007 14:27 schreef ralfie het volgende:
[..]
post is wat meer gegevens joh, hiermee is het alleen maar gissen...
Vanavond ga ik naar een cabaret voorstellingen maar ik zal morgen ff kijken wat dat ding precies doet en of het dan beter werkt.quote:Op zaterdag 3 maart 2007 17:41 schreef Swetsenegger het volgende:
[..]
Magic quotes zal waarschijnlijk aanstaan.
*zucht*, zoals gezegd alles door strip_slashes deep trekken ALS magiq quotes aanstaan en met mysql_real_escape_string naar db schrijven. Dan kan je vervolgens zonder probleem de data UIT database presenteren zonder strip_slashes.quote:Op maandag 5 maart 2007 18:13 schreef splendor het volgende:
[..]
Vanavond ga ik naar een cabaret voorstellingen maar ik zal morgen ff kijken wat dat ding precies doet en of het dan beter werkt.
Het liefste wil ik gewoon 1 malig addslashes en niet later nog eens overal stripslashes uitvoeren, tenzij het de veiligheid in de weg staat, veiligheid boven alles natuurlijk.
Het is goed bedoeld dat weet ik wel.quote:Op maandag 5 maart 2007 18:21 schreef Swetsenegger het volgende:
[..]
*zucht*, zoals gezegd alles door strip_slashes deep trekken ALS magiq quotes aanstaan en met mysql_real_escape_string naar db schrijven. Dan kan je vervolgens zonder probleem de data UIT database presenteren zonder strip_slashes.
Je moet encoding alleen gebruiken waar het nodig is. Het is niet handig om standaard alle input door addslashes() heen te halen (zoals magic quotes doet) omdat het misschien wel eens in een SQL statement gebruikt gaat worden.quote:Op maandag 5 maart 2007 18:13 schreef splendor het volgende:
Het liefste wil ik gewoon 1 malig addslashes en niet later nog eens overal stripslashes uitvoeren, tenzij het de veiligheid in de weg staat, veiligheid boven alles natuurlijk. :)
1 |
1 |
1 |
ik heb voor school wel eens met OOP moeten werken, maar i.p.v. overzichtelijker werd het alleen maar onoverzichtelijker, je had een functie die 20x naar iets anders verwees voordat hij daadwerkelijk de functie aanriepquote:Op maandag 5 maart 2007 20:17 schreef H4ze het volgende:
Ik heb sinds kort de kracht van object georienteerd programmeren in PHP ontdektIk heb al wel aardig wat ervaring met OOP in Java, maar ik dacht altijd dat 't voor PHP een beetje doelloos was. Maar zeker voor de wat grotere projecten is het zeer geschikt
![]()
Dan heb je 't niet goed uitgedachtquote:Op maandag 5 maart 2007 21:28 schreef mschol het volgende:
[..]
ik heb voor school wel eens met OOP moeten werken, maar i.p.v. overzichtelijker werd het alleen maar onoverzichtelijker, je had een functie die 20x naar iets anders verwees voordat hij daadwerkelijk de functie aanriep
Daar zijn volgens mij al genoeg artikelen over geschrevenquote:Op dinsdag 6 maart 2007 11:47 schreef super-muffin het volgende:
Gaat er nog iemand een artikel schrijven over OOP in PHP?
Je zou kunnen proberen om met IF in je query te gaan werken. Dus IF d < 16 THEN ORDER BY d ELSE ORDER BY a, b, c END IF. Ik heb geen kant en klare query bij de hand, maar ik denk dat je in die richting moet zoekenquote:Op dinsdag 6 maart 2007 11:57 schreef Geqxon het volgende:
Ik heb weer een leuke:
Een simpele query. Tabel met vier kolommen, eerst gesorteerd op A, daarna op B en daarna op C. D is een extra kolom, met een los attribuut. Nu hoeft er niet op D gestorteerd te worden, tenzij D lager dan 16 is. Dan moet D helemaal bovenaan de searchresults komen.
In PHP is dat op te vangen door twee query's te gebruiken, maar kan dit niet gewoon al direct in de query zelf?
Kijk in dat kader ook even naar Zend Framework.quote:Op maandag 5 maart 2007 21:50 schreef H4ze het volgende:
[..]
Dan heb je 't niet goed uitgedachtIk ben op m'n stage op 't moment bezig met een groot PHP project. Alle modules die ik ontwikkel, werk ik eerst uit in UML. Met een goed ontwerp kun je zeer efficient OO programmeren.
Idd, iets als:quote:Op dinsdag 6 maart 2007 12:09 schreef Hmail het volgende:
[..]
Je zou kunnen proberen om met IF in je query te gaan werken. Dus IF d < 16 THEN ORDER BY d ELSE ORDER BY a, b, c END IF. Ik heb geen kant en klare query bij de hand, maar ik denk dat je in die richting moet zoeken
Daarnaast weet ik eigenlijk niet precies hoeveel load dat op je mysql-server geeft, dus het zou kunnen zijn dat het sneller is om het in php te verwerken
hehe, you beat mequote:Op dinsdag 6 maart 2007 12:28 schreef Roonaan het volgende:
[..]
Idd, iets als:
SELECT IF(d < 16, 0, 1) as d_low, a, b, c FROM TABLE ORDER BY d_low, a, b, c, d
Die d is een veld van je record.quote:Op dinsdag 6 maart 2007 13:15 schreef Geqxon het volgende:
Maar die (d < 16), op welke D slaat dat? Want in mijn tabel zijn er 1600 records, het is niet alsof ik maar een enkel record tevoorschijn tover
1 2 3 4 5 6 7 8 9 | | A | B | C | D | +-------+-------+-------+-------+ | D** | I** | 2** | 4 | | A** | E** | 1** | 120 | | P** | Q** | 1** | 133 | | P** | R** | 2** | 159 | | Z** | H** | 1** | 141 | +-------+-------+-------+-------+ |
1 |
1 |
1 2 3 4 5 6 7 8 9 10 | | A | B | C | D | d_low | +------+------+------+------+-------+ | D** | I** | 2** | 4 | 0 | | A** | E** | 1** | 120 | 1 | | P** | Q** | 1** | 133 | 1 | | P** | R** | 2** | 159 | 1 | | Z** | H** | 1** | 141 | 1 | +------+------+------+------+-------+ 5 rows in set (0.00 sec) |
ik heb het uitgedacht zoals het moest van de docenten..quote:Op maandag 5 maart 2007 21:50 schreef H4ze het volgende:
[..]
Dan heb je 't niet goed uitgedachtIk ben op m'n stage op 't moment bezig met een groot PHP project. Alle modules die ik ontwikkel, werk ik eerst uit in UML. Met een goed ontwerp kun je zeer efficient OO programmeren.
Bedankt! Helaas werkt dit niet met Access, maar wel met de & operatorquote:Op dinsdag 6 maart 2007 16:05 schreef Roönaän het volgende:
SELECT CONCAT(initialen, " ", achternaam) AS naam FROM tabel.
Hoe bedoel je?quote:Waar laat je overigens je tussenvoegsel?
eh... beidequote:Note: is het construeren van een naamsweergave uit onderdelen een data niveau kwestie of een template kwestie?
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 | function make_menu_data_2($data) { $menus1 = explode("n", $data); $menus = str_replace("n","",$menus1); print_r($menus); $aantal = count($menus); $menu = "var MENU_ITEMS = [n"; for ($i = 0; $i < $aantal; $i++) { $menu .= "['"; if ($menus[$i][0] == "*") { $menu .= str_replace("*","",$menus[$i]) . "', null, null,n"; } else { if ($menus[$i][0] == "+") { $menus[$i] = str_replace("+", "", $menus[$i]); $menu .= $menus[$i] . "','page=" . str_replace(" ","",$menus[$i]) . "'],n"; } else if ($menus[$i][0] == "-") { $menus[$i] = str_replace("-", "", $menus[$i]); $menu .= $menus[$i] . "','page=" . str_replace(" ","",$menus[$i]) . "']n],n"; } else { $menu .= $menus[$i] . "','page=" . str_replace(" ","",$menus[$i]); $menu .= "'],n"; } } } $menu .= "n];"; $code = $menu; return $code; } ?> |
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 | <form name="upload formulier" enctype="multipart/form-data" method="post" action=" echo $_SERVER['PHP_SELF']; "> <input type="file" name="source_file"> <br> <input type="submit" name="submit" value="Submit"> </form><br /> error_reporting(E_ALL); if(isset($_POST['submit'])) { $size = $_FILES['source_file']['size'];// / 1024 / 1024 om naar MB te gaan. $size = round($size, 2); echo "Het volgende bestand wordt geupload:<br />"; echo "Naam: '" . $_FILES['source_file']['name'] . "'<br />"; echo "Grootte: '" . $size . " Bytes'<br />"; echo "<b>tmp_name:</b> '" . $_FILES['source_file']['tmp_name'] . "'<br />"; echo "de upload wordt verwerkt...<br />"; //Variabelen definiëren $ftp_server = "ftp.edek.nl"; $ftp_user_name = "hromiz"; $ftp_user_pass = "XXXXXX"; $source_file = $_FILES['source_file']['tmp_name']; $destination_file = 'rooster/bestand/'.$_FILES['source_file']['name']; echo $destination_file."<br>"; //Maak een basis connectie aan $conn_id = ftp_connect($ftp_server); ftp_pasv($conn_id,TRUE); //Meldt je aan met een gebruikersnaam en wachtwoord $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); //Controleer de verbinding if ((!$conn_id) || (!$login_result)) { echo "FTP connectie is mislukt!<br />"; echo "Probeerde naar '" . $ftp_server . "' te verbinden met de gebruiker '" . $ftp_user_name . "'<br />"; exit; } else { echo "Verbonden met '" . $ftp_server . "', als gebruiker '" . $ftp_user_name . "'<br />"; } //Upload een bestand $upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY); //Controleer de upload status if (!$upload) { echo "FTP upload is mislukt!<br />"; } else { echo "<b>Geupload: '" . $source_file . "' naar '" . $ftp_server . "' als '" . $destination_file . "'</b><br />"; } //Sluit de FTP stream ftp_close($conn_id); } ?> |
quote:Warning: ftp_put() [function.ftp-put]: rooster/bestand/license.txt: The system cannot find the path specified. in c:domainsedek.nlwwwrootrooster1.php on line 46
Ow ja, die kan ik er eventueel nog bij pakken. Maar niet van belang voor de toepassing.quote:Op dinsdag 6 maart 2007 17:24 schreef Geqxon het volgende:
[..]
Hans van den Berg wordt in jouw voorbeeld "H. Berg"
En dat was gewoon gaan zitten en coden zeker?quote:Op dinsdag 6 maart 2007 15:40 schreef mschol het volgende:
[..]
ik heb het uitgedacht zoals het moest van de docenten..
Zou moeten werken, heeft het hier zojuist prima gedaanquote:Op woensdag 7 maart 2007 09:23 schreef Hmail het volgende:
UPDATE items SET start_date = start_date + 60
Werkt dat niet?
1 2 3 4 5 6 7 8 9 10 11 12 13 | function writeHtaccess($file, $content, $permission) { if(file_exists($file) || is_writable($file)) { $htaccess = fopen($file, $permission) or die ("kan bestand niet openen"); fwrite($file, $concent); fclose($htaccess); } else { echo 'het bestand <strong>' . $file . '</strong> kan niet gevonden of bewerkt worden!'; } } writeHtaccess(".htaccess", "boeh", "w+"); ?> |
Bedankt! En dan nu mijn tweede vraag:quote:Op woensdag 7 maart 2007 10:40 schreef super-muffin het volgende:
Dat kan met htaccess:
[ code verwijderd ]
Zo iets.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $expires = $date - time(); if ($expires > 0){ $exhours = str_pad(floor($expires / 3600), 2, "0", STR_PAD_LEFT); $expires = $expires % 3600; $exminutes = str_pad(floor($expires / 60), 2, "0", STR_PAD_LEFT); $expires = $expires % 60; $exseconds = str_pad($expires, 2, "0", STR_PAD_LEFT); $expires = $exhours.":".$exminutes.":".$exseconds; } else { $expires = "<b>Expired</b>"; } ?> |
Newlines verschillen per OSquote:Op dinsdag 6 maart 2007 17:32 schreef ViPeRII het volgende:
@swetsenecker...
Dus ik moet filteren op rn ?
En wat bedoel je onder windows? De post data is onder een windows client anders dan onder een linux client of bedoel je server sided?
makkelijkste is als je explode op "\r\n", dan worden al die newlines meteen gefiltert uit je input,heb je nergens meer last van, bijvquote:Op dinsdag 6 maart 2007 17:32 schreef ViPeRII het volgende:
@swetsenecker...
Dus ik moet filteren op rn ?
En wat bedoel je onder windows? De post data is onder een windows client anders dan onder een linux client of bedoel je server sided?
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 | function make_menu_data_2($data) { $menus = explode("\r\n", $data); $out="var MENU_ITEMS = [\n"; foreach($menus as $x) { $out.="['"; $y=substr($x,1); switch($x[0]) { case '*': $out.="$y', null, null "; break; case '+': $z=str_replace(' ','',$y); $out.="$y', 'page=$z' "; break; case '-': $z=str_replace(' ','',$y); $out.="$y', 'page=$z' ],\n"; break; default: $z=str_replace(' ','',$x); $out.="$x', 'page=$z' "; } $out.="],\n"; } return "$out\n];"; } ?> |
Probleem zelf opgelost. Stond een haakje verkeerd.quote:Op dinsdag 6 maart 2007 17:20 schreef h.henkie het volgende:
Hoi
Ik heb het volgende. Op deze pagina heb ik een upload scriptje staan met de volgende code:
...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | u.name AS author, COUNT( p.id ) AS cntPosts, ( SELECT lastUpdate FROM r2_posts WHERE topicID = t.id ORDER BY lastUpdate LIMIT 0 , 1 ) AS lastUpdate FROM r2_topics t LEFT JOIN r2_posts p ON p.topicID = t.id LEFT JOIN si_users u ON u.id = t.userID WHERE t.deleted =0 AND t.forumID =2 GROUP BY t.id ORDER BY lastUpdate |
Het moet weer ingewikkeld hoor, voor onze mister Splendor. Je moet gewoon een tweede subquery maken, je kan namlijk niet meerdere resultaten in 1 subquery terug krijgen. Lees dit namelijk maar eens:quote:Op vrijdag 9 maart 2007 17:17 schreef splendor het volgende:
Ik zal de hele query even geven.. het probleem is namelijk dat ik al een JOIN erin heb zitten mét een GROUP BY.. dus nóg een join zou dan zijn eigen GROUP BY moeten hebben
[ code verwijderd ]
Hij moet dus behalve lastUpdate nog een koppeling maken naar tabel users aan de hand van posts.userID = users.id en daar dus de naam van de persoon die de laatste post deed ophalen.
quote:A scalar subquery is a simple operand, and you can use it almost anywhere a single column value or literal is legal, and you can expect it to have those characteristics that all operands have: a data type, a length, an indication whether it can be NULL, and so on.
Bron: mysql.com (http://dev.mysql.com/doc/refman/5.0/en/scalar-subqueries.html)
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 | class templateParser { var $output; function templateParser($templateFile='default_template.htm') { (file_exists($templateFile))?$this->output=file_get_contents($templateFile):die('Error:Template file '.$templateFile.' not found'); } function parseTemplate($tags=array()) { if(count($tags)>0) { foreach($tags as $tag=>$data) { $data=(file_exists($data))?$this->parseFile($data):$data; $this->output=str_replace('{'.$tag.'}',$data,$this->output); } } else { die('Error: No tags were provided for replacement'); } } function parseFile($file) { ob_start(); include($file); $content=ob_get_contents(); ob_end_clean(); return $content; } function display() { return $this->output; } } ?> |
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 | // include the class require_once('templateparser.php'); require_once('../includes/functions.inc'); $con = mysql_connect($cfg['DB_host'],$cfg['DB_user'],$cfg['DB_pass']) or die(mysql_error()); mysql_select_db($cfg['DB_DB'],$con) or die(mysql_error()); // instantiate a new template Parser object $tp=&new templateParser('index.html'); // define parameters for the class $tags=array( 'title'=>'You are seeing the template parser class in action!', 'sitename'=>$_SERVER['HTTP_HOST'], 'utility'=>'utility.php', 'maincontent'=>'content.php', 'footer'=>'footer.php', 'navGlobalbar'=>'navGlobalBar.php', 'navSubBar'=>'navSubBar.php', 'SiteInfo'=>'<a href="#">About Us</a> | <a href="#">Site Map</a> | <a href="#">Privacy Policy</a> | <a href="#">Contact Us</a> | ©2003 Company Name '); // parse template file $tp->parseTemplate($tags); // display generated page echo $tp->display(); ?> |
quote:Op vrijdag 9 maart 2007 19:32 schreef Stijn1983 het volgende:
[..]
Het moet weer ingewikkeld hoor, voor onze mister Splendor. Je moet gewoon een tweede subquery maken, je kan namlijk niet meerdere resultaten in 1 subquery terug krijgen. Lees dit namelijk maar eens:
[..]
1 2 3 4 5 6 7 8 9 10 11 12 13 | class DBclass { function dbConnect($host, $user, $pass) {} function dbSelect($selectedDB) {} function checkConnection() {} // Controleer de opgezette verbinding met de DB function query($query) {} function checkQueryResource($resource) {} // Controleer de result van de query function fetch($resource) {} // mysql_fetch_assoc() function result($this->queryResource) {} // mysql_result() function dbClose() {} function checkError() {} // Controleer en output de gegeven errors } ?> |
1 2 3 4 5 6 7 8 | SELECT u.name, u.id FROM user AS u WHERE u.id = ".mysql_real_escape_string($id)." "; |
Ja, ik besefte het net pas... Een beetje dom...quote:Op zaterdag 10 maart 2007 16:58 schreef Tiemie het volgende:
je kunt beter iedere variabele apart door mysql_real_escape_string halen
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | function escapeQuery($query) { // Haal de argumenten op $this->arguments = func_get_args(); // Het eerste resultaat is de query $this->query = array_shift($this->arguments); // Loop door de resterende elementen en geef ze een corresponderend nummer foreach ($this->arguments as $index => $name) { $this->arguments[$index+1] = $name; } // Loop nogmaals door de resultaten en vervang de nummers met de escaped waarden foreach ($this->arguments as $number => $value) { $this->query = str_replace(":$number", "'" . mysql_real_escape_string($value) . "'", $this->query); } // Return de schoongemaakte query return $this->query; } ?> |
je zou in ParseFile() die variabele aan $GLOBALS toe kunnen voegen, dan in het tweede bestand eerst kijken of die bestaat, voordat die hem zelf probeert aan te maken.quote:Op zaterdag 10 maart 2007 09:47 schreef mschol het volgende:
klein vraagje:
ik heb een kleine template parser:
[ code verwijderd ]
die roep ik alsvolgt aan:
[ code verwijderd ]
nu woerdt er in navGlobalBar.php de variable $nums aangemaakt, echter heb ik die variable ook nodig in navSubBar.php
is het mogelijk om die variable beschikbaar te maken voor dat 2de bestand?
anders moet ik een rits querie's opnieuw uitvoeren in het 2de bestand, das performance techniesch niet echt handig
1 2 3 4 5 6 7 8 9 10 11 | function simple_query( $query, $returnfirstrow=false) { if (strpos($query, "SELECT")!==false)) $is_select=true; if( $res=mysql_query($query) ) { if ($returnfirstrow && $is_select) return ( mysql_fetch_assoc($res) ); else if($is_select) return ( $x=mysql_num_rows($res) == 0 ? false : $x ); else return ( $x=mysql_affected_rows($res) == 0 ? false : $x ); } return false; } ?> |
Het feit dat je $this gebruikt betekent niet dat het automatisch ook OOP is en jouw code is daar weer een mooi voorbeeld van. Je gebruikt properties voor acties binnen een method die buiten de scope van de method niet meer gebruikt worden.quote:Op zaterdag 10 maart 2007 17:00 schreef SkaterSam het volgende:
[..]
Ja, ik besefte het net pas... Een beetje dom...![]()
Nu even kijken of ik iets kan schrijven die dat soort dingen in de query automatisch escaped...
edit [18.29]: een beetje van mijzelf en een beetje van Maggi...
[ code verwijderd ]
Huh, hoe bedoel je "een query property binnen je class" ? Wat ik nu doe is het volgende, eerst escape ik die query met de functie, dan return ik hem in een variabele, die ik weer gebruik in de echte query. Maar als je het kan verhelderen, graagquote:Op zaterdag 10 maart 2007 20:30 schreef smesjz het volgende:
Handiger was denk ik dat je een $query property maakt binnen die class zodat je niet die $query hoeft over te gooien (via return bijv) binnen je class.
Ja dat klopt denk ik ook wel. Ik denk dat het meeste in die class ook "gewoon" functies zijn. Ik ben er ook nog mee aan het experimenteren. Maar als je ook hier meer informatie over hebt (hoe zou dit er in OO hebben uitgezien ?) dan lees ik het graag.quote:Nu is het gewoon functioneel programmeren en is het toevallig een class omdat er class voor staat en niet omdat het iets met OO te maken heeft.
Ik bedoelde meer zoiets: (ff quick&dirty voor PHP5)quote:Op zaterdag 10 maart 2007 21:34 schreef SkaterSam het volgende:
Huh, hoe bedoel je "een query property binnen je class" ? Wat ik nu doe is het volgende, eerst escape ik die query met de functie, dan return ik hem in een variabele, die ik weer gebruik in de echte query. Maar als je het kan verhelderen, graag :)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | class Database { private $query = null; private function prepareQuery() { blabla(); $query = escpape_meuk_hier(); $this->query = $query; } public function execQuery($query) { // Eerst escapen. $this->query = $query; $this->prepareQuery(); mysql_query($this->query); } } ?> |
ik heb in het eerste bestand, navGlobalBar.php, 2 globals toegewezen die ik nodig had, en die kon ik vervolgens aanroepen in het 2de bestand,quote:Op zaterdag 10 maart 2007 20:10 schreef ralfie het volgende:
[..]
je zou in ParseFile() die variabele aan $GLOBALS toe kunnen voegen, dan in het tweede bestand eerst kijken of die bestaat, voordat die hem zelf probeert aan te maken.
Ja, dat zou natuurlijk ideaal zijn! Ik had het echter op deze manier gedaan, omdat ik ook argumenten moet opgeven die vervangen moeten worden in de query (dus een :1 wordt bijvoorbeeld $obj_id), maar ik vond het handiger dat dit in twee stappen ging. Ik neem aan dat ik het bijvoorbeeld ook gewoon in de execQuery had kunnen zetten ($db->execQuery($query, $enkele_argumenten_ter_vervanging)), ik geloof dat jij iets dergelijks bedoelt. Want mijn vraag was hoe ik die vervangende argumenten in de prepareQuery function kreeg.quote:Op zondag 11 maart 2007 10:00 schreef smesjz het volgende:
Ik bedoelde meer zoiets: (ff quick&dirty voor PHP5)
[ code verwijderd ]
Het kan natuurlijk ook nog op tig andere manieren, dit voorbeeldje laat alleen zien dat je door het gebruik van die query property (private $query) je niet meer 'return' hoeft te gebruiken.
Ja dat heb ik gezien, en hoewel ik daar ook naar kijk, probeer ik liever zelf een in elkaar te zetten natuurlijk, leerervaring enzoquote:Verder is een database class al 100 keer in OO gemaakt voor PHP en met een beetje Google werk kan je daar genoeg voorbeelden van vinden.
Hmmm, ja dat kan, ik werk echter met een script die de Errorlog uitleest van Apache2. Dan krijg ik op mijn browserscherm altijd de laatste errors die Apache2 ontdekt. Maar ik weet niet zeker of de Errorlog alle errors die error_reporting(E_ALL) oppikt, ook pakt.quote:BIj het ontwikkelen van je code kan ik je aanraden om error_reporting(E_ALL); aan te zetten zodat PHP je zelf waarschuwt bij misbruik van $this.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | { if ($handle = opendir($dir)) { // Dit is de juiste manier om door een directory te wandelen. while (false !== ($file = readdir($handle))) { if(is_dir($file)) { readfilelist($file); } $file_arr[]= $file; } closedir($handle); } } |
Je kan ook eens kijken naar de aanpak in PDO (>= php5.1): http://nl2.php.net/manual/en/ref.pdo.phpquote:Op zondag 11 maart 2007 13:28 schreef SkaterSam het volgende:
[..]
Ja, dat zou natuurlijk ideaal zijn! Ik had het echter op deze manier gedaan, omdat ik ook argumenten moet opgeven die vervangen moeten worden in de query (dus een :1 wordt bijvoorbeeld $obj_id), maar ik vond het handiger dat dit in twee stappen ging. Ik neem aan dat ik het bijvoorbeeld ook gewoon in de execQuery had kunnen zetten ($db->execQuery($query, $enkele_argumenten_ter_vervanging)), ik geloof dat jij iets dergelijks bedoelt. Want mijn vraag was hoe ik die vervangende argumenten in de prepareQuery function kreeg.
1 2 3 4 5 6 | $sth = $dbh->prepare('SELECT name, colour, calories FROM fruit WHERE calories < ? AND colour = ?'); $sth->execute(array(150, 'red')); ?> |
Tijdens het ontwikkelen kan je het beste gewoon errors op je scherm weergeven ipv alleen een error log te gebruiken.quote:Hmmm, ja dat kan, ik werk echter met een script die de Errorlog uitleest van Apache2. Dan krijg ik op mijn browserscherm altijd de laatste errors die Apache2 ontdekt. Maar ik weet niet zeker of de Errorlog alle errors die error_reporting(E_ALL) oppikt, ook pakt.
deze functie werkt niet omdat hij in een oneindige lus raakt. Deze manier van directories uitlezen retourneert namelijk in elke directory ook een handle naar zijn parent directory (. en ..) waardoor php van parent naar child directory en vice versa blijft gaan tot hij ergens vast loopt. Daarnaast is het voor grote directories mogelijk dat php crashed omdat hij in een te diepe recursiviteit raakt (of hoe je dat ook zegtquote:Op zondag 11 maart 2007 13:45 schreef beerten het volgende:
Ik wil graag de volledige inhoud van alle bestanden op mijn webserver inlezen in een array.
Dit wil ik gebruiken om een sitemap te maken. De pagina's/directory's worden vervolgens weergegeven op een pagina om ge(de)selecteerd te worden en wat overige opties.
Maar hoe lees ik de volledige inhoud van de root uit en stop deze in een array?
Ik dacht aan het volgende, maar dat werkt mooi niet! Sterker nog, als ik de functie aanroep wordt een bestand ter download aangeboden.
Kan iemand me op weg helpen?
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 13 | $dirstack=array('C:\\program files\\Apache group\\Apache2\htdocs'); while(sizeof($dirstack)!=0) { $dir=array_shift($dirstack); if ($handle=opendir($dir)) { while(false!==($file=readdir($handle))) { if ($file=='.' || $file=='..') continue; if (is_dir($dir.'\\'.$file)) $dirstack[]=$dir.'\\'.$file; else $files[]=$dir.'\\'.$file; } } } ?> |
Die errorlog zit een file, misschien zou je iets met filemtime() kunnen doen, en dan vergelijken met de huidige datum ofzo ? Ik weet niet of je het echt realtime kan maken, want dan zou je in een constante stream moeten staan toch ? Ik heb zelf een script voor de Apache Errorlog die om de 60 seconden de errorlog uitleest en vervolgens de laatste 20 rijen pakt.quote:Op zondag 11 maart 2007 14:24 schreef mschol het volgende:
bestaat er een programma dat realtime kan refreshen zodra er een melding in bijvoorbeeld je errorlog bij komt (in linux kan je dit doen) echter onder windows zou ik het ook wel handig vinden als ik bijvoorbeeld de laatste 5 meldingen kan zien (in realtime)
volgens mij zoekt ie gewoon een editor die de file gewoon bijwerkt als deze gewijzigd wordt. ConTEXT is een editor die dit doet onder windows (moet je wel eerst minimizen, dan restoren, en dan geeft ie een melding dat de file gewijzigd is). Het is dus niet helemaal gelijk aan tail -f onder linux, maar het werkt welquote:Op zondag 11 maart 2007 14:33 schreef SkaterSam het volgende:
[..]
Die errorlog zit een file, misschien zou je iets met filemtime() kunnen doen, en dan vergelijken met de huidige datum ofzo ? Ik weet niet of je het echt realtime kan maken, want dan zou je in een constante stream moeten staan toch ? Ik heb zelf een script voor de Apache Errorlog die om de 60 seconden de errorlog uitleest en vervolgens de laatste 20 rijen pakt.
ik ben dus eigenlijk opzoek naar een windows equivalent van tail -fquote:Op zondag 11 maart 2007 16:40 schreef Floxxx het volgende:
[..]
volgens mij zoekt ie gewoon een editor die de file gewoon bijwerkt als deze gewijzigd wordt. ConTEXT is een editor die dit doet onder windows (moet je wel eerst minimizen, dan restoren, en dan geeft ie een melding dat de file gewijzigd is). Het is dus niet helemaal gelijk aan tail -f onder linux, maar het werkt wel
1 2 3 | Warning: parsefile(): Failed opening '<a href='http://home.mschol.eu/pagina.php' target='_blank' ><img src='../images/valid-401.gif' alt='' /></a> | <a href='#'>About Us</a> | <a href='#'>Site Map</a> | <a href='#'>Privacy Policy</a> | <a href='http://tweakers.net'>Contact Us</a> | ©2003 Company Name' for inclusion (include_path='.;c:php4pear') in d:wwwanime_argewebtemplatetemplateparser.php on line 29 |
Maar vlak ook de mogelijkheid van Multiviews niet uit.quote:Op zondag 11 maart 2007 12:19 schreef super-muffin het volgende:
er is een truukje voor, er word een regex gebruikt
[ code verwijderd ]
Deze gebruik ik op mijn website.
Met multiviews kan je de extentie weglaten dus www.domein.nl/pagina/index ipv www.domein.nl/pagina/index.phpquote:Op maandag 12 maart 2007 13:16 schreef super-muffin het volgende:
Wat bedoel je precies Swets?
Ik heb nu dit maar dan krijg ik eigenlijk niksquote:Op maandag 12 maart 2007 13:42 schreef Fliepke het volgende:
Ik postte laatst ongeveer dit en ik wilde deze count groeperen per dag. Zodat ik per dag weet hoeveel nieuws er is gepost.
SELECT Count(*) FROM `items` WHERE type = 'nieuws'
AND posttime BETWEEN 1167609600
AND 1173657600
Deze laatste regel kreeg ik als tip in het vorige topic, maar dat werkt niet. Ik moet dus vast nog een trucje uithalen, maar ik weet niet wat:
GROUP BY FROM_UNIXTIME(timestamp, '%Y%m%d')
1 2 3 4 5 6 7 8 | [14:34:26] <Hmail> FROM `items` [14:34:26] <Hmail> WHERE TYPE = 'nieuws' [14:34:26] <Hmail> AND posttime [14:34:26] <Hmail> BETWEEN 1167609600 [14:34:26] <Hmail> AND 1173657600 [14:34:26] <Hmail> GROUP BY blaat [14:34:26] <Hmail> LIMIT 0 , 30 |
quote:Note that the sha1 algorithm has been compromised and is no longer being used by government agencies.
1 2 3 | $_SESSION['admin']['validated']['token'] $_SESSION['admin']['validated']['time'] |
1 |
Desondaks is sha1 nog veiliger dan MD5. Je kan via mhash module of hash (php5) veel meer hashing algoritmes aan dan bovengenoemde.quote:Op maandag 12 maart 2007 15:18 schreef SkaterSam het volgende:
Behehe, dit staat ook echt in het commentaar voor sha1():
Het vervelende is alleen dat ik verder geen rechten of niks heb op de server, ik heb mij maar te houden aan de instellingen van de server, dus ik kan wel kijken of die module er al op staat, maar anders wordt het toch sha1...quote:Op maandag 12 maart 2007 16:03 schreef smesjz het volgende:
Desondaks is sha1 nog veiliger dan MD5. Je kan via mhash module of hash (php5) veel meer hashing algoritmes aan dan bovengenoemde.
1 2 3 4 5 | $db->execQuery($obj_id); while($result = $db->fetch()) { // echo of weet ik veel wat } |
1 2 3 4 5 | $stmt->execQuery($obj_id); while($result = $stmt->fetch()) { // echo of weet ik veel wat } |
En ook in het commentaar voor MD5, en in zekere mate met hoger belang omdat MD5 reduceert naar een hash met minder bitsquote:Op maandag 12 maart 2007 15:18 schreef SkaterSam het volgende:
Behehe, dit staat ook echt in het commentaar voor sha1():
[..]
Omdat? SHA1 is nog steeds veiliger dan MD5.quote:Op maandag 12 maart 2007 14:56 schreef Darkomen het volgende:
md5
Ik zou de functie query() een class laten returnen zodat je met het resultaat verschillende dingen kan doen. :)quote:Op maandag 12 maart 2007 17:25 schreef SkaterSam het volgende:
Ik heb mijn database class nu zo geschreven dat je zo een query uitvoert:
[ code verwijderd ]
Maar nu zie ik bijvoorbeeld bij PDO en andere classes ook dat ze het liever anders doen, dus dat een nieuwe instantie van een class in een variabele wordt gedaan, zoals dit:
[ code verwijderd ]
Ik vroeg me af wat het verschil tussen deze twee manieren van code was, en of het een dus betere praktijk is dan de ander.
1 2 | perl -pi -e 's/HTTP_GET_VARS/_GET/g' *.php |
osCommerce upgraden is zeker te eenvoudig voor je?quote:Op dinsdag 13 maart 2007 16:48 schreef Geqxon het volgende:
iemand tips?
Ik heb de laatste versie al binnengehaald.quote:Op dinsdag 13 maart 2007 17:23 schreef Swetsenegger het volgende:
[..]
osCommerce upgraden is zeker te eenvoudig voor je?
1 2 3 4 5 | do perl -pi -e 's/HTTP_POST_VARS/_POST/g' $file perl -pi -e 's/HTTP_GET_VARS/_GET/g' $file done |
1 2 3 4 5 | $result = mysql_query("INSERT INTO t_relatiegids (relatiegids_bedrijfsnaam, relatiegids_telefoonnummer) VALUES('" . $bedrijfsnaam . "','" . $telefoonnummer . "');"); ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | var idx = 1 ; var e1; function addBox ( parName ){ if(idx == 1){ e1 = document.createElement ( 'input' ) ; e1.name = 'taak_uren' + idx++ ; e1.type = 'text'; e1.value = 'Aantal uren?'; document.getElementById ( parName ).appendChild ( e1 ) ; } else { document.getElementById ( parName ).removeChild ( e1 ) ; idx -- ; } } </script> |
1 |
1 2 3 4 | $result = mysql_query("INSERT INTO t_nieuws(nieuws_titel, nieuws_bericht, nieuws_auteur, nieuws_email, nieuws_datum) VALUES('".$titel."', '".$bericht."', '".$email."', NOW());") or die(mysql_error()); ?> |
je specificeert 5 kolommen terwijl je maar 3 waardes INSERTquote:Op donderdag 15 maart 2007 13:58 schreef Qunix het volgende:
[ code verwijderd ]
Hij geeft een error aan: Column count doesn't match value count at row .
Ik snap niet wat er fout is, iemand een idee?
Ah.. ik zie hem.. thanks.quote:Op donderdag 15 maart 2007 14:04 schreef Swetsenegger het volgende:
[..]
je specificeert 5 kolommen terwijl je maar 3 waardes INSERT
niemand?quote:Op dinsdag 13 maart 2007 15:25 schreef BlueCurl het volgende:
ik heb zojuist op windows vista weer apache 2.0, php 5, mysql5.0 en pma 2.9.2 geinstalleerd en geconfigureerd. enkel als ik v mysql gui tools (query browser) naar mysql gaat is het geen probleem. me pagina's maken ook gewoon connectie met mysql en dit in php.ini allemaal gewoon de mysql extensies geladen. Das alles werkt. Enkel blijft PMA zeueren dat die mysql extensie niet geladen kan worden. ik heb hier naar gezocht maar enigste wat ik kan vinden is de dll en de lib van mysql toevoegen. dat is ook gewoon gedaan. maar pma blijft enkel zeuren...
Heb je phpMyAdmin toevallig zo ingesteld dat hij gebruik wil maken van de MySQLi-extensie? (let op de 'i'quote:Op vrijdag 16 maart 2007 00:38 schreef BlueCurl het volgende:
[afbeelding]
je bedoelt dit? snap al 1 en ander van php config en co maar nog nooit probs gehad met mysql erbij dus weet ook niet zo 1 2 3 precies waar dit aan kan liggen
dus ik hoor het wel als me screenshot nutteloos is
edit: linkje
neen, heb ff php.ini opnieuw gedaan en alles werkt nu. Ik zal wel ergens wat verkeerds hebben gedaan, weet wel zeker!quote:Op vrijdag 16 maart 2007 01:00 schreef JeRa het volgende:
[..]
Heb je phpMyAdmin toevallig zo ingesteld dat hij gebruik wil maken van de MySQLi-extensie? (let op de 'i')
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | $original = array( "[B]", "[b]", "[/B]", "[/b]", "[I]", "[i]", "[/I]", "[/i]" ); $replace = array( "<strong>", "<strong>", "</strong>", "</strong>", "<em>", "<em>", "</em>", "</em>" ); return str_replace($original, $replace, $field); } |
1 2 3 4 | $tekst = preg_replace('#[b](.*)[/b]#Uis', '<b>$1</b>', $tekst); // Let op: bug in Replique, er staan backslashes in bovenstaande regel ?> |
Dat klopt, maar het is niet altijd fout. Denk aan quotes in quotes, dus [q..] blaat blaat [q...] ... [/q...] blaat blaat [/q...]quote:Op vrijdag 16 maart 2007 14:01 schreef splendor het volgende:
Die bug vind ik overigens geen echte bug.. iemand die tags zo gebruikt die verdient het om een foute layout te krijgen.
Je kunt heel ranzig achter elke post standaard een </b> </u> </i> zettenquote:Op vrijdag 16 maart 2007 14:01 schreef splendor het volgende:
Dankje, zoiets zocht ik inderdaad.
En nu zou het ook mogelijk moeten zijn om urls erin te verwerken, dan wat was met mijn functie ook niet echt te doen.
Die bug vind ik overigens geen echte bug.. iemand die tags zo gebruikt die verdient het om een foute layout te krijgen.
Als de user's eigen post er slecht uitziet door foute tags dan is dat zijn eigen probleem, zolang andere posts die later komen er maar geen last van hebben.
http://nl2.php.net/function.parse-urlquote:Op vrijdag 16 maart 2007 14:09 schreef super-muffin het volgende:
Het is mij ook nog niet gelukt om 'www.fok.nl' om te zetten naar => ' <a href="http://www.fok.nl">www.fok.nl</a>'
1 2 3 | $field = preg_replace("#\[I\](.*?)\[/I\]#si","<em>\\1</em>", $field); $field = preg_replace("#\[URL\](.*?)\[/URL\]#si","<a href=\"\\1\" target=\"_blank\" rel=\"nofollow\">\\1</a>", $field); |
En met bovenstaande parser kun je an sich kijken of iets een geldige URL. En omdat ik nu toch weinig tot niets te doen heb ga ik er even aan zittenquote:Op vrijdag 16 maart 2007 14:29 schreef super-muffin het volgende:
Nee dat is niet wat ik bedoel Geqxon.
Ik heb ook een soort parser, maar ik wil nog dat als iemand gewoon een link www.fok.nl invoerd, dat dat het dan geparsed word naar <a href="http://www.fok.nl">www.fok.nl</a>
Smilies kan je op dezelfde manier doen. Alleen kan je daar in plaats van preg_replace een gewone str_replace voor gebruiken, die is (waarschijnlijk) sneller.quote:Op vrijdag 16 maart 2007 14:32 schreef splendor het volgende:
Worden smileys op dezelfde manier gedaan? Dat : P vervangen wordt door het plaatje? Of kan ik dat beter anders doen?
Dankjequote:Op vrijdag 16 maart 2007 19:31 schreef SuperRembo het volgende:
[..]
Smilies kan je op dezelfde manier doen. Alleen kan je daar in plaats van preg_replace een gewone str_replace voor gebruiken, die is (waarschijnlijk) sneller.
Zie trouwens ook mijn 2 jaar oude post in deeltje 5.
Hoezo, gaat je bouwwerk voor URL-detectie traag zijn?quote:Op vrijdag 16 maart 2007 20:36 schreef Geqxon het volgende:
Op welke schaal wil je dit gaan gebruiken??
quote:Op zaterdag 17 maart 2007 00:51 schreef JeRa het volgende:
[..]
Hoezo, gaat je bouwwerk voor URL-detectie traag zijn?
Ik zie niets wat met schaalbaarheid te maken hoeft te hebben, en beveiliging is onafhankelijk van de schaal liever meer dan minder aanwezig natuurlijk. En aangezien je dit zeiquote:
quote:Op vrijdag 16 maart 2007 14:35 schreef Geqxon het volgende:
[..]
En met bovenstaande parser kun je an sich kijken of iets een geldige URL. En omdat ik nu toch weinig tot niets te doen heb ga ik er even aan zitten
1 2 3 4 5 6 7 8 | <h2>A1-1 test</h2> <ul> <li><a href="out.php?link=http://www.titel.nl" title="Titel" target="1">Titel</a></li> <li><span class='tip'>TIP</span> <a href="out.php?link=http://www.titel2.nl" title="Titel II" target="2">Titel II</a></li> </ul> </div> |
1 2 3 4 5 6 7 8 9 10 11 | <h2>A1-1 test</h2> <ul> <li><a href="out.php?link=http://www.titel.nl" title="Titel" target="1">Titel</a></li> </ul> <p>HTML Code</p> <ul> <li><span class='tip'>TIP</span> <a href="out.php?link=http://www.titel2.nl" title="Titel II" target="2">Titel II</a></li> </ul> </div> |
1 2 3 4 | <h2>A1-1 test</h2> <p>HTML Code</p> </div> |
Het eerste waar ik aan denk is Tidyquote:Op maandag 19 maart 2007 00:22 schreef wipes66 het volgende:
Heeft iemand toevallig een class in de aanbieding die html kan opschonen? en ook html op de juiste manier laat inspringen.![]()
Tidy kan dat denk wel, maar zoals gewoonlijk ondersteunt mijn webhost het niet.quote:Op maandag 19 maart 2007 00:36 schreef JeRa het volgende:
[..]
Het eerste waar ik aan denk is Tidymaar of die extension ook automagisch kan inspringen, geen idee.
Zodra ik het vakje Bruggema.nl sluit, open en dan weer sluit blijft er een wit ruimte over ipv dat de andere categoriën zoals Direct Connect naar boven schieten. Open en sluit ik ze weer dan schiet alles weer de hoogte van 1 categorie naar beneden, steeds dieper.. dus de witruimte wordt steeds groter. Javascript bugje denk ik.quote:Op zondag 18 maart 2007 11:39 schreef Chandler het volgende:
Ik heb een vraagje aan de experts.
Omdat ik me weer eens verveelde wilde ik een andere versie schrijven van Linkbase ( http://linkbase.bruggema.nl ) en tot nu toe heb ik dit gerealiseerd! http://startpagina.bruggema.nl/ maar nu wil ik graag weten of de HTML technische opbouw (let niet op de headers, etc, deze zitten er namelijk nog niet in) juist is? ofdat jullie zeggen dat het op een andere manier beter is.
De 'startpagina' script die ik aan het schrijven ben gaat veel mogelijkheden ondersteunen, een paar zal ik opnoemen.
1 In categorieen kun je html, afbeeldingen, rss feeds en php code gebruiken!
2. links kun je stuk voor stuk verplaatsen (sorteren) maar ook verplaatsen naar andere categorieen!
3. categorieen kun je verplaatsen, sorteren
Nu wil ik zelf het liefst werken met templates, maar de huidige code is zonder templates en zie ook niet snel of dit echt makkelijk mogelijk is om dit in templates te verwerken
Voorbeeld van hoe het nu werkt!
[ code verwijderd ]
Nu een voorbeeld waarbij er ook HTML (andere data dan items worden gebruikt)
[ code verwijderd ]
en dan nu een voorbeeld met geen links maar wel html code
[ code verwijderd ]
Wat is jullie mening? en is de laadtijd lang/kort voor een startpagina concept?
Psst, vertel dan dat je die gebruikt om semantisch correcte HTML te schrijven, en dus bijvoorbeeld listitems voor lijsten van gegevens gebruikt.quote:Op maandag 19 maart 2007 08:20 schreef Chandler het volgende:
maar waarom niet voor ul/li en p? dan gebruik je bestaande html elementen ipv het zelf defenieren van divs...
Off topic in een PHP topic, maar wat mij betreft is dat geen kwestie van voorkeur. P en LI hebben meer/andere semantische waarde dan DIV's: P bevat een paragraaf, LI een list item. Dat veel mensen te pas en te onpas DIV's gebruiken is simpelweg omdat ze nog in tabellen denken. Dan krijg je combinaties als <div class="header"><h1>Title</h1></div> met tig overbodige DIV's. Ik zou zeggen: gebruik de elemten waar ze voor bedoeld zijn, en gebruik DIV's om te groeperen per functiegroep (bijvoorbeeld "footer met copyright notice en selectbox").quote:Op maandag 19 maart 2007 07:42 schreef splendor het volgende:
Verder zou ik niet voor LI en P gaan maar dat is denk ik meer persoonlijk, ik zou in ieder geval weinig argumenten kunnen aanleveren waarom div of span fijner werkt, ik ben het gewend denk ik.
Haakjes plaatsen.quote:Op maandag 19 maart 2007 14:06 schreef Chandler het volgende:
klein MySQL vraagje
Ik wil aan een query 2 statements toevoegen, waar ik al veel AND vragen heb staan. Nu heb ik geprobeerd om er een AND en OR vraag aan toe te voegen maar nu gaat het fout.
Nu wil ik aan deze query toevoegen of iets uit 'land' of uit 'land' (voorbeeld) komt.
SELECT * FROM tabel
WHERE grootte >= 20
AND jaar = 2006
AND status =1
AND land = 'nl'
OR land = 'be'
maar hier gaat iets fout, want als het land be is dan krijg ik ook items die geen status 1 hebben etc...what am i doing wrong?
Je zou eens kunnen beginnen met een SQL boekje open slaan ipv alles laten voorkauwen?quote:Op maandag 19 maart 2007 14:22 schreef Chandler het volgende:had ik eerst ook gedaan maar lan dIN is idd beter
en als ik nu wil dat alles toegelaten mag worden behalve de land IN?
Momenteel heb ik dat niet. Ik haal mijn informatie uit wikipedia en kon ik het niet vinden.quote:Op maandag 19 maart 2007 15:44 schreef smesjz het volgende:
WHERE titel NOT LIKE '%notulen%'
Het kostte je meer tijd om deze post te maken dan zelf ff een SQL boek open te slaan
w3schools is dan wel handigquote:Op maandag 19 maart 2007 16:03 schreef Qunix het volgende:
[..]
Momenteel heb ik dat niet. Ik haal mijn informatie uit wikipedia en kon ik het niet vinden.
Bedankt.
Ja, daar zit de wereld echt op de wachten. Ik vind die W3schools site er goed omdat bij die code voorbeelden ook het result staat.quote:Op maandag 19 maart 2007 16:38 schreef Chandler het volgende:
@mschol; eingelijk zou het handig zijn als er een vragen database van gemaakt zou kunnen worden, zodat je in een opslag handige antwoorden kan vinden
Tja w3schools is idd erg goed, juist omdat ze zich richten op mensen die minder goed met textuele zaken om kunnen gaan en beter kunnen werken met code voorbeelden (zoals ik!quote:Op maandag 19 maart 2007 16:47 schreef smesjz het volgende:
[..]
Ja, daar zit de wereld echt op de wachten. Ik vind die W3schools site er goed omdat bij die code voorbeelden ook het result staat.
http://www.w3schools.com/sql/default.asp
Het lijkt me een goed alternatief voor wikipedia om SQL te leren.
Wat voor informatie? en eventueel zou je alles (van bv een array) om kunnen zetten naar een comma seperated string oid...quote:Op maandag 19 maart 2007 17:05 schreef dnzl het volgende:
Ik wil door middel van checkboxes meerdere waardes in een MySQL cel voegen.
Hoe doe ik dit? Hoe voeg ik een bijvoorbeeld een komma of streepje toe?
quote:Here's an interesting note about the inferiority of the rand() function. Try, for example, the following code...
1
2
3
4
5
6
7
8
9
10<?php
$r = array(0,0,0,0,0,0,0,0,0,0,0);
for ($i=0;$i<1000000;$i++) {
$n = rand(0,100000);
if ($n<=10) {
$r[$n]++;
}
}
print_r($r);
?>
which produces something similar to the following output (on my windows box, where RAND_MAX is 32768):
Array
(
[0] => 31
[1] => 0
[2] => 0
[3] => 31
[4] => 0
[5] => 0
[6] => 30
[7] => 0
[8] => 0
[9] => 31
[10] => 0
)
Within this range only multiples of 3 are being selected. Also note that values that are filled are always 30 or 31 (no other values! really!)
Now replace rand() with mt_rand() and see the difference...
Array
(
[0] => 8
[1] => 8
[2] => 14
[3] => 16
[4] => 9
[5] => 11
[6] => 8
[7] => 9
[8] => 7
[9] => 7
[10] => 9
)
Much more randomly distributed!
Conclusion: mt_rand() is not just faster, it is a far superior algorithm.
Gewoon textquote:Op maandag 19 maart 2007 17:44 schreef Chandler het volgende:
[..]
Wat voor informatie? en eventueel zou je alles (van bv een array) om kunnen zetten naar een comma seperated string oid...
In een andere range doet ie het wel beter, zet maar eens rand(0,10.000) ipv rand(0,100.000)quote:Op maandag 19 maart 2007 19:03 schreef HuHu het volgende:
En volgens een comment die bij de rand() staat kun je beter mt_rand() gebruiken, die schijnt betere resultaten in 'randomness' te geven.
[..]
Ik maak altijd mijn eigen errorsquote:Op maandag 19 maart 2007 21:08 schreef splendor het volgende:
Is het mogelijk om in php aan te geven op welke pagina (en eventueel zelfs welke regel) een stuk code zich bevindt?
Ik heb een aantal classes en functies die elkaar aanroepen en als ik een foutmelding in een query krijg staat er vaak At line 1 (functie mysql_error()) en dan is het toch ff zoeken waar de query zelf nou eigenlijk staat. Vandaar dus.
1 2 3 4 5 6 7 | $connection = mysql_connect(..... if (!$connection) $errorlog .= "Could not connect to database in " . $_SERVER['PHP_SELF']; ?> |
http://nl2.php.net/manual/en/language.constants.predefined.phpquote:Op maandag 19 maart 2007 21:08 schreef splendor het volgende:
Is het mogelijk om in php aan te geven op welke pagina (en eventueel zelfs welke regel) een stuk code zich bevindt?
Ik heb een aantal classes en functies die elkaar aanroepen en als ik een foutmelding in een query krijg staat er vaak At line 1 (functie mysql_error()) en dan is het toch ff zoeken waar de query zelf nou eigenlijk staat. Vandaar dus.
het beste kun je dat niet doen. De enige manier (zonder direct database toegang te hebben) is om elk topic met php te openen en dan te bepalen of er wel of geen 300 posts zijn. Dat slibt elke willekeurige server dichtquote:Op dinsdag 20 maart 2007 19:45 schreef RayMania het volgende:
Ik ben een echte n00b qua PHP, maar eigenlijk wil ik wel iets maken. In dit topic staan allemaal topics, en ik wil graag snel kunnen zien wanneer zo'n topic vol is, zodat ik de nieuwe link kan plaatsen. Het aantal posts van een topic moet dus geteld worden, zodat ik bij 300 de link kan verversen. Hoe kan ik dat het beste doen?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | if (isset($_POST['topics'])){ $topics = explode("n",$_POST['topics']); foreach ($topics as $topicURL){ if (preg_match("/http:/i", $topicURL)){ $found = false; $lines = @file($topicURL . "/300/1"); $regex = "/class="ap"/i"; if ($lines) foreach ($lines as $line){ if (preg_match ($regex, $line)) $found = true; eregi("<title>(.*)</title>", $line, $title); } if ($found == true) echo "<a href="".$topicURL."">".$title[1]."</a> heeft een 300ste post <br />"; } } } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <form method="POST" action="p300.php"> <textarea cols="30" rows="20" name="topics"> http://forum.fok.nl/topic/926270 http://forum.fok.nl/topic/614138 http://forum.fok.nl/topic/845403 http://forum.fok.nl/topic/710464 http://forum.fok.nl/topic/686411 http://forum.fok.nl/topic/946336 http://forum.fok.nl/topic/792154 http://forum.fok.nl/topic/629891 </textarea> <br /> <input type="submit"> </form> |
1 |
1 2 3 4 5 6 7 8 9 10 11 12 | $vid = $_GET["vid"]; ?> <div align="center"> <object width="320" height="258"> <param name="movie" value="http://www.youtube.com/v/<?php echo "$vid" ?>"> </param> <embed src="http://www.youtube.com/v/<?php echo "$vid" ?>" type="application/x-shockwave-flash" width="320" height="258"> </embed> </object> |
1 |
Ik wou exact hetzelfde typenquote:Op donderdag 22 maart 2007 11:28 schreef GI het volgende:
HTML ALLEEN VREDE ZONDER titel
Maar op je vraag: Op die manier. Ik zou alleen de knippen rechts alignen.
En helaas 4 kilobyte te groot.quote:Op donderdag 22 maart 2007 13:24 schreef GI het volgende:
PS, hij is ook klikbaar.
Weer een onderdeel van Ruby on Railsquote:Op donderdag 22 maart 2007 13:20 schreef CraZaay het volgende:
Volgorde veranderen met drag & drop? Kan eenvoudig met Scriptaculous bijvoorbeeld (Sortables).
Hoe krijg je dat voor elkaar??quote:Op donderdag 22 maart 2007 13:24 schreef GI het volgende:
PS, hij is ook klikbaar.
Niet echtquote:Op donderdag 22 maart 2007 14:01 schreef Chandler het volgende:
[..]
Weer een onderdeel van Ruby on Rails
1 2 3 4 5 6 7 8 9 10 11 | function createSession() { return array("user" => "jan", "time" => 1234, "token" => "abcdefg"); } // Zo vraag je hem op $_SESSION['controleren'] = createSession(); // Sessie weer controleren op USER, TIME en TOKEN als key checkSession($_SESSION['controleren']); ?> |
quote:Op donderdag 22 maart 2007 15:17 schreef SkaterSam het volgende:
Maar nu is mijn vraag, hoe controleer ik iedere key apart (USER, TIME en TOKEN dus...) maar creeer ik één output (dus als er één key niet goed is, dan geeft die FALSE). Ik probeerde het in een foreach loop, maar ik kan niet bedenken hoe je ieder individueel controleert met één output. Of pak ik het verkeerd aan...?
1 2 3 4 5 6 7 8 9 | function checkSession($ses) { if ($ses['user'] && $ses['time'] && $ses['token']) { return true; } else { return false; } } ?> |
Nee, ik wil de namen van de keys die ingegeven worden, controleren op juistheid. Dus dat er ten eerste 3 keys op zijn gegeven. En dan controleren of de namen van die 3 keys USER, TIME en TOKEN zijn. En daarna controleren of ze niet leeg, of foutief zijn. Maar het gaat mij om het controleren van de namen van de keys.quote:Op donderdag 22 maart 2007 15:24 schreef CraZaay het volgende:
Doet vast niet wat je wilt, maar heb je iets aan het idee an sich?
quote:Op donderdag 22 maart 2007 15:31 schreef SkaterSam het volgende:
[..]
Nee, ik wil de namen van de keys die ingegeven worden, controleren op juistheid. Dus dat er ten eerste 3 keys op zijn gegeven. En dan controleren of de namen van die 3 keys USER, TIME en TOKEN zijn. En daarna controleren of ze niet leeg, of foutief zijn. Maar het gaat mij om het controleren van de namen van de keys.
1 2 3 | ... } |
quote:Op donderdag 22 maart 2007 16:31 schreef CraZaay het volgende:
[..]
[ code verwijderd ]
Nog meer opties op http://nl2.php.net/manual/en/ref.array.php
Ik geloof dat hij bedoelt dat als je dan een link van youtube hebt, dus: http://www.youtube.com/watch?v=AS8nQD85jTk, dat in php het volgende gebeurt:quote:Op donderdag 22 maart 2007 22:32 schreef roelofjan het volgende:
Iets uitgebreider?
Ik kom er niet uit. ;(
1 2 3 4 5 6 7 | $link = "http://www.youtube.com/watch?v=AS8nQD85jTk"; $newlink = str_replace("watch?v=", "v/", $link); // Nieuwe link: http://www.youtube.com/v/AS8nQD85jTk ?> |
1 2 3 4 5 6 7 | $link = "http://www.youtube.com/watch?v=AS8nQD85jTk"; $newlink = str_replace("http://www.youtube.com/watch?v=", "", $link); // Nieuwe link: AS8nQD85jTk ?> |
Wat hij zegt dus...quote:Op vrijdag 23 maart 2007 00:11 schreef Geqxon het volgende:
Om Sam's voorbeeld maar te rippen:
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | $url = $_GET["url"]; $videoid = str_replace("http://www.youtube.com/watch?v=", "", $url); ?> <div align="center"> <object width="320" height="258"> <param name="movie" value="http://www.youtube.com/v/<?php echo "$videoid" ?>"> </param> <embed src="http://www.youtube.com/v/<?php echo "$videoid" ?>" type="application/x-shockwave-flash" width="320" height="258"> </embed> </object> |
Klopt. De header is het eerste dat verstuurd moet worden, daar mag niks tussen zittenquote:Op vrijdag 23 maart 2007 10:55 schreef Chandler het volgende:
Als ik een echo voor de header zet krijg ik gewoon de melding dat de headers niet verstuurd kunnen wordenen zonder het resize gedeelte gaat het gewoon helemaal goed
ImageJpeg spuugt geen header uit maar wel contents als je geen filename hebt opgegeven. Verder kunnen we bar weinig zo, zonder codequote:Op vrijdag 23 maart 2007 11:09 schreef Chandler het volgende:
Klopt, maar nu vraag ik me af of de volgende functies een header uitspugen!
imagecreatefromjpeg
ImageCreateTrueColor
ImageCopyResized
ImageJpeg
ImageDestroy
Want kan daar helaas niets over vinden op php.net...
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 | { $new = "./gallery/org-" . $id . "-" . $_FILES['foto1']['name']; $new1 = "./gallery/" . $id . "-" . $_FILES['foto1']['name']; if (move_uploaded_file($_FILES['foto1']['tmp_name'], $new)) { function cSize($im_width, $im_height, $size) { if ($im_width >= $im_height) { $factor = $size / $im_width; $new_width = $size; $new_height = $im_height * $factor; } else { $factor = $size / $im_height; $new_height = $size; $new_width = $im_width * $factor; } return array("width" => round($new_width, 0), "height" => round($new_height, 0)); } // insert into db mysql_query("INSERT INTO `fotos` (`vis_id`, `foto`) VALUES ('" . $id . "', '" . $_FILES['foto1']['name'] . "');"); // kijken of we het plaatje moeten verkleinen // alle teksten vasthouden. ob_start("ob_end"); // is the orginal file still existing. $im = @imagecreatefromjpeg($new); // file is opend for editing if ($im) { // set up thumbnail sizes $im_width = imageSX($im); $im_height = imageSY($im); if (500 >= $im_width && 500 >= $im_height) { // doe niets ImageJpeg($im, $new1, 75); } else { $new_size = cSize($im_width, $im_height, 500); // create new image. $new_im = ImageCreateTrueColor($new_size['width'], $new_size['height']); // thumbnail the image. ImageCopyResized($new_im, $im, 0, 0, 0, 0, $new_size['width'], $new_size['height'], $im_width, $im_height); // make image as jpeg. ImageJpeg($new_im, $new1, 75); // remove build settings. (cache) ImageDestroy($im); ImageDestroy($new_im); } } ob_end_clean(); } } |
1 2 | exit(); |
gedaan voordat ik je post zagquote:Op vrijdag 23 maart 2007 11:23 schreef JeRa het volgende:
ImageJpeg spuugt geen header uit maar wel contents als je geen filename hebt opgegeven. Verder kunnen we bar weinig zo, zonder code
Ik zou zeggen, comment de hele body van die functie eens uit en schakel weer regels in totdat het niet meer werktquote:Op vrijdag 23 maart 2007 11:31 schreef Chandler het volgende:
Volgens mij hoeft dat er niet eens in te staan
Uit nieuwsgierigheid: Is dit vanwege de netheid, strictheid of omdat de kans groot is dat het dan totaal niet werkt?quote:Op vrijdag 23 maart 2007 11:33 schreef JeRa het volgende:
[..]
En als een sidenote, een Location-header moet normaal gesproken een complete URI bevatten, en geen relatieve paden.
Uit de RFC:quote:Op vrijdag 23 maart 2007 11:36 schreef Geqxon het volgende:
[..]
Uit nieuwsgierigheid: Is dit vanwege de netheid, strictheid of omdat de kans groot is dat het dan totaal niet werkt?
Dus vanwege netheid, strictheid én omdat er een kans is dat sommige systemen er anders op vastlopenquote:14.30 Location
The Location response-header field is used to redirect the recipient to a location other than the Request-URI for completion of the request or identification of a new resource. For 201 (Created) responses, the Location is that of the new resource which was created by the request. For 3xx responses, the location SHOULD indicate the server's preferred URI for automatic redirection to the resource. The field value consists of a single absolute URI.
Location = "Location" ":" absoluteURI
Dát, en een additionele mogelijkheid is natuurlijk het hanteren van configfilesquote:Op vrijdag 23 maart 2007 11:42 schreef Geqxon het volgende:
Al lijkt mij dat niet handig voor standaardscript dat op veel server gedeployed moet worden. Al kun je dan wel weer met $_SERVER spelen
Ja, ik geloof dat je het als een bmp moet voorstellen, echt elke pixel stelt een byte voor. Tenminste dat las ik ergens toen ik er mee aan de slag ging.quote:Op vrijdag 23 maart 2007 12:24 schreef Chandler het volgende:
Ps. Is het logisch als je een bestand van 2MB hebt deze 20MB aan geheugen in beslag neemt met imageCreateFromJpeg?
Als hij het naar een rauw formaat omzet, kan dat best logisch zijn. Ik heb geen flauw idee dusquote:Op vrijdag 23 maart 2007 12:24 schreef Chandler het volgende:
Ps. Is het logisch als je een bestand van 2MB hebt deze 20MB aan geheugen in beslag neemt met imageCreateFromJpeg?
In je sourcecode evenquote:Op vrijdag 23 maart 2007 13:30 schreef Chandler het volgende:
Waar doel je op Geqxon? :D
1 2 3 | print_r($_FILES); ?> |
das waar die moet ik ook nog installeren op mn server!quote:Op vrijdag 23 maart 2007 12:59 schreef HuHu het volgende:
Het kan dan dus soms ook handig zijn om bijvoorbeeld ImageMagick te installeren op je server.
Ik heb de error reeds gevonden, ik moet toch echt wat meer letten op errors van php zelfquote:Op vrijdag 23 maart 2007 13:32 schreef Geqxon het volgende:
[..]
In je sourcecode even
[ code verwijderd ]
neerzetten, en wat hij uitpoept hier neerzetten
Gewoon lekker ruig "E_ALL" in je php.ini zettenquote:Op vrijdag 23 maart 2007 14:57 schreef Chandler het volgende:
[..]
Ik heb de error reeds gevonden, ik moet toch echt wat meer letten op errors van php zelf
Het is een origineel png bestandquote:Op vrijdag 23 maart 2007 15:31 schreef HuHu het volgende:
Is het wel een PNG bestand dat? Of is het een JPG/GIF/BMP die je naar *.png hebt gerenamed?
En werkt je script wel met andere PNG bestanden?
Ik las nog ergens op php.net dat er een probleem was met PNG bestanden die meer dan 256 kleuren bevatten... misschien ligt het daar aan?quote:Op vrijdag 23 maart 2007 15:39 schreef cw2cu het volgende:
[..]
Het is een origineel png bestand
en andere png afbeeldingen worden gewoon weergegeven.
dankje, ik weet niet waarom maar het is idd opgelostquote:Op vrijdag 23 maart 2007 15:44 schreef HuHu het volgende:
[..]
Ik las nog ergens op php.net dat er een probleem was met PNG bestanden die meer dan 256 kleuren bevatten... misschien ligt het daar aan?
1 |
quote:Op zaterdag 24 maart 2007 17:44 schreef Smoked het volgende:
Wat is er fout aan deze notatie?
[ code verwijderd ]
1 |
Geef de URL van de site waarop je deze query gebruikt is?quote:Op zaterdag 24 maart 2007 17:44 schreef Smoked het volgende:
Wat is er fout aan deze notatie?
[ code verwijderd ]
Als je toch over quotes valt, waarom maak je er dan niet gelijkquote:Op zaterdag 24 maart 2007 17:57 schreef Geqxon het volgende:
[..]
[ code verwijderd ]
Beter. Het lag aan de quotes. Verder is dit levensgevaarlijk, en raad ik je aan eerst te kijken of er geen rotzooi in de $_POST staat, maar daar laat ik het even bij.
1 |
Waarom is ' beter dan "?quote:Op zaterdag 24 maart 2007 19:08 schreef Light het volgende:
[..]
Als je toch over quotes valt, waarom maak je er dan niet gelijk
[ code verwijderd ]
van?
Dat is persoonlijk. De inhoud van een variabele zet ik altijd in double-quotes, de key van een array in single-quotes.quote:Op zaterdag 24 maart 2007 19:08 schreef Light het volgende:
[..]
Als je toch over quotes valt, waarom maak je er dan niet gelijk
[ code verwijderd ]
van?
Je hebt het dan wel over een verwaarloosbare snelheidswinst:quote:Op zaterdag 24 maart 2007 19:58 schreef HuHu het volgende:
Omdat bij " PHP nog gaat kijken of er iets te parsen valt binnen de string en bij ' niet. Dus ' is sneller dan ".
quote:I put together a different benchmark that does measure parsing time. It consists of two files
< ?php echo 'very long string'; ?>
and
< ?php echo "very long string"; ?>
The very long string I used was the text of the US constitution: 27,787 bytes. I measured using ab, which includes parsing time. My results:
single quotes: 27.59 ms
double quotes: 27.74 ms
Hardly earth-shattering. Single quotes was consistently faster, but by the same minor margin. This is with a 27k literal string. My guess is that you will never have enough literals in a typical PHP program for any parsing performance differential to matter.
1 |
1 |
1 2 3 4 5 6 7 8 9 10 11 | { $file = PAGE_CACHE_PATH . "page_" . $startPage->id . ".tpl"; $fd = fopen($file, "w+"); fputs($fd, serialize(array("update" => $pageArr['update'], "html" => parseTemplate($tplContainer)))); fclose($fd); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | { $fd = fopen($file, "r"); $buf = fgets($fd, filesize($file)); fclose($fd); $uns = unserialize($buf); // regel 47! if ($uns['update'] == $lastupdate) { return $uns; } } |
wat doe ik nu fout? niets toch? of zitten er bepaalde limieten aan serialize?quote:Notice: unserialize() failed at offset 38440 of 84 bytes op regel 47
Waarom gebruik je niet gewoon file_get_contents(), of fread()quote:Returns a string of up to length - 1 bytes read from the file pointed to by handle. Reading ends when length - 1 bytes have been read, on a newline (which is included in the return value), or on EOF (whichever comes first). If no length is specified, it will keep reading from the stream until it reaches the end of the line.
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 | $nieuwsid = mysql_query("SELECT nieuws_id,nieuws_titel FROM t_nieuws WHERE nieuws_titel NOT LIKE "%notulen%""); $aantalberichten = mysql_num_rows($nieuwsid); $aantpages = $aantalberichten/5; $page = $_GET['bladzijde']; $begin = $page * 5; $eind = 5; //wat code if (!$page==0) { echo "<a href="?pagina=".$_GET['pagina']."&bladzijde=".$vorige."&aantber=".$aantalberichten."" title="Vorige pagina">«</a>n"; } for ($i = 0; $i < $aantpages; $i++) { $i2 = $i + 1; if ($page==$i && $aantalberichten > 5) { echo $i2; } elseif ($aantalberichten > 6) { echo " <a href="?pagina=".$_GET['pagina']."&bladzijde=".$i."&aantber=".$aantalberichten."" title="Ga naar pagina ".$i2."">".$i2."</a> "; } } if ($aantpages > 1 && $volgende < $aantpages) { echo "<a href="?pagina=".$_GET['pagina']."&bladzijde=".$volgende."&aantber=".$aantalberichten."" title="Volgende pagina">»</a>"; } ?> |
Gewoon logisch nadenken. Je gaat van de huidige pagina 2 terug en 2 verder, alleen moet je even controleren of je niet voorbij het begin of eind komt.quote:Op maandag 26 maart 2007 10:12 schreef Qunix het volgende:
Hoe moet ik mijn code uitbreiden?
Waarom doe je dat niet gewoon in de loop?quote:Op maandag 26 maart 2007 17:51 schreef veldmuis het volgende:
Ik haal uit een DB gegevens over foto's op, en daar wil ik oa linkjes van maken.
Ik doe dat met een mysql_fetch_array, en dan een while dingetje die de linkjes echoot.
Hoe kan ik nou eerst nog iets loslaten op die mysql_fetch_array, zodat ik het linkje dat actief is een kleurtje kan geven? :)
Ik ben een kei-n00b, trouwens!
1 2 3 4 5 6 | if (...) { echo('deze is active: '); } echo($array['link']); } |
Kan ik daar dan ook gewoon een span class bijzetten?quote:Op maandag 26 maart 2007 17:58 schreef CraZaay het volgende:
[..]
Waarom doe je dat niet gewoon in de loop?
[ code verwijderd ]
Je kan erin zetten wat je wilt, tot een uittreksel van de universele verklaring voor de rechten van de mens aan toequote:Op maandag 26 maart 2007 22:48 schreef veldmuis het volgende:
[..]
Kan ik daar dan ook gewoon een span class bijzetten?
Ow, dat lijkt me wel wat!quote:Op maandag 26 maart 2007 23:52 schreef CraZaay het volgende:
[..]
Je kan erin zetten wat je wilt, tot een uittreksel van de universele verklaring voor de rechten van de mens aan toe
1 2 3 | $array[$number][] = $value => $key; ?> |
Dat kan het beste zo:quote:Op dinsdag 27 maart 2007 13:46 schreef Geqxon het volgende:
Ik zou iets als dit wel werkend willen krijgen:
[ code verwijderd ]
Iemand mogelijk tips?
1 2 3 | $array[$number][$value] = $key; ?> |
is toch helemaal niet logisch, een actief item (dus ze zijn al op de pagina), klikbaar maken.quote:
SELECT LAST_INSERT_ID() AS blabla ?quote:Op dinsdag 27 maart 2007 13:55 schreef super-muffin het volgende:
[..]
is toch helemaal niet logisch, een actief item (dus ze zijn al op de pagina), klikbaar maken.
Waarom werkt dit niet bij mij?
SELECT LAST_INSERT_ID()
Ik zou dan mijn laatste ingevoegde ID (smallint veld, key en autoincrement) maar ik krijg telkens 0 terug.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |