Jow, het voordeel is dat je MySQL al kent en dus kan blijven gebruiken...quote:Op woensdag 12 maart 2008 17:58 schreef Chandler het volgende:
Kan iemand mij het voordeel uitleggen als je werkt met MySQL en MySQL wilt blijven gebruiken?
Ik zou zeggen dat het voordeel is dat je veel makkelijker kan overstappen naar een andere DB zonder je code te hoeven herschrijven.quote:Op woensdag 12 maart 2008 18:32 schreef Chandler het volgende:
Maar slacker_nl; er is dus niet echt een voordeel snap ik?
quote:The DBI is a database access module for the Perl programming language. It defines a set of methods, variables, and conventions that provide a consistent database interface, independent of the actual database being used.
It is important to remember that the DBI is just an interface. The DBI is a layer of "glue" between an application and one or more database driver modules. It is the driver modules which do most of the real work. The DBI provides a standard interface and framework for the drivers to operate within.
Architecture of a DBI Application
1
2
3
4
5
6
7
8
9
10
11
12|<- Scope of DBI ->|
.-. .--------------. .-------------.
.-------. | |---| XYZ Driver |---| XYZ Engine |
| Perl | | | `--------------' `-------------'
| script| |A| |D| .--------------. .-------------.
| using |--|P|--|B|---|Oracle Driver |---|Oracle Engine|
| DBI | |I| |I| `--------------' `-------------'
| API | | |...
|methods| | |... Other drivers
`-------' | |...
`-'
The API, or Application Programming Interface, defines the call interface and variables for Perl scripts to use. The API is implemented by the Perl DBI extension.
The DBI "dispatches" the method calls to the appropriate driver for actual execution. The DBI is also responsible for the dynamic loading of drivers, error checking and handling, providing default implementations for methods, and many other non-database specific duties.
Each driver contains implementations of the DBI methods using the private interface functions of the corresponding database engine. Only authors of sophisticated/multi-database applications or generic library functions need be concerned with drivers.
Ik neem aan dat je het over PDO hebt?quote:Op woensdag 12 maart 2008 17:58 schreef Chandler het volgende:
Kan iemand mij het voordeel uitleggen als je werkt met MySQL en MySQL wilt blijven gebruiken?
1 2 3 | mysql_real_escape_string($code)) $q = mysql_query($sql); |
1 2 | $stm->execute(array('code' => $code)); |
1 2 3 | $stmt->bindParam(':code', $code); $stm->execute(); |
Het zit standaard bij PHP 5.1...quote:Op woensdag 12 maart 2008 20:05 schreef Chandler het volgende:
Duidelijk Sr, maar hoe veel servers ondersteunen PDO?
Ok, maar is er geen lijst beschikbaar hoeveel (gemiddeld) van de huidige online servers php 5 of hoger draaien, want volgens mij draaien veel hosters nog steeds php 4.2xquote:Op woensdag 12 maart 2008 20:56 schreef SuperRembo het volgende:
[..]
Het zit standaard bij PHP 5.1...
zou normaal gesproken moeten werken, omdat je niet buiten je eigen map komt.quote:Op vrijdag 14 maart 2008 00:52 schreef beerten het volgende:
Hoi,
ik heb subdomains aangemaakt. Nu wil ik graag dat mijn fotoscript op een ander backoffice.subdmain.nl de foto's wegschrijft in het andere foto.subdomain.nl Scrhijfacties op een ander domain staat de server niet toe. Hoe flik ik m dit?
Ik lees altijd de handleidingen...quote:Op zondag 16 maart 2008 23:37 schreef wobbel het volgende:
Wat zijn hele goede RegEx cursussen? Heb al zo'n PHPHulp.nl cursusje gevonden maar nog niet echt doorgebladerd....hebben jullie enige suggesties?
quote:Kunnen jullie tot die tijd niet ff snel een Regex maken die kijkt of een $variable een #hexadeciamele kleur is? Dus: #FF00FF of #123ABC enzo, dus # en dan minimaal 6 tekens (ik gebruik geen3 kleurige hex codes)
1 |
Nee, er zijn meestal wel verschillen. Perl regexps en perl-stijl regexps in php (preg*) komen grotendeels overeen, maar php heeft wel een paar kleine extra's. In php heb je ook posix stijl regexps (ereg*), die zijn heel anders, en hebben minder mogelijkheden. Regexps in javascript lijken er op die van perl, maar hebben veel minder mogelijkheden. De basis van regexps in .NET lijken erg op perl, maar in de geavanceerdere opties zitten grote verschillen. Dan heb je ook nog de regexps in zoekfuncties in tools as UltraEdit en Visual Studio, die zijn weer anders. En ik kwam laatst regexps tegen voor een firewall, en die waren ook weer totaal anders.quote:Op maandag 17 maart 2008 09:46 schreef wobbel het volgende:
@slakkie
Reguliere expressies zijn dus in elke programmeertaal "universeel" zeg maar?
Niet geheel, zie het commentaar van superrembo. Er zijn verschillende types regexp engines die door de verschillende talen gebruikt worden. Dat beinvloed hoe regexpen zich gedragen. Maar aangezien PHP perl-like regexpen kent vond ik de Perl docs wel een goed uitgangspunt om te beginnen met lezen. Maar dat boek "Mastering regular expressions" behandeld bijvoorbeeld ook Java en volgens mij ook PHP (maar dit weet ik niet zeker). Dat boek heeft mij enorm geholpen met het gebruik en het beter begrijpen van reguliere expressies.quote:Op maandag 17 maart 2008 09:46 schreef wobbel het volgende:
@slakkie
Reguliere expressies zijn dus in elke programmeertaal "universeel" zeg maar?
Tuurlijkquote:Op zondag 16 maart 2008 23:38 schreef wobbel het volgende:
[..]
zou normaal gesproken moeten werken, omdat je niet buiten je eigen map komt.
/home/domeinnaam/subdomain/backoffice
/home/domeinnaam/subdomain/foto
Je blijft in je eigen map "domeinnaam" dus er zou in princiepe niks fout moeten gaan
= edit =
Dat had ook wel in 1 reactie gekund![]()
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 | if ($runtime > 0){ $divider = ", "; $divider_last = " and "; $parts = array(); $entities = array( array( "singular" => "month", "plural" => "months", "minutes" => 60 * 24 * 31), array( "singular" => "day", "plural" => "days", "minutes" => 60 * 24), array( "singular" => "hour", "plural" => "hours", "minutes" => 60), array( "singular" > "minute", "plural" => "minutes", "minutes" => 1) ); foreach ($entities as $entity){ $value = floor($runtime / $entity["minutes"]); if ($value){ $parts[] = sprintf( "%d %s", $value, ($value > 1) ? $entity["plural"] : $entity["singular"] ); } $runtime = $runtime % $entity["minutes"]; } $html_parts = implode($divider, $parts); if (sizeof($parts) > 1) { $html_parts = substr_replace( $html_parts, $divider_last, strrpos($html_parts, $divider), strlen($divider) ); } return $html_parts; } ?> |
Ik gebruikte dit op mijn website:quote:Op woensdag 19 maart 2008 22:24 schreef Geqxon het volgende:
Om het resterend aantal minuten wat duidelijker te maken heb ik het volgende geschreven om "xxxx minutes remaining" om te toveren naar "1 month, 13 days and 12 seconds remaining".
[ code verwijderd ]
Iemand nog tips of aanmerkingen? Ik namelijk dat het goed werkt, en ondanks ik het getest heb ben ik bang dat ik een wiskundige fout heb 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 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 | function datediff($start_date,$end_date="now",$unit="D") { $unit = strtoupper($unit); $start=strtotime($start_date); if ($start === -1) { print("invalid start date"); } $end=strtotime($end_date); if ($end === -1) { print("invalid end date"); } if ($start > $end) { $temp = $start; $start = $end; $end = $temp; } $diff = $end-$start; $day1 = date("j", $start); $mon1 = date("n", $start); $year1 = date("Y", $start); $day2 = date("j", $end); $mon2 = date("n", $end); $year2 = date("Y", $end); switch($unit) { case "D": echo intval($diff/(24*60*60)); break; case "M": if($day1>$day2) { $mdiff = (($year2-$year1)*12)+($mon2-$mon1-1); } else { $mdiff = (($year2-$year1)*12)+($mon2-$mon1); } echo $mdiff; break; case "Y": if(($mon1>$mon2) || (($mon1==$mon2) && ($day1>$day2))){ $ydiff = $year2-$year1-1; } else { $ydiff = $year2-$year1; } echo $ydiff; break; case "YM": if($day1>$day2) { if($mon1>=$mon2) { $ymdiff = 12+($mon2-$mon1-1); } else { $ymdiff = $mon2-$mon1-1; } } else { if($mon1>$mon2) { $ymdiff = 12+($mon2-$mon1); } else { $ymdiff = $mon2-$mon1; } } echo $ymdiff; break; case "YD": if(($mon1>$mon2) || (($mon1==$mon2) &&($day1>$day2))) { $yddiff = intval(($end - mktime(0, 0, 0, $mon1, $day1, $year2-1))/(24*60*60)); } else { $yddiff = intval(($end - mktime(0, 0, 0, $mon1, $day1, $year2))/(24*60*60)); } echo $yddiff; break; case "MD": if($day1>$day2) { $mddiff = intval(($end - mktime(0, 0, 0, $mon2-1, $day1, $year2))/(24*60*60)); } else { $mddiff = intval(($end - mktime(0, 0, 0, $mon2, $day1, $year2))/(24*60*60)); } echo $mddiff; break; default: print("{Datedif Error: Unrecognized \$unit parameter. Valid values are 'Y', 'M', 'D', 'YM'. Default is 'D'.}"); } } ?> |
Sessies worden toch in een cookie bewaard of niet?quote:Op woensdag 19 maart 2008 19:13 schreef Chandler het volgende:
Cookie? waarom niet een sessie? userid=0 en ip=ip
1 2 3 4 5 6 7 8 9 10 11 12 13 | if personal.php { include("mennu_personal.php"); } if portfolio.php { include(menu_portfolio.php"); } else { leave blank } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | switch ($_GET['page']) { case "personal": $inc_page = "inc/menu_personal.inc.php"; break; case "portfolio": $inc_page = "inc/menu_portfolio.inc.php"; break; default: $inc_page = "inc/menu_default.inc.php"; } include $inc_page; ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <a href="page.php&personal=do">personal</a><br /> <a href="page.php&portfolio=do">portfolio</a> if(isset(['personal'])) { include("personal.php"); } elseif(isset(['portfolio'])) { include('portfolio.php'); } //Of je doet iets met: echo $_SERVER[PHP_SELF]; ?> |
Sessies worden op de server bewaard. De koppeling tussen sessie en gebruiker (sessie-id) wordt meestal in een cookie bij de gebruiker opgeslagen.quote:Op donderdag 20 maart 2008 09:48 schreef slakkie het volgende:
[..]
Sessies worden toch in een cookie bewaard of niet?
quote:Op donderdag 20 maart 2008 18:23 schreef wobbel het volgende:
Deze regex zorgt ervoor dat ik alleen a-z/A-Z/0-9 karakters mogen, maar hoe zorg ik ervoor dat de _ (underscore) en de . (punt) ook worden teogestaan?
Regex die ik nu heb:
$SQL_BestandsNaam = preg_replace("/[^a-zA-Z0-9]/", "", $SQL_BestandsNaam);
moet dus ook _ en . toelaten :)
1 2 3 | $SQL_BestandsNaam = preg_replace("/[^a-zA-Z0-9]_\./", "", $SQL_BestandsNaam); ?> |
1 2 3 4 | 2 david 5 3 joris 4 4 arjan 4 |
SELECT naam, sum(punten) as totaal FROM table WHERE naam = "david" GROUP BY naamquote:Op donderdag 20 maart 2008 19:47 schreef wonderer het volgende:
Als ik dit heb:
[ code verwijderd ]
met welke query kan ik dan het totaal van alles wat david (8 dus) eruit krijgen? Daar is vast wel een handigheidje voor...
Dank u wel!quote:Op donderdag 20 maart 2008 20:54 schreef Light het volgende:
[..]
SELECT naam, sum(punten) as totaal FROM table WHERE naam = "david" GROUP BY naam
group by doet eigenlijk al wat het zegt: het groepeert.quote:Op vrijdag 21 maart 2008 16:05 schreef wonderer het volgende:
Ik kende de "sum" enzo wel, maar het was me waarschijnlijk compleet ontschoten dat er nog een "group by" bij zou moeten.
Waarom moet dat eigenlijk? (als ik het begrijp, is het makkelijker te onthouden).
1 2 3 4 5 6 | * wonderer 5 1134706 * DionysuZ 10 1134706 * wonderer 2 221341 * bla 25 2131441 |
1 2 3 4 5 6 | * wonderer 42 * DionysuZ 42 * wonderer 42 * bla 42 |
1 2 3 4 5 | * wonderer 7 * DionysuZ 10 * bla 25 |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |