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 | $MySQL_Download_Assoc['Filesize'] = "3634512123"; // 3,384903187863528728485107421875 GB if($MySQL_Download_Assoc['Filesize'] <= 1024) { $Filesize = number_format($MySQL_Download_Assoc['Filesize'] / 1024, 1, ",", ".") . " KB"; } elseif($MySQL_Download_Assoc['Filesize'] >= 1025 OR $MySQL_Download_Assoc['Filesize'] <= 1048576) { $Filesize = number_format($MySQL_Download_Assoc['Filesize'] / (1024 * 1024), 1, ",", ".") . " MB"; } elseif($MySQL_Download_Assoc['Filesize'] >= 1048577 OR $MySQL_Download_Assoc['Filesize'] <= 1073741824) { $Filesize = number_format($MySQL_Download_Assoc['Filesize'] / (1024 * 1024 * 1024), 1, ",", ".") . " GB"; } else { $Filesize = number_format($MySQL_Download_Assoc['Filesize'] / (1024 * 1024), 1, ",", ".") . " MB"; } echo $Filesize; ?> |
Dit werkt (in mijn geval) nog beter.quote:Op donderdag 24 november 2005 19:03 schreef JeRa het volgende:
@the_disheaver
Je kunt voor jouw toepassingen veel beter alsnog gebruik maken van preg_replace, en kijken naar hoe (simpele) template parsers dit doen. Een standaard vervanging van een enkele variabele met preg_replace is vrij simpel, met arrays wordt het ietsjes complexer maar dat valt ook op dezelfde manier op te vangen
1 2 3 4 5 6 7 8 9 10 11 | $vars = array (); $vars [ "title" ] = "Titeltje"; $vars [ "content" ] = "Inhoud"; foreach ( $vars as $key => $value ) $template = str_replace ( '{' . $key . '}', $value, $template ) echo $template; |
1 2 3 4 5 6 7 8 | <head> <title>{title}</title> </head> <body> <p>{content}</p> </body> </html> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | if ($size <= 1024 ) { $s = number_format($size, 0, ',', '.') . ' bytes'; } else if ($size <= 1024 * 1024) { $s = number_format($size / 1024, 1, ',', '.') . ' kB'; } else if ($size <= 1024 * 1024 * 1024) { $s = number_format($size / (1024 * 1024), 1, ',', '.') . ' MB'; } else if ($size <= 1024 * 1024 * 1024 * 1024) { $s = number_format($size / (1024 * 1024 * 1024), 1, ',', '.') . ' GB'; } else { $s = number_format($size / (1024 * 1024 * 1024 * 1024), 1, ',', '.') . ' TB'; } return $s; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 10 bytes = 10 bytes 100 bytes = 100 bytes 1000 bytes = 1.000 bytes 10000 bytes = 9,8 kB 100000 bytes = 97,7 kB 1000000 bytes = 976,6 kB 10000000 bytes = 9,5 MB 100000000 bytes = 95,4 MB 1000000000 bytes = 953,7 MB 10000000000 bytes = 9,3 GB 100000000000 bytes = 93,1 GB 1000000000000 bytes = 931,3 GB 10000000000000 bytes = 9,1 TB 3634512123 bytes = 3,4 GB |
Thnx, eigenlijk werkt alles in mijn site met functies (1 function library php file met meer dan 2000 regels code)quote:Op donderdag 24 november 2005 21:18 schreef SuperRembo het volgende:
Zoals al gezegd, als je al weet dat een getal niet <= 1024 is, dan hoef je daarna niet te controleren of het >= 1025 is
Wat er nou precies fout gaat zie ik niet zo 1, 2, 3. Je code is niet zo overzichtelijk door die overbodige controle en doordat overal $MySQL_Download_Assoc['Filesize'] staat. Dit is typisch iets wat je makkelijker in een functie zet.
[ code verwijderd ]
Resultaten:
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | $MySQL_Download_Assoc['Filesize'] = "3634512123"; // 3,384903187863528728485107421875 GB if($MySQL_Download_Assoc['Filesize'] >= 1073741824) $Filesize = number_format($MySQL_Download_Assoc['Filesize'] / (1024 * 1024 * 1024), 1, ",", ".") . " GB"; }elseif($MySQL_Download_Assoc['Filesize'] >= 1025 OR $MySQL_Download_Assoc['Filesize'] >= 1048576){ $Filesize = number_format($MySQL_Download_Assoc['Filesize'] / (1024 * 1024), 1, ",", ".") . " MB"; }elseif($MySQL_Download_Assoc['Filesize'] >= 1048577 OR $MySQL_Download_Assoc['Filesize'] >= 1024){ $Filesize = number_format($MySQL_Download_Assoc['Filesize'] / 1024, 1, ",", ".") . " KB"; }else{ $Filesize = number_format($MySQL_Download_Assoc['Filesize'], 1, ",", ".") . " Bytes"; } echo $Filesize; ?> |
1 |
1 |
Die b moet een hoofdletter B zijn in dat scriptjequote:Op donderdag 24 november 2005 21:18 schreef Chandler het volgende:
http://www.phpfreakz.nl/library.php?sid=17556
het kan nog beter trouwens, zie de comments in dit scriptje
De waarde in de elseif functie was verkeerd ipv de waarde van de variablequote:Op donderdag 24 november 2005 21:26 schreef ikke_ook het volgende:
wat the_disheaver zegt idd, die fout heb ik er in bovenstaand script uitgehaald.
de groter dan functie eruit gehaald, en een '{' toegevoegd.quote:Op donderdag 24 november 2005 21:24 schreef ikke_ook het volgende:
zo dan :
[ code verwijderd ]
-edit-
Ik geloof dat ik een beetje laat ben met mn reactie
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | $MySQL_Download_Assoc['Filesize'] = "3634512123"; // 3,384903187863528728485107421875 GB if($MySQL_Download_Assoc['Filesize'] >= 1073741824){ $Filesize = number_format($MySQL_Download_Assoc['Filesize'] / (1024 * 1024 * 1024), 1, ",", ".") . " GB"; }elseif($MySQL_Download_Assoc['Filesize'] >= 1048576) { $Filesize = number_format($MySQL_Download_Assoc['Filesize'] / (1024 * 1024), 1, ",", ".") . " MB"; }elseif($MySQL_Download_Assoc['Filesize'] >= 1024){ $Filesize = number_format($MySQL_Download_Assoc['Filesize'] / 1024, 1, ",", ".") . " KB"; }else{ $Filesize = number_format($MySQL_Download_Assoc['Filesize'], 1, ",", ".") . " Bytes"; } echo $Filesize; ?> |
Nee, ik denk dat je dan met Regular Expressions aan de slag moet.quote:Op donderdag 24 november 2005 18:31 schreef the_disheaver het volgende:
Het is me nu gelukt met de eval() functie. Maar niet optimaal.
(ik wil dat de variable in een variable gewijzigd wordt door de waarde van de variable)
ff ter verduidelijkin:
[ code verwijderd ]
Maar het werkt niet als ik een variable als '$conf['form'] gebruik.
Kan ie ook zo'n soort variable eval'en?
Dat zou moeten kunnen met unset.quote:Op vrijdag 25 november 2005 14:05 schreef Desdinova het volgende:
kan ik mn $_GET data verwijderen? dus dattie halverwege mn PHP file de $_GET['test'] leeg maakt bijvoorbeeld.
1 2 3 4 | $MySQL_Online_Select = "SELECT count(`Datum`) FROM Online WHERE IdUser = '" . addslashes($_SESSION['IdLid']) . "'"; $MySQL_Online_Query = mysql_result($MySQL_Online_Select,0); ?> |
1 |
Gebruik mysql_error() om te zien waar de fout in de query zitquote:Op vrijdag 25 november 2005 17:10 schreef wobbel het volgende:
Krijg stomme fout bij deze code
[ code verwijderd ]
MySQL connectie is gewoon gemaakt. Tabel Online bestaat, IdUser veld bestaat en Datum bestaat ook.
Er zitten trouwens GEEN rijen in de tabel, maar dat hoeft toch niet...ben toch dom aan het tellen
Error:
[ code verwijderd ]
Krijg ik dezelfde errorquote:Op vrijdag 25 november 2005 17:15 schreef JeRa het volgende:
[..]
Gebruik mysql_error() om te zien waar de fout in de query zit
1 |
Doe eensquote:Op vrijdag 25 november 2005 17:17 schreef wobbel het volgende:
[..]
Krijg ik dezelfde error
[ code verwijderd ]
[afbeelding]
dan krijg ik helemaal geen error in beeldquote:Op vrijdag 25 november 2005 17:25 schreef JeRa het volgende:
[..]
Doe eens
$result = @mysql_query(...)
or die(mysql_error());want die warning komt niet van mysql_error() af
owjah, met query erbijquote:Op vrijdag 25 november 2005 17:40 schreef Ro�a� het volgende:
<?php
$MySQL_Online_Select = "SELECT count(`Datum`) FROM Online WHERE IdUser = '" . addslashes($_SESSION['IdLid']) . "'";
$MySQL_Online_Query = mysql_query($MySQL_OnlineSelect);
$MySQL_Online_Result = mysql_result($MySQL_Online_Query,0);
?>
Gruwelijk scherpquote:Op vrijdag 25 november 2005 17:40 schreef Ro�a� het volgende:
<?php
$MySQL_Online_Select = "SELECT count(`Datum`) FROM Online WHERE IdUser = '" . addslashes($_SESSION['IdLid']) . "'";
$MySQL_Online_Query = mysql_query($MySQL_OnlineSelect);
$MySQL_Online_Result = mysql_result($MySQL_Online_Query,0);
?>
mysql_result is fijn met count queries:quote:Op vrijdag 25 november 2005 17:42 schreef JeRa het volgende:
[..]
Gruwelijk scherp [afbeelding] ik gebruik mysql_result() nooit, dus ik las er gelijk overheen
Ik heb tot nu toe alle talen waarin ik regelmatig iets schrijf (PHP, C/C++, Java) zelf geleerd door:quote:Op vrijdag 25 november 2005 20:08 schreef Onderbroek het volgende:
klein vraagje over het leren van php/html:
toen jullie begonnen met php/html etc, hoe zijn jullie begonnen met het onder de knie krijgen van deze 'talen'?
Gebruik gemaakt van een boek of website?..van iemand anders afgekeken?
Ik ben een jaar of 10 terug begonnen met html. Die codes kan ik ondertussen wel dromen, hoewel ik nog af en toe wel eens een tag moet opzoeken wanneer dit een weinig gebruikte tag is.quote:Op vrijdag 25 november 2005 20:08 schreef Onderbroek het volgende:
klein vraagje over het leren van php/html:
toen jullie begonnen met php/html etc, hoe zijn jullie begonnen met het onder de knie krijgen van deze 'talen'?
Gebruik gemaakt van een boek of website?..van iemand anders afgekeken?
Ikzelf kan 'al' () een simpele html website maken in dreamweaver maar ik ken (jammergenoeg) de codes niet om het bijvoorbeeld in kladblok te maken. \
Ik ben nu bezig met php met behulp van een boek (academic service; php5), maar het gaat allemaal moeizaam. De oefeningen gaan zonder probleem want het is een kwestie van overtypen. Soms moet je zelfstandig iets aanpassen e.d....dat lukt allemaal redelijk.
Maar het is allemaal zo onoverzichtelijk met de vele codes die je op je afgevuurd krijgt.
Mijn vraag is nu; hoe hebben jullie geleerd om uit de blote kop html/php codes te leren zonder te spieken in een boek of maken jullie toch gebruik van een boek/e.d.?
* wobbel herkent zich daarinquote:Op vrijdag 25 november 2005 21:10 schreef Chandler het volgende:
Ik heb het geleerd door te spelen met bestaande sources oftewel het veranderen van html codes en dan zien wat er gebeurd, css moest ik wel leren via w3c maar toch... voor php ging dit het zelfde, ben helaas niet zo'n boeken leerder (wou dat ik dat was maar goed soms heb ik het wel geprobeerd hoor) maar wat ik al zei, veel voorbeelden bekijken en kijken wat nu wat doet.. dan weer iets kleins maken en kijkn of het lukt, voor iedere commando is/zijn er wel referenties te vinden op het internet...
Dan is 2 tabellen compleet overbodig.quote:Op zaterdag 26 november 2005 13:30 schreef Desdinova het volgende:
maar stel nou dat er max 1 per item kan?
Nu kan ik via forms het catalogusnummer (in dit geval LIQWEED002) en de side (in dit geval A) opgeven. De side wordt gekozen uit een lijst. Nu heb ik die lijst door laten lopen tot de letter K. Het komt natuurlijk vaak voor dat een plaat alleen kant A en B heeft. Als iemand bij een bepaald catalogusnummer dan toch de letter K opgeeft, bestaat de file niet. Wat er dan gebeurd, is dat de file alsnog in realplayer (of real alternative met wmp classic) wordt geopend, maar dat er dan in de player zelf de error wordt gegeven dat de file niet bestaat.quote:
Je weet zeker dat Onwaar en Waar er met een hoofdletter uit komt rollen?quote:Op zaterdag 26 november 2005 23:23 schreef morpheus_at_work het volgende:
ik loop tegen een voor mij raak probleemje aan
ik heb een werkende functie , die geeft als return waarde Waar en Onwaar eruit , dit zie ik ook
als een echo op de functie doe.
nu wil ik de output van de functie gebruiken om te bepalen of iets mag gebeuren of niet
dus ik doe
[code]
if (check_login() == 'Onwaar') { "blabla"; }
if (check_login() == 'Waar') { "blabla"; }
hij laat nu zowel de 1ste if en 2de if niet zien
ik loop nu stuk op wat er nu fout gaat , want er is geen error te bekennen
iemand een aanwijzing.
1 2 3 4 5 6 7 | if (check_login() == 'Waar') { //doe iets } else{ //doe het niet } ?> |
1 2 3 4 5 | $check_login = check_login(); if ($check_login == 'Onwaar') { "blabla"; } if ($check_login == 'Waar') { "blabla"; } ?> |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |