Juist,...quote:Op woensdag 13 augustus 2008 09:41 schreef Tiemie het volgende:
[..]
escapen met mysql_real_escape_string.
Dan addslashes om je string heen gooien of handmatig een \ toevoegenquote:Op woensdag 13 augustus 2008 09:52 schreef ManAtWork het volgende:
[..]
Juist,...
Misschien staat de vraag dan op de verkeerde plaats. (En dat hoor ik dan nu wel.) Ik werk in de Microsoft SQL Server.
Dan is de data die je aan de SQL server aanreikt niet voldoende geprepareerd.quote:Op woensdag 13 augustus 2008 09:52 schreef ManAtWork het volgende:
[..]
Juist,...
Misschien staat de vraag dan op de verkeerde plaats. (En dat hoor ik dan nu wel.) Ik werk in de Microsoft SQL Server.
Nee dat werkt niet. Bij MSSQL moet je een ' escapen met een '. ManAtWork kan beter met PDO gaan werken, dat voorkomt dit soort gekut.quote:Op woensdag 13 augustus 2008 10:24 schreef Tiemie het volgende:
[..]
Dan addslashes om je string heen gooien of handmatig een \ toevoegen
Waar dan?quote:Op vrijdag 15 augustus 2008 15:45 schreef ursel het volgende:
Zo, ff een bugje in Pear Net_FTP gerapporteerd..
een timestamp op alleen een datum hebben we weinig aan..
Iemand trouwens nog op mijn vraaggie hierboven??
met daarbij het gedeelte van line 1298quote:File './thirdparties.csv' could not be downloaded to 'D:/wwwroot/live/tmp/thirdparties.csv'.
[Warning] ftp_nb_get(): File transfer failed on line 1298
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | if (@function_exists('ftp_nb_get')) { $res = @ftp_nb_get($this->_handle, $local_file, $remote_file, $mode); while ($res == FTP_MOREDATA) { $this->_announce('nb_get'); $res = @ftp_nb_continue($this->_handle); } } else { $res = @ftp_get($this->_handle, $local_file, $remote_file, $mode); } if (!$res) { return $this->raiseError("File '".$remote_file. "' could not be downloaded to '$local_file'.", NET_FTP_ERR_OVERWRITELOCALFILE_FAILED); } else { return true; } ?> |
Ik gok omdat het komt omdat ftp_nb_continue een waarde retouneert (regel 6) die false is (0, "", "0", false, null) , waardoor de if-statement passed op regel 11, wat de foutmelding triggert.quote:Op maandag 18 augustus 2008 10:14 schreef ursel het volgende:
Mja, met mijn andere email-adres lukte het vandaag wel de bug te reggen..![]()
Maar heb nog een "wazig" probleem met mijn Net-FTP.
We hebben een soort van listener op onze centrale FTP server welke elke minuut een check doet of er bepaalde files aanwezig zijn op de FTP server. Echter bij de eerste keer dat hij een file vindt dan eindigt dit steevast in de melding:
[..]
met daarbij het gedeelte van line 1298
[ code verwijderd ]
Nu doen we zelf al van tevoren de local_file verwijderen als deze bestaat alvorens we de "get" functie aan te roepen van Net_FTP.
Het probleem is eigenlijk dat de eerste keer als het bestand gevonden wordt, dan krijgen we de bovenstaand melding. Echter een minuut later vindt de "listener" het bestandje weer en loopt hij er moeiteloos doorheen.![]()
Iemand suggestie waar dit aan kan liggen en/of hoe er voor te zorgen dat het de eerste keer goed gaat?
1 2 3 4 | include('includes/settings.php'); include('includes/common_frontpage.php'); ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><wat>html</wat> |
1 2 3 | [18-Aug-2008 19:20:16] PHP Warning: Cannot modify header information - headers already sent by (output started at /public_html/includes/common_frontpage.php:1) in /public_html/includes/common_frontpage.php on line 199 [18-Aug-2008 19:20:16] PHP Warning: Cannot modify header information - headers already sent by (output started at /public_html/includes/common_frontpage.php:1) in /public_html/includes/common_frontpage.php on line 200 |
Hmm, morgen maar ff checken. Maar hoe verklaar je het dan dat die bij de 2e check opeens wel doet.quote:Op maandag 18 augustus 2008 20:40 schreef slakkie het volgende:
[..]
Ik gok omdat het komt omdat ftp_nb_continue een waarde retouneert (regel 6) die false is (0, "", "0", false, null) , waardoor de if-statement passed op regel 11, wat de foutmelding triggert.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | $ftp_conn = ftp_connect("www.euronet.nl"); ftp_login($ftp_conn, "usert", "passwd"); $ret = ftp_nb_get($ftp_conn, "/tmp/tmp.jpg", "wes_groot.jpg", FTP_BINARY); while ($ret == FTP_MOREDATA) { $ret = ftp_nb_continue($ftp_conn); } if ($ret != FTP_FINISHED) { echo "There was an error downloading the file..."; exit(1); } |
quote:Op maandag 18 augustus 2008 20:52 schreef ralfie het volgende:
Iemand al wel eens problemen gehad met schijnbare spook-output?
..
1 2 3 4 5 6 7 8 9 10 11 12 13 | klanten.dealer_id, dealer.naam AS dealernaam, klanten.achternaam, klanten.voorletters, klanten.voornaam, klanten.stad, klanten.orders FROM klanten LEFT JOIN dealer ON dealer.id = klanten.dealer_id LEFT JOIN bestelling ON bestelling.klant_id = klanten.id GROUP BY klanten.id LIMIT 0 , 30 |
Zelfkennis +1quote:Op woensdag 20 augustus 2008 08:27 schreef Chandler het volgende:
@SR: Tnx, tis jammer dat je geen gebruikers een rating kan geven(al zou mijn rating dan down the drain zijn maar goed)
Je wil niet wetenquote:
1 2 3 4 5 6 | SET lengte = CASE breedte WHEN 90 THEN lengte - 270 WHEN 140 THEN lengte - 210 END WHERE breedte IN (90, 140) |
Oe netjes! Ik begrijp het zo goed als helemaal, alleen is het nou mogelijk als de Master server offline is (en je weet dat hij verlopig ook offline blijft...) een slave server in te zetten als Master? Dat is erg belangerijk voor mij!quote:Op dinsdag 19 augustus 2008 21:22 schreef slakkie het volgende:
Zonder code changes:
http://dev.mysql.com/doc/refman/5.0/en/replication.html
En anders kan je een array aanmaken van mysql connecties en door die array lopen en je queries uitvoeren.
Is ook mogelijk, ff klikken en dan kom je dat document ook tegen.quote:Op woensdag 20 augustus 2008 13:41 schreef Likkende_Lassie het volgende:
[..]
Oe netjes! Ik begrijp het zo goed als helemaal, alleen is het nou mogelijk als de Master server offline is (en je weet dat hij verlopig ook offline blijft...) een slave server in te zetten als Master? Dat is erg belangerijk voor mij!
1 2 3 4 5 6 7 8 9 | $naam["jan"] = 30; $naam["piet"] = 75; foreach($naam as $score){ echo [hier dus de naam] echo $score; } ?> |
1 2 3 4 5 | foreach($naam as $key => $val) { printf("%s is %s jaar oud\n", $key, $val); } ?> |
Die statement kende ik niet.quote:Op woensdag 20 augustus 2008 13:07 schreef SuperRembo het volgende:
Dat kan ook zonder procedure/user defined function: met een CASE statement
[ code verwijderd ]
Nee, geen output... Enige wat ik kan bedenken is dat er ergens een BOM zit, maar wel raar dat die nooit eerder dit deed (zelfde editor, gwn kladblok)...quote:Op maandag 18 augustus 2008 22:30 schreef wipes66 het volgende:
[..]
Probeer anders eens:
[php]ob_start();
include()....
$output = ob_get_contents();
ob_end_clean();
var_dump($output);die();
Als je dan ziet dat er geen output is dan is het misschien een bug
1 2 3 4 5 6 7 8 9 10 11 | { $namen['namen']=array("naam1", "naam2"); $omschrijvingen['omschrijving']=array("omschrijving1", "omschrijving2"); $projects=array("omschrijvingen"=>$omschrijvingen, "namen"=>$namen); print_r($projects); return $projects; } |
1 2 3 4 | $names = array("naam1", "naam2"); $omschrijvingen = array("omschrijving1", "omschrijving2"); ?> |
1 2 3 4 5 6 | $projects = array() $project = array ("naam" => "naam v project", "omschrijving" => "omschrijving van project") $projects[] = $project ?> |
Ah oke.. en wat als ik nu meerdere namen en omschrijvingen in deze array wil hebben, zonder dat het wordt overschreven?quote:Op donderdag 21 augustus 2008 09:47 schreef slacker_nl het volgende:
Maar is het niet logischer om dit te doen:
[ code verwijderd ]
Ik wil een rijtje met projecten (wat later uit de database gehaald wordt) waarvan ik de naam van het project en de omschrijving laat tonen, gebruikmakend van Smarty.quote:Op donderdag 21 augustus 2008 09:47 schreef Scorpie het volgende:
Waarom wil je het opd ie manier hebben eigenlijk? En wat gaat er niet goed, wat is de output?
$projects[] = $project // array_push systaxquote:Op donderdag 21 augustus 2008 09:53 schreef Sjoe538 het volgende:
[..]
Ah oke.. en wat als ik nu meerdere namen en omschrijvingen in deze array wil hebben, zonder dat het wordt overschreven?
DIe array_push is niet echt aan te raden. Is namelijk beduidend langzamer dan de andere manierquote:Op donderdag 21 augustus 2008 10:47 schreef slacker_nl het volgende:
[..]
$projects[] = $project // array_push systax
je pushed dus telkens projecten in de projects array.
Tnx, dat werkt erg fijn!!!quote:Op woensdag 20 augustus 2008 13:07 schreef SuperRembo het volgende:
Dat kan ook zonder procedure/user defined function: met een CASE statement
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | header("Cache-Control: no-cache, must-revalidate"); header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Cache-Control: no-cache"); header("Pragma: no-cache"); header("Content-disposition:filename=dashedline.png"); $Img = imagecreate($width,$width); $TextColor = imagecolorallocate($Img,139,137,137); $BackgroundColor = imagecolorallocate($Img,32,32,32); ImageFilledRectangle($Img,0,0,$width,$width ,$BackgroundColor); imagestring($Img,2,10,0,$Date1 ,$TextColor); imagedashedline($Img, 0, 13,$width-10,13, $TextColor); imagestring($Img,2,10,13,$Date2 ,$TextColor); imagecolortransparent($Img,$BackgroundColor); imagepng($Img); ImageDestroy($Img); exit(); |
Kan allebei. Maar PHP lijkt me hiervoor het meest geschikt.quote:Op donderdag 21 augustus 2008 @ 16:25 schreef Flipper01 het volgende:
Ik wil graag een routebeschrijving op mijn website weergeven waarbij de bezoeker op mijn site een formuliertje invult waarvan de gegeven vervolgens worden verwerkt in een nieuwe pagina. Kan dit met php of moet ik dan aan de slag met javascript?
1 2 3 4 5 6 7 | FOR EACH ROW BEGIN IF NEW.value < 0 THEN -- CANCEL INSERT OF NEW ?? END IF; END; |
Dat is mooi, want ik kan wel aardig met php overweg, maar niet met javascript..quote:Op donderdag 21 augustus 2008 18:53 schreef frenchfries het volgende:
Kan allebei. Maar PHP lijkt me hiervoor het meest geschikt.
1 2 3 4 5 6 7 8 9 | <form action="route.htm" method="post"> <p><strong>Straat en huisnummer:</strong><br /> <input name="straat" type="text" size="20" /> <input name="nummer" type="text" size="4" /></p> <p><strong>Woonplaats:</strong><br /> <input name="plaats" type="text" size="25" /></p> <input type="submit" name="submit" value="Routebeschrijving »" /> </form> ?> |
Waarom niet gewoon met GET en direct doorlinken naar de googlepagina? Heb je nieteens PHP of javascript voor nodig!quote:Op vrijdag 22 augustus 2008 @ 10:23 schreef Flipper01 het volgende:
[..]
Dat is mooi, want ik kan wel aardig met php overweg, maar niet met javascript..
Ik heb nu het volgende formulier op route.htm:
[ code verwijderd ]
Het is de bedoeling dat na verzenden van het formulier een nieuwe pagina wordt geopend met de volgende link: http://maps.google.nl/maps?daddr=grote+markt,+Groningen&geocode=&dirflg=&saddr=STRAAT+NUMMER,+PLAATS
Hoe krijg ik dit voor elkaar??
Character class: [\w_]+quote:Op vrijdag 22 augustus 2008 11:34 schreef Chandler het volgende:
kleine regex vraag; nu match ik woorden met \w+ maar helaas pakt deze geen _ hoe kan ik dit wel realiseren?
Iemand?quote:Op donderdag 21 augustus 2008 16:33 schreef Likkende_Lassie het volgende:
Toch is het voor mij nog niet duidelijk of ik het volgende kan doen (meerdere master servers?)
Ik heb een aantal klanten met een dedicated server, en zij draaien elk hun eigen mysql database server.
Ik zou graag willen dat al die klanten, hun server met die van mij kunnen syncen.
Niemand?quote:Op donderdag 21 augustus 2008 12:09 schreef Darkomen het volgende:
Ik heb een probleem met imagedashedline, ik krijg het niet voor elkaar om een horizontale dashed line te creeren op mn image.
Een normale imageline werkt weer wel, dus vervang ik puur imageline met imagedashedline en je ziet gelijk niks.
Een scheve dashed line dan weer wel, wat doe ik fout.
php5 trouwens.
[ code verwijderd ]
Hoe kan ik dat voor elkaar krijgen op mijn pagina??quote:Op vrijdag 22 augustus 2008 11:40 schreef frenchfries het volgende:
[..]
Waarom niet gewoon met GET en direct doorlinken naar de googlepagina? Heb je nieteens PHP of javascript voor nodig!
1 |
quote:Op zondag 24 augustus 2008 12:01 schreef Flipper01 het volgende:
[..]
Hoe kan ik dat voor elkaar krijgen op mijn pagina??
1 2 3 4 5 6 | <p><strong>addres:</strong><br /> <input name="saddr" type="text" size="20" /> </p> <input type="hidden" name="daddr" value="grote markt, groningen" /> <input type="submit" name="submit" value="Routebeschrijving »" /> </form> |
ik kan me bijna niet voorstellen dat iemand mysql_fetch_object() vrijwillig gebruikt, laat staan het tegenovergestelde. Hoe dan ook, die functie bestaat niet. Je kunt die natuurlijk wel zelf maken.quote:Op maandag 25 augustus 2008 11:09 schreef splendor het volgende:
Ik maak al langer gebruik van mysql_fetch_object(), maar bestaat er ook zoiets als mysql_insert_as_object()?
Ik wil dus een object met al haar waarden met 1 simpele functie in een tabel kunnen stoppen op een nieuw id.
psssst, ga PDO gebruiken..quote:Op maandag 25 augustus 2008 11:09 schreef splendor het volgende:
Ik maak al langer gebruik van mysql_fetch_object(), maar bestaat er ook zoiets als mysql_insert_as_object()?
Ik wil dus een object met al haar waarden met 1 simpele functie in een tabel kunnen stoppen op een nieuw id.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | function openFile() { $GLOBALS['fd'] = fopen("filename", "w+"); } function writeStuff() { fputs($GLOBALS['fd'], "ABC"); } function closeFile() { fclose($GLOBALS['fd']); } ?> |
Hoe zorg ik dat het lijstje weergegeven wordt met enters na elke regel?quote:<?php
$ik['naam'] = 'Minq';
$ik['leeftijd'] = '18';
$ik['beroep'] = 'Student';
$ik['interesses'] = 'Graffiti, webdesign, muziek';
echo $ik['naam'];
echo $ik['leeftijd'];
echo $ik['beroep'];
echo $ik['interesses']
?>
1 2 3 4 5 6 7 8 | $ik['naam'] = 'Minq'; $ik['leeftijd'] = '18'; $ik['beroep'] = 'Student'; $ik['interesses'] = 'Graffiti, webdesign, muziek'; echo $ik['naam']."<br />\r\n". $ik['leeftijd']."<br />\r\n".$ik['beroep']."<br />\r\n".$ik['interesses']; ?> |
1 2 3 4 5 6 7 8 | if($_FILES['file']['size'] > 0){ $fileName = $_FILES['file']['name']; $tmpName = $_FILES['file']['tmp_name']; $fileSize = $_FILES['file']['size']; $fileType = $_FILES['file']['type']; $content = addslashes(file_get_contents($tmpName)); ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | Warning: mssql_query(): message: The identifier that starts with 'ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' is too long. Maximum length is 128. (severity 15) in C:\AppServ\www\samples\index.php on line 98 Warning: mssql_query(): message: The identifier that starts with '\0\0 \0\0! \0\0\" \0\0* \0\0+ \0\0@ \0\0„\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0w\0\0\0\0\0\0\0\0\0\0\0\0n\0\0\0\0\' is too long. Maximum length is 128. (severity 15) in C:\AppServ\www\samples\index.php on line 98 Warning: mssql_query(): message: The identifier that starts with 'q\0\0\0hãsÑ\06>*mH sH \0h P\06>*mH sH \0ho\06>*mH sH \0hiT±\06>*mH sH \0hâ\0hãsÑ\06>*mH ' is too long. Maximum length is 128. (severity 15) in C:\AppServ\www\samples\index.php on line 98 Warning: mssql_query(): message: The identifier that starts with 'z÷zWOÊ6ˆóÓ—ð”»®¿@ñÙp< ¨°Ü# –64*G2\0U*eƒ©¨ˆïw Gíï “WÛ£‘¸¨‰¨*bZ~¨åè†ÄXGt÷˜ç²{‡:®± îÍ’¸Å¥Ò¥¶ößBF5û±¸êhNbEÜ“n 7¶³;j' is too long. Maximum length is 128. (severity 15) in C:\AppServ\www\samples\index.php on line 98 Warning: mssql_query(): message: The identifier that starts with 'qZû{õN°w¢N|Ð;Þïyr%¬^ÞÌg¿ålö Nc?OÄÀS×à—‹Èð[XØ¿rn»7W´Á3%¸†±MÚh_¡sv½³Q:9–ÊÉîôµlBƒe¨/ R„Ì@×eÒ2eB)§ÊPSU™ú!ÛÌPõh‹ú' is too long. Maximum length is 128. (severity 15) in C:\AppServ\www\samples\index.php on line 98 Warning: mssql_query(): message: Cannot use empty object or column names. Use a single space if necessary. (severity 15) in C:\AppServ\www\samples\index.php on line 98 Warning: mssql_query(): message: The identifier that starts with '÷¢¦qµ zÊxÌÍ‹õ4Ú…{yäúJrgÏý=ÔÕ‰òõ–0ÌBÛ‘KÎ &<qPô—¬î[*\\[3Qg7úÇ}“…—ú2JaÌFeÑ_ªòVxa\'¼ /,ÆÂ á…Oá…üðB ׿Nˆr ˆ%N5' is too long. Maximum length is 128. (severity 15) in C:\AppServ\www\samples\index.php on line 98 Warning: mssql_query(): message: The label '¼' has already been declared. Label names must be unique within a query batch or stored procedure. (severity 15) in C:\AppServ\www\samples\index.php on line 98 |
Heb ik gedaan en zag toen tot mijn grote spijt dat ik ergens een variabel overschreefquote:Op dinsdag 26 augustus 2008 09:59 schreef slacker_nl het volgende:
@chandler, your code works for me..
Wellicht dat je even is_resource($GLOBALS['fd']) { /* do stuff */ } moet doen.
quote:Op dinsdag 26 augustus 2008 13:24 schreef Swetsenegger het volgende:
[ code verwijderd ]
En als je het mooi wil doen neem je een lus door je array heen.
Ik heb een mssql probleempje, ik wil binaire data in een image veld zetten. Data wordt middels een form geupload,
[ code verwijderd ]
en content wordt de database ingeschreven. Resultaat:
[ code verwijderd ]
etc.....
Wat doe ik fout?
Verander de eigenschappen van het veld eens.quote:Maximum length is 128.
mssql heeft geen blob en aan image kan ik geen size meegeven. Er is wel een binary en varbinary veld, maar een row mag dan maar een maximale size van 8060 bytes hebben.quote:Op dinsdag 26 augustus 2008 13:36 schreef Tiemie het volgende:
[..]
[..]
Verander de eigenschappen van het veld eens.![]()
Maak er een blob van.
http://www.microsoft.com/(...)/c1161.mspx?mfr=truequote:Op dinsdag 26 augustus 2008 13:38 schreef Swetsenegger het volgende:
[..]
mssql heeft geen blob en aan image kan ik geen size meegeven. Er is wel een binary en varbinary veld, maar een row mag dan maar een maximale size van 8060 bytes hebben.
Voor binary data in een mssql database zou je image veld moeten gebruiken als ik google
Wel degelijk een PHP vraag:quote:Op dinsdag 26 augustus 2008 13:19 schreef Xcalibur het volgende:
ik vind het eigenlijk ook geen PHP vraag, maar een html vraag...
1 2 3 | print "Hello world" . PHP_EOL ?> |
niet echt een nadeel, maar ik zie er gewoon het nut nie van in om een object te gebruiken als ik deze data toch meteen een array in slinger of echo.quote:Op maandag 25 augustus 2008 21:11 schreef splendor het volgende:
@ralfie, wat voor nadelen heeft mysql_fetch_object() dan volgens jou? Want ik gebruik het met veel plezier en het heeft tot nu toe alleen maar voordelen opgeleverd.
Jammer dat die functie niet bestaat, maar dan schrijf ik er zelf een.
@slakkie, tnx ik ken het niet maar ik zal het eens doorlezen op php.net en kijken of het veel voordelen biedt.
eh ja, maar die staan alleen in je source. Je browser zal linebreaks niet parsen en dat is wat minq specifiek vroeg.quote:Op dinsdag 26 augustus 2008 14:31 schreef slacker_nl het volgende:
[..]
Wel degelijk een PHP vraag:
PHP_EOL, zorgt ervoor dat de juiste EOL character wordt gebruikt (is OS afhankelijk).
[ code verwijderd ]
Windows: Hello world\r\n
Unix: Hello world\n
Mac: Hello world\r
Helaas kan je PHP_EOL niet aanpassen, zoals $\ onder perl.
1 2 3 4 5 6 7 8 9 10 | if($_FILES['file']['size'] > 0){ $fileName = $_FILES['file']['name']; $tmpName = $_FILES['file']['tmp_name']; $fileSize = $_FILES['file']['size']; $fileType = $_FILES['file']['type']; $content = base64_encode(file_get_contents($tmpName)); } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | require_once('includes/connect.php'); if(isset($_GET['file']) && is_numeric($_GET['file'])) { $query = "SELECT filename, filetype, filesize, filecontent FROM samplelist WHERE id = ".$_GET['file']; $result = mssql_query($query) or die('Error, query failed'); list($name, $type, $size, $content) = mssql_fetch_array($result); header("Content-type: application/octet-stream name=$name "); header("Content-Disposition: attachment; filename=$name"); header("Content-length: $size"); header("Content-type: $type"); echo base64_decode($content); } ?> |
quote:Op dinsdag 26 augustus 2008 15:17 schreef Swetsenegger het volgende:
[..]
eh ja, maar die staan alleen in je source. Je browser zal linebreaks niet parsen en dat is wat minq specifiek vroeg.
Aka, EOL/newline characters. Dat kan dus met PHP_EOL. Al kunnen we ook zeggen;quote:Op dinsdag 26 augustus 2008 11:46 schreef minq het volgende:
Ik ben 'n beetje aan 't oefenen met PHP en heb 'n vraag..
[..]
Hoe zorg ik dat het lijstje weergegeven wordt met enters na elke regel?
Yeah right alsof een beginnende php'er met php-cli bezig is. Die wil het gewoon in zijn browser zien en hij vraagt specifiek naar weergeven. Ergo <br /> og hoogtens nl2br.quote:Op dinsdag 26 augustus 2008 15:53 schreef slacker_nl het volgende:
[..]
[..]
Aka, EOL/newline characters. Dat kan dus met PHP_EOL. Al kunnen we ook zeggen;
print "Hello world\n" voor Unix, print "Hello world\r\n" voor Windows en print "Hello world\r" voor Mac. En mocht ie het in een browser willen laten zien (wat er niet staat), dan kan ie print "Hello world</br>" . PHP_EOL uitvoeren
PHP is niet alleen uit te voeren via een browser (ik gebruik zelf 90% php-cli).
Het zou zomaar kunnen, ik ben een beginnend PHP'er.quote:Op dinsdag 26 augustus 2008 16:03 schreef Swetsenegger het volgende:
[..]
Yeah right alsof een beginnende php'er met php-cli bezig is. Die wil het gewoon in zijn browser zien en hij vraagt specifiek naar weergeven. Ergo <br /> og hoogtens nl2br.
Dan vraag je toch niet om enters weergeven Maar goed, dan zal minq opzoek zijn naar EOL'squote:Op dinsdag 26 augustus 2008 16:13 schreef JortK het volgende:
Ik kan me best voorstellen dat je zaken niet in de browser hoeft te zien, je kan namelijk ook PHP schrijven die niets hoeft te laten zien, zoals ik zelf met een data mining project bezig ben waarbij er geen output op het scherm komt maar alles in een database geknald word
Nee hoor. Daarom heb ik dos2unix tools nodig om die ^M characters weg te halen uit files die vanuit Windows aangemaakt worden....quote:Op dinsdag 26 augustus 2008 16:21 schreef Swetsenegger het volgende:
[..]
Dan vraag je toch niet om enters weergeven Maar goed, dan zal minq opzoek zijn naar EOL's
tip daarvoor, gebruik gewoon altijd \r\n, werkt op elk OS goed.
Hier ook. De meeste webservers gebruiken Linux, ken niemand met Windows die voor ieder bestand voor 'ie het gaat uploaden de regeleindes moet converteren.quote:Op dinsdag 26 augustus 2008 16:25 schreef Swetsenegger het volgende:
Mijn windows aangemaakte PHP's werken prima op een OSX php installatie en op een linux installatie. Inclusief \r\n
Nee klopt, ook in mailbody's en dergelijke gebruik ik gewoon \r\n en dat gaat altijd goed, ook als die mail op een OSX systeem binnen komt. Ik heb die tip ook ergens van een developper site getrokken. Zo van, de quick & dirty methode is gewoon altijd \r\n gebruiken dat werkt prima op elk OS. Tot op heden ben ik er geen probleem mee tegen gekomen, en ik ontwikkel altijd door elkaar op windows en OSX.quote:Op dinsdag 26 augustus 2008 16:31 schreef CraZaay het volgende:
[..]
Hier ook. De meeste webservers gebruiken Linux, ken niemand met Windows die voor ieder bestand voor 'ie het gaat uploaden de regeleindes moet converteren.
Uploaden met FTP in ASCII mode.quote:Op dinsdag 26 augustus 2008 16:31 schreef CraZaay het volgende:
[..]
Hier ook. De meeste webservers gebruiken Linux, ken niemand met Windows die voor ieder bestand voor 'ie het gaat uploaden de regeleindes moet converteren.
Dan is het niet meer portable denk ikquote:Op dinsdag 26 augustus 2008 17:29 schreef Xcalibur het volgende:
Zinloze discussie over het weergeven van linebreaks zeg![]()
@Swets: waarom wil je die dingen in je database zetten? Waarom sla je niet gewoon de locatie van het bestand op?
OMdat ze al fysiek op een locatie staan van gemapte schijven en die locatie kan wijzigen. Om ze nu op een andere server weer fysiek weg te zetten is niet handig, dus vandaar in een blob. Maar ik ga wel eens kijken of het anders kanquote:Op dinsdag 26 augustus 2008 17:29 schreef Xcalibur het volgende:
Zinloze discussie over het weergeven van linebreaks zeg![]()
@Swets: waarom wil je die dingen in je database zetten? Waarom sla je niet gewoon de locatie van het bestand op?
Het gaat mis met bijzondere tekens. Ik heb al gevonden op internet dat dat een bug lijkt te zijn in php 4.x Ik heb dus vandaag de server geupdate morgen even kijken of het nu wel werkt. Zo niet, ga ik toch kijken of ik relatief naar filesystem kan linken.quote:Op dinsdag 26 augustus 2008 18:38 schreef SuperRembo het volgende:
@Swetsenegger
Ik weet niet wat je nu voor "oplossing" hebt, maar addslashes() is als je met MSSql werkt so wie so zinloos. (In MSSql moet je een ' niet escapen met een \ maar met een '). M<et base64 omzelf je dat, maar efficient is 't zeker niet.
In MySQL eigenlijk stiekem ook toch, ook al gebruikt iedereen backslashes?quote:Op dinsdag 26 augustus 2008 18:38 schreef SuperRembo het volgende:
(In MSSql moet je een ' niet escapen met een \ maar met een ').
Dat wist ik niet, maar het werkt inderdaad op beide manieren.quote:Op dinsdag 26 augustus 2008 20:08 schreef CraZaay het volgende:
[..]
In MySQL eigenlijk stiekem ook toch, ook al gebruikt iedereen backslashes?
Document wellformdness nagekeken?quote:Op dinsdag 26 augustus 2008 23:23 schreef ursel het volgende:
Is er trouwens iemand een beetje bekend met Smarty, of heeft iemand anders een verklaring voor het volgende:
De klant logt in op de test-site. Alles werkt goed qua lay-out. Echter, als hij naar het beheer van de site gaat zou hij een lijst moeten zijn met alle pagina's die er zijn. Maar dat ziet hij dus niet.
Heb voor gemak even snel in een table geknalt om verder te testen en deze table een border gegeven. Dat ziet hij allemaal, echter de desbetreffende tekst en lijst met alle pagina's niet.
Hij ziet dus alleen een lege table en wel de borders van deze table.
Log ik nu in op de site met zijn inlog gegevens, dan zie ik wel alles gewoon..
Het ligt dus niet aan het user profiel.
Nu weet ik wel dat hij op een wat ouderen IE draait (IE6 en Win 2000), maar dat kan toch geen reden van dit probleem zijn??
Kan je dan niet beter het pad naar de schijf in de config zetten ofzo?quote:Op dinsdag 26 augustus 2008 18:18 schreef Swetsenegger het volgende:
OMdat ze al fysiek op een locatie staan van gemapte schijven en die locatie kan wijzigen. Om ze nu op een andere server weer fysiek weg te zetten is niet handig, dus vandaar in een blob. Maar ik ga wel eens kijken of het anders kan
Vergeten te melden dat ik dat geinstalleerd heb en ermee getest..quote:Op dinsdag 26 augustus 2008 23:56 schreef frenchfries het volgende:
http://tredosoft.com/Multiple_IE is daar handig voor.
Wat je kan doen is vragen of hij de bron van de pagina een keer door wil sturen, als die gewoon overeen komt met die die jij hebt, ligt het in ieder geval aan een verschil aan de client-side.
Gevaar hierbij is wel dat als je een kopie van de DB verplaatst naar je andere omgeving dat je dan niet moet vergeten dit ook aan te passen mocht de 2 locaties niet identiek zijn.quote:Op woensdag 27 augustus 2008 08:27 schreef Xcalibur het volgende:
[..]
Kan je dan niet beter het pad naar de schijf in de config zetten ofzo?
Zodat je die alleen hoeft te wijzigen als het nodig is, of wisselt het te onvoorspelbaar daarvoor?
Mja, daarom snap ik het ook niet..quote:@ursel: lijkt me geen Smarty probleem, maar gewoon HTML
Ik heb hetzelfde probleem gehad met een LI met floatende elementen erin, waarbij ik van de UL een Scriptaculous Sortable had gemaakt (javascript dus). Daar viel ineens de content van de spans weg in IE6. FF2/3 en IE7 was niks aan de hand
1 2 3 4 5 6 7 8 | $getal = (int)$_POST['dag']; if ($dag >= 1 && $dag <= 31) { // De dag is goed } else { // De dag is niet goed } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | function toJsArray($arr) { $num = count($arr); $str = ""; $x = 0; foreach ($arr AS $id => $key) { $x++; $str .= "[" . $id . "," . $key . "]" . (($x < $num) ? "," : ""); } return $str; } ?> |
1 2 3 4 5 6 7 8 9 10 11 | function toJsArray($arr) { $str = ''; foreach ($arr AS $id => $key) { $str .= '[' . $id . ',' . $key . '],'; } return substr($str, 0, -1); } ?> |
1 2 3 4 5 6 7 8 9 10 | function toJsArray($arr) { $result = array(); foreach ($arr as $id => $key) { $result[] = '[' . $id . ',' . $key . ']'; } return implode(',', $result); } ?> |
1 2 3 4 5 6 7 | function toJsArray($ar) { foreach($ar as $k => &$it) $it="[{$k}, {$it}]"; return join(', ',$ar); } ?> |
Ik weet niet wat je van plan bent, maar als het de bedoeling is om die array in javascript te gebruiken kan json_encode() erg handig zijn.quote:Op woensdag 27 augustus 2008 21:05 schreef Chandler het volgende:
Iemand een idee hoe ik het volgende simpel kan realiseren?
Stel ik heb een array
$arr = array(1 => 20, 2 => 32, 3 => 12, 4 => 40, 5 => 25, 6 => 75);
en ik wil dit zo in een string krijgen
[1, 29], [2, 32], [3, 12], [4, 40], [5, 25], [6, 75]
Ik zou welquote:Op woensdag 27 augustus 2008 19:26 schreef HuHu het volgende:
[ code verwijderd ]
Je kunt dit ook in de HTML al een beetje doen door de gebruiker geen tekstveld te geven die hij kan invullen, maar een drop-down box waarin alleen de getallen 1 t/m 31 staan. Dat is alleen niet genoeg, maar voorkomt wel fouten.
en een is_numeric() test erbij gooien zodat je geen warnings krijgt op je int conversie.. en dus de user kan teruggooien naar je input scherm ofzo.quote:
Ik vind het overigens erg verwarrend dat de value in je foreach key noemt, in plaats van de keyquote:Op woensdag 27 augustus 2008 21:05 schreef Chandler het volgende:
Iemand een idee hoe ik het volgende simpel kan realiseren?
Stel ik heb een array
$arr = array(1 => 20, 2 => 32, 3 => 12, 4 => 40, 5 => 25, 6 => 75);
en ik wil dit zo in een string krijgen
[1, 29], [2, 32], [3, 12], [4, 40], [5, 25], [6, 75]
want nu doe ik het zo:
[ code verwijderd ]
Of gewoon intval() gebruiken.quote:Op donderdag 28 augustus 2008 01:51 schreef slakkie het volgende:
[..]
en een is_numeric() test erbij gooien zodat je geen warnings krijgt op je int conversie.. en dus de user kan teruggooien naar je input scherm ofzo.
Schopje.quote:Op donderdag 21 augustus 2008 21:16 schreef Xcalibur het volgende:
ik probeer PostgreSQL te installeren, maar m'n PHP begrijpt het niet![]()
PostgreSQL draait op zich prima, ik heb de bijbehorende DLL in m'n extensionmap staan, maar als ik de regel in php.ini uitcomment krijg ik de melding "Unable to load dynamic library". Ik weet zeker dat het pad goed is, bovendien heb ik geexpirimenteerd met verschillende versies van het bestand wat me verschillende foutmeldingen heeft opgeleverd...
Mis ik een ander bestand? Moet ik een bepaalde versie hebben? Moet er nog iets in m'n php.ini gebeuren?
Onder Windows neem ik aan, staat het path goed?quote:Op donderdag 28 augustus 2008 19:49 schreef Xcalibur het volgende:
[..]
Schopje.
Dit werkt nog steeds niet?
Het mag dan wat verwarrend zijn, maar hoe je het ook noemt het gaat om de outputquote:Op donderdag 28 augustus 2008 09:00 schreef Xcalibur het volgende:
Ik vind het overigens erg verwarrend dat de value in je foreach key noemt, in plaats van de key
Niemand die hier iets op weet? Of een andere manier om een INSERT te voorkomen middels MySQL?quote:Op donderdag 21 augustus 2008 19:04 schreef HuHu het volgende:
Weet iemand of het mogelijk is met MySQL middels een TRIGGER een INSERT te voorkomen?
Dus iets als:
[ code verwijderd ]
Een DELETE bij een AFTER INSERT gaat niet, omdat de zojuist ingevoegde rij dan nog gelocked is.
$_ENV['path'] toont dat ook (staat hier op oa. d:\program files (x86)\php)? Dat is een van de weinige dingen die fout kan gaan. Hier draait postgresql prima onder de php-5.2.5 win32 binary.quote:Op donderdag 28 augustus 2008 20:29 schreef Xcalibur het volgende:
Ah, die path. Ja, die staat ook goed
Hoe heb je die zo snel gevonden... ik kon niets vinden met Google. Zat waarschijnlijk weer op de verkeerde woorden te zoekenquote:Op vrijdag 29 augustus 2008 09:32 schreef GlowMouse het volgende:
[..]
$_ENV['path'] toont dat ook (staat hier op oa. d:\program files (x86)\php)? Dat is een van de weinige dingen die fout kan gaan. Hier draait postgresql prima onder de php-5.2.5 win32 binary.
HuHu: http://www.brokenbuild.co(...)lete-with-a-trigger/
http://www.google.nl/search?hl=nl&safe=off&q=mysql+abort+insert&btnG=Zoeken&meta=quote:Op vrijdag 29 augustus 2008 09:41 schreef HuHu het volgende:
[..]
Hoe heb je die zo snel gevonden... ik kon niets vinden met Google. Zat waarschijnlijk weer op de verkeerde woorden te zoeken.
Maar het is wel een beetje vieze manier, er is dus blijkbaar geen nette oplossing. Zelf had ik het nu al opgelost door ongeldige waarden in een kolom te stoppen, waardoor er een error optrad die vervolgens werd genegeerd. Eens kijken of deze manier geen error oplevert, dat is dan wel beter.
Ja:quote:Op vrijdag 29 augustus 2008 09:32 schreef GlowMouse het volgende:
[..]
$_ENV['path'] toont dat ook (staat hier op oa. d:\program files (x86)\php)? Dat is een van de weinige dingen die fout kan gaan. Hier draait postgresql prima onder de php-5.2.5 win32 binary.
1 2 3 4 5 6 7 8 9 10 11 12 13 | fish.user_id, fish.catchdate, fish_categories.name, users.username, media.id AS photo_id FROM fish LEFT JOIN users ON users.id = fish.user_id LEFT JOIN media ON media.source_id = fish.id LEFT JOIN fish_categories ON fish_categories.id = fish.fish_id GROUP BY fish.id ORDER BY fish.id DESC LIMIT 0,4 |
1 2 3 4 | 1 SIMPLE users ref id id 4 nl_visfreaks.fish.user_id 2 1 SIMPLE media ALL NULL NULL NULL NULL 135 1 SIMPLE fish_categories ref id id 4 nl_visfreaks.fish.fish_id 8 |
1 2 3 4 5 6 7 8 9 10 11 12 13 | fish.user_id, fish.catchdate, fish_categories.name, users.username, media.id AS photo_id FROM fish FORCE INDEX(id) LEFT JOIN users ON users.id = fish.user_id LEFT JOIN media ON media.source_id = fish.id LEFT JOIN fish_categories ON fish_categories.id = fish.fish_id GROUP BY fish.id ORDER BY fish.id DESC LIMIT 0,4 |
Nu zie ik dat de voorbeelden andersom moesten, dan klopt het!quote:The name index is an index over the last_name and first_name columns. The index can be used for queries that specify values in a known range for last_name, or for both last_name and first_name. Therefore, the name index is used in the following queries
Als je een index hebt op (lastname, firstname) dan kun je queries doen als:quote:Op zondag 31 augustus 2008 22:04 schreef Chandler het volgende:
In het voorbeeld dat ik net las stond het volgende:
[..]
Nu zie ik dat de voorbeelden andersom moesten, dan klopt het!
nog een mooie quote:
MySQL cannot use an index if the columns do not form a leftmost prefix of the index gewoon index volgen in je where parameters beginnend van links naar rechter en eventueel meer toevoegen... ?
1 2 3 4 5 | FROM stats_ip_link LEFT JOIN stats_ip ON stats_ip.id = stats_ip_link.ip_id WHERE UNIX_TIMESTAMP( stats_ip_link.lastdate ) > ( UNIX_TIMESTAMP( NOW( ) ) - ( 60 *15 ) ) GROUP BY stats_ip_link.stat_id |
1 2 3 | 1 SIMPLE stats_ip_link ALL NULL NULL NULL NULL 70168 Using where; Using temporary; Using filesort 1 SIMPLE stats_ip eq_ref PRIMARY PRIMARY 4 gfxstatcom_db.stats_ip_link.ip_id 1 Using index |
1 2 3 4 5 | FROM stats_ip_link LEFT JOIN stats_ip ON stats_ip.id = stats_ip_link.ip_id WHERE UNIX_TIMESTAMP( stats_ip_link.lastdate ) > ( UNIX_TIMESTAMP( NOW( ) ) - ( 60 *15 ) ) GROUP BY stats_ip_link.stat_ |
En die query moet ook wachten als de tabel geüpdatet wordt, dus dat kan wel wat traagheid veroorzaken, maar met een rij of 80 is het anders heel snel als die index benut kan worden.quote:Die index moet wel benut kunnen worden, en als je een functie op een kolom loslaat, kan dat niet meer. Zelf werk ik altijd met unix timestamps in een database, maar jouw aanpak moet ook kunnen werken. Kun je niet iets doen als lastdate > mysqls datetime formaat van 15 minuten geleden?
1 2 3 4 5 | FROM stats_ip_link LEFT JOIN stats_ip ON stats_ip.id = stats_ip_link.ip_id WHERE stats_ip_link.lastdate > ....... GROUP BY stats_ip_link.stat_id |
1 2 3 4 5 | FROM stats_ip_link LEFT JOIN stats_ip ON stats_ip.id = stats_ip_link.ip_id WHERE stats_ip_link.lastdate > ( NOW( ) - ( 60 *15 ) ) GROUP BY stats_ip_link.stat_id |
1 2 3 4 | FROM stats_ip_link LEFT JOIN stats_ip ON stats_ip.id = stats_ip_link.ip_id WHERE stats_ip_link.lastdate > ( NOW( ) - ( 60 *15 ) ) |
http://bitfilm.net/2007/08/25/choosing-optimal-mysql-data-types/quote:TIMESTAMP requires 4 bytes.
DATETIME requires 8 bytes.
1 2 3 4 5 | RewriteBase /project RewriteCond %{REQUEST_FILENAME} \.^(gif|jpe?g|png)$ [NC] RewriteRule ^([A-Za-z0-9-\-.\/]+)$ index.php?input=$1 |
En waarom zou je dat dan willenquote:Op maandag 1 september 2008 18:45 schreef Xcalibur het volgende:
Je kunt geen twee timestamps in 1 tabel gebruiken... in ieder geval geen timestamps die automatisch geupdate worden iig.
1 2 | modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP |
Vreemd. Maar dan maak je gewoon 1 autoupdate kolom (modified) en de ceated insert je zelf. (Dat insert statement heb je uiteraard maar op 1 plaats staan, dus dat pas je ze aanquote:MySQL said:
#1293 - Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause
Wat is het nut van twee kolommen waar altijd dezelfde waarde in staat?quote:Op maandag 1 september 2008 20:00 schreef Chandler het volgende:
je kunt wel twee timestamps gebruiken maar zit er een máár aan!. De eerste timestamp zal automatisch geupdated worden en de tweede niet, beetje vervelend![]()
1 |
quote:Op maandag 1 september 2008 22:23 schreef Farenji het volgende:
Ik gok dat je niet het juiste ipadres of de juiste hostnaam hebt ingevuld.
quote:Database-server: sql10.pcextreme.nl (sql10.pcextreme.nl)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $mysqlserver = "sql10.pcextreme.nl"; $user = "user"; $password = "password"; $database = "database"; $connect = mysql_connect($mysqlserver, $user, $password) or die (mysql_error()); // echo "<p>Er is een connectie opgezet met de MySQL-server: <strong>" . $mysqlserver . "</strong>. "; mysql_select_db($database) or die (mysql_error()); // echo " Van deze MySQL-server is de database <strong>" . $database . "</strong> geselecteerd.</p>"; ?> |
1 2 3 4 5 6 7 8 | echo '<SELECT MULTIPLE SIZE=10>'; while($row = mysql_fetch_array($result)){ echo '<OPTION VALUE='.$row["id"].'>'; echo $row["name"]; } echo "</SELECT>"; ?> |
Behalve een veld van het type set, maar die ben ik nog nooit in het wild tegengekomen.quote:Op maandag 1 september 2008 23:53 schreef Farenji het volgende:
Een veld in mysql bevat altijd 1 waarde; geen lijst van waardes.
Dan wordt het tijd om ander werk te zoeken of de opdracht te weigeren. Serieus. Je gebruikt een relationele database.quote:Op dinsdag 2 september 2008 00:07 schreef Hafez het volgende:
Nogmaals dit slaat natuurlijk nergens op, maar dit is een test voor een complexere situatie waar ik geen andere keus heb op dit moment.
dit ging over nummers met een punt bvquote:Die nummers kun je het beste opslaan als een mediumint (signed/unsigned, afhankelijk van of je wel/geen negatieve nummers tegenkomt).
Wat denk je er zelf vanquote:Op dinsdag 2 september 2008 08:52 schreef Chandler het volgende:
nu wil ik ze ook precies zo opslaan (met de punt) en dat doe ik nu in een varchar 10, echter zou ik willen weten of hier ook een andere functie data type voor is?![]()
Waarom zou je de subquery niet willen uitvoeren in je WHERE clause?quote:Op woensdag 3 september 2008 00:50 schreef wipes66 het volgende:
Maar hoe kan je dan bijvoorbeeld selecteren op 'd'? (zonder de subquery uit te voeren bij 'WHERE')
Omdat hij dan 2x wordt uitgevoerd? (of wordt dat automatisch geoptimaliseerd? )quote:Op woensdag 3 september 2008 01:07 schreef slakkie het volgende:
[..]
Waarom zou je de subquery niet willen uitvoeren in je WHERE clause?
Kan je dan niet beter zoiets doen:quote:Op woensdag 3 september 2008 01:50 schreef wipes66 het volgende:
SELECT id, name, (SELECT COUNT(id) FROM feed_items WHERE product_id = products.id) AS numshops
FROM products WHERE (SELECT COUNT(id) FROM feed_items WHERE product_id = products.id) > 0
ik zou zeggen dat MAX(num) sneller is, om de eenvoudige reden dat deze gemaakt is voor de handeling... maar ik kan het niet onderbouwen ofzoquote:Op woensdag 3 september 2008 00:50 schreef wipes66 het volgende:
Weet iemand welke sneller is?
SELECT num FROM products ORDER BY num DESC LIMIT 0,1
of
SELECT MAX(num) FROM products
tnxquote:Op woensdag 3 september 2008 03:59 schreef slakkie het volgende:
[..]
Kan je dan niet beter zoiets doen:
SELECT products.id as p_id, products.name as p_name, COUNT(feed_items.id) as numshops
FROM products, feed_items
WHERE feed_items.product_id = p_id
GROUP BY p_id, p_name, numshops
HAVING numshops > 0
En ik wil de data uit de array ophalen.quote:SELECT a.*, b.*
FROM a, b
WHERE a.id = b.id
wat mij het meest logische leek, werkt niet.quote:while ($rij = mysql_fetch_array($result)) {
$id = $rij['a.id'];
$name = $rij['b.name'];
}
Ah! Daarom vond ik nietsquote:Op donderdag 4 september 2008 22:49 schreef HuHu het volgende:
Je moet niet mysql_fetch_array gebruiken, maar mysql_fetch_assoc.
Dat maakt weinig uit. Beide leveren een associative array. Het verschil is dat mysql_fetch_array ook een numerieke array levert. Je kunt de data dus op 2 manieren benaderen.quote:Op donderdag 4 september 2008 22:49 schreef HuHu het volgende:
Je moet niet mysql_fetch_array gebruiken, maar mysql_fetch_assoc.
1 2 3 4 5 6 | while ($rij = mysql_fetch_array($result)) { $id = $rij['id']; $name = $rij['name']; } ?> |
Ja, en de standaard is MYSQL_BOTH. Daarbij, met enkel verwijzen naar mysql_assoc wordt de vraag niet beantwoord.quote:Op donderdag 4 september 2008 23:43 schreef slakkie het volgende:
Sterker nog met mysql_fetch_array kan je een numerieke, associatieve of beide opvragen:
array mysql_fetch_array ( resource $result [, int $result_type ] )
The type of array that is to be fetched. It's a constant and can take the following values: MYSQL_ASSOC, MYSQL_NUM, and the default value of MYSQL_BOTH.
Ik zou het niet met php doen maar met phatch. Dat draait onder ubuntu, kijk er eens naarquote:Op vrijdag 5 september 2008 11:40 schreef Chandler het volgende:
Wederom heb ik een vraagje (wanneer niet)
Stel ik heb 100.000 JPG bestanden varierend tussen de 10KB en 1MB en wil deze eigelijk allemaal wat kleiner hebben qua bestandsformaat. Nu wil ik deze graag comprimeren middels PHP echter wil ik het verlies van de kwaliteit zo klein mogelijk houden.
Wat raden jullie aan? want als ik zelf het compressie ratio instel moet ik per afbeelding gaan controlleren of de afbeelding er met dat ratio nog wel mooi uitziet... Anyone?
Ps. converteren naar PNG of ander formaat is niet mogelijk (in dit idee)
je kan trimmen wat je wilt, maar dat is een string bewerking die uiteindelijk een andere (lege) string oplevert. NULL is iets totaal anders; dat is "niets". Dus geen lege string, maar gewoon niets.quote:Op vrijdag 5 september 2008 16:21 schreef poepeneesje het volgende:
Ik zou het graag als NULL willen opslaan. Ik ga even kijken naar trim.
Dan kun je bij het samenstellen van de INSERT-query ervoor zorgen dat voor het veld wat je NULL wilt hebben helemaal niets wordt geschreven. Dus checken bij het bouwen van de query of de string (eventueel na trimmen; de PHP-functie) leeg is, en alleen als dat niet zo is de waarde naar de db schrijven.quote:Op vrijdag 5 september 2008 16:51 schreef poepeneesje het volgende:
Bij het verzenden van het formulier naar de database, wil ik dat indien er niets wordt ingevuld in de textarea, dat er in de datebase in dat valt gewoon NULL staat en geen spatie.
Of gewoon niets inserten, waarbij MySQL er zelf NULL van maakt (als je in je schema NULL toestaat en als default value hebt).quote:Op vrijdag 5 september 2008 16:57 schreef GlowMouse het volgende:
en in dat geval NULL ipv een string INSERTEN.
1 2 3 4 5 6 7 8 | $input = " "; $input = trim($input); if (!strlen($input)) { $input = null } # Doorgaan alsof er niks aan de hand is ?> |
Een lege string is in sommige gevallen beter dan NULL. Soms wil je namelijk echt een onderscheid maken tussen een lege string en NULL, bijv als je in een left join wil controleren of er geen match is, en dat kan dan niet (of is minder betrouwbaar) als er ook NULL values in bestaande rows zitten.quote:Op vrijdag 5 september 2008 17:12 schreef poepeneesje het volgende:
CraZaay & GlowMouse, ik wist niet dat het ook een PHP-functie is. Daar ga ik vanavond dan even opnieuw naar kijken.
Het wordt niet zozeer als lege string opgeslagen, maar echt als een spatie. Waarschijnlijk maakt het niet veel uit, maar het is wel netter (vind ik) als er dan gewoon niets wordt opgeslagen. Maar ik denk dat ik weet waar het misgaat, nu je begint over een lege string.
Ik ga vanavond even kijken, bedankt voor de snelle reacties jongens.
Dat wordt het niet, het blijft gewoon leeg terwijl je NULL moet hebben in je query.quote:Op vrijdag 5 september 2008 17:22 schreef slakkie het volgende:
[ code verwijderd ]
Ik ga er maar even vanuit dat null van php ook in de query gewoon NULL wordt..
Dan maak je er in slakkies code $input = 'NULL' van. Het is dan string waarde 'NULL', maar wanneer je deze unescaped in je query zet is het gewoon "bla = NULL" in de query. Heel die query is namelijk al een samenstelling van strings.quote:Op vrijdag 5 september 2008 17:25 schreef GlowMouse het volgende:
Dat wordt het niet, het blijft gewoon leeg terwijl je NULL moet hebben in je query.
Zo makkelijk is het niet. Er zal dan de string 'NULL' in je database komen in plaats van NULL. Je zou bijvoorbeeld iets kunnen doen als then $input='NULL' else $input = "'" . $db->escape($input) . "'". Maar nogmaals: waarom moeilijk doen als je het niet nodig hebt, je geen idee hebt wat je doet, en je jezelf alleen ellende op de hals haalt?quote:Op vrijdag 5 september 2008 17:29 schreef CraZaay het volgende:
[..]
Dan maak je er in slakkies code $input = 'NULL' van. Het is dan string waarde 'NULL', maar wanneer je deze unescaped in je query zet is het gewoon "bla = NULL" in de query. Heel die query is namelijk al een samenstelling van strings.
Nee, dat is niet correctquote:Op vrijdag 5 september 2008 17:32 schreef GlowMouse het volgende:
Zo makkelijk is het niet. Er zal dan de string 'NULL' in je database komen in plaats van NULL.
1 2 3 4 5 | $input = 'NULL'; mysql_query("INSERT INTO table (input) VALUES ($input);"); ?> |
1 |
Dit is een versimpelde versie uiteraard, ik ga er vanuit dat je ook geen zin hebt in injection enzo en al iets met die string gedaan hebt, bijvoorbeeld ge-escaped wanneer je er wel een string in wilt hebbenquote:Op vrijdag 5 september 2008 17:47 schreef GlowMouse het volgende:
Maar je hebt nooit VALUES($input) staan, omdat je dan in de problemen komt als $input een echte string is. Vandaar mijn else
Met PDO werkt het wel:quote:Op vrijdag 5 september 2008 17:25 schreef GlowMouse het volgende:
[..]
Dat wordt het niet, het blijft gewoon leeg terwijl je NULL moet hebben in je query.
Maar ik zou me de problemen met NULL in je db niet op de hals halen als je het niet nodig hebt. Sla gewoon een lege string op.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | $db = ""; $host = "localhost"; $dbname = "test"; $user = "root"; $passwd = ""; try { $db = new PDO(sprintf("mysql:host=%s;dbname=%s", $host, $dbname), $user, $passwd); } catch (PDOException $e) { printf("DB error: %s\n", $e->getMessage()); exit(1); } $sth = $db->prepare("INSERT INTO testing (val) VALUES ( ? )"); $sth->bindValue(1, null); $sth->execute(); ?> |
1 2 3 4 5 6 7 8 | -> ; +----+------+ | id | val | +----+------+ | 2 | NULL | +----+------+ 1 row in set (0.00 sec) |
Moet ${dag} zijn, ipv {$dag}, of ook niet, mag beide.. mkay.quote:Op zaterdag 6 september 2008 00:45 schreef CraZaay het volgende:
Of "$jaar-$maand-$dag 00:00:00", als je minder wilt concatenaten(mocht dat problemen geven, zet dan {} rond je vars, dus {$dag}).
Ga slapenquote:Op zaterdag 6 september 2008 01:04 schreef slakkie het volgende:
Moet ${dag} zijn, ipv {$dag}, of ook niet, mag beide.. mkay.
Thnx! Dit vind ik zelf ook wel de meest handige schrijfwijzequote:Op zaterdag 6 september 2008 00:45 schreef CraZaay het volgende:
Of "$jaar-$maand-$dag 00:00:00", als je minder wilt concatenaten(mocht dat problemen geven, zet dan {} rond je vars, dus {$dag}).
1 global tabelquote:Op maandag 8 september 2008 15:52 schreef Chandler het volgende:
Klopt maar wat raad je aan, zit namelijk zelf te denken aan 1 global tabel voor alle plugins ipv per plugin een tabel.
1 2 3 4 5 6 7 | echo "<select name='print' style='width: 387px'> <option>-</option> <option if(isset($print) && ($print==1)){echo selected='selected';} value='1'>Ja</option> <option if(isset($print) && ($print==0)){echo selected='selected';} value='0'>Nee</option> </select>;" ?> |
Niet gaan klooien, zorgt alleen maar voor meer problemen. Vraag ze de tijd gewoon goed in te stellen. Of krijg je gewoon de GMT tijd terug? Daar kun je wel mee rekenen uiteraard, als je die altijd krijgt.quote:Op maandag 8 september 2008 20:17 schreef poepeneesje het volgende:
Daarnaast heb ik nog het volgende, de tijd op MySQL-server van PCextreme loopt twee uur achter. Hoe zorg ik ervoor dat ik de juiste tijd opsla in de database, ik gebruik nu now() om de huidige (datebase)tijd op te slaan. Optellen van twee uur bij de tijd geeft waarschijnlijk problemen bij het voor- en achteruit zetten van de tijd.
Dit zou ik doen (met code-tag, syntax highlighter hier kan het niet aan anders):quote:Met een variable lukt het me wel, maar ik zou graag dus een stuk PHP hebben die xHTML print waarin weer een stuk PHP voorkomt, hoe krijg ik dit (netjes) voor elkaar?
1 2 3 4 5 6 7 8 9 | echo(" <select name='print' style='width: 387px'> <option>-</option> <option <?= (isset($print) && ($print == 1)) ? 'selected=\'selected\'' : '' ?> value='1'>Ja</option> <option <?= (isset($print) && ($print == 0)) ? 'selected=\'selected\'' : '' ?> value='0'>Nee</option> </select> "); ?> |
De tijd zal ingesteld staan op GMT en blijbaar staat de server ook in de UK, dus moet je die omrekenen naar CET, zie http://dev.mysql.com/doc/(...)#function_convert-tzquote:Op maandag 8 september 2008 20:17 schreef poepeneesje het volgende:
Daarnaast heb ik nog het volgende, de tijd op MySQL-server van PCextreme loopt twee uur achter. Hoe zorg ik ervoor dat ik de juiste tijd opsla in de database, ik gebruik nu now() om de huidige (datebase)tijd op te slaan. Optellen van twee uur bij de tijd geeft waarschijnlijk problemen bij het voor- en achteruit zetten van de tijd.
Als je na gaat denken over PHP die PHP moet genereren zit je op het verkeerde pad. Dat is niet wat je wil, punt.quote:En is het daarnaast mogelijk om het volgende op een goede manier voor elkaar te krijgen?
[ code verwijderd ]
Met een variable lukt het me wel, maar ik zou graag dus een stuk PHP hebben die xHTML print waarin weer een stuk PHP voorkomt, hoe krijg ik dit (netjes) voor elkaar?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | function SelectBoxHTML($name, $options, $selected) { $html = "<select name=\"$name\" style=\"width: 387px\" onchange=\"this.form.submit();\">\n"; foreach ($options as $value => $text) { $html .= "<option"; if ($value == $selected) { $html .= " selected=\"selected\""; } $html .= " value=\"$value\">$text</option>\n"; } $html .= "</select>\n"; return $html; } print "<html><body><form>"; print "<p>Printen? " . SelectBoxHTML('print', array("1" => "Ja", "0" => "Nee", "2" => "Misschien"), $_GET['print']) . "</p>"; print "<p>Favoriete kleur? " . SelectBoxHTML('fav_kleur', array("rood" => "rood", "geel" => "geel", "pimpelpaars" => "pimpelpaars", "zwart" => "zwart"), $_GET['fav_kleur']) . "</p>"; print "</form></body></html>"; ?> |
Dat wil 'ie ook niet getuige z'n voorbeeldquote:Op maandag 8 september 2008 21:31 schreef Farenji het volgende:
Als je na gaat denken over PHP die PHP moet genereren zit je op het verkeerde pad. Dat is niet wat je wil, punt.
Toen je je ging oriënteren heb je nergens zien staan dat PHP geparsed moet worden door een webserver enzoquote:Op woensdag 10 september 2008 16:37 schreef sexylexy het volgende:
Wie kan mij op weg helpen?
Dat heb ik zien staan jaquote:Op woensdag 10 september 2008 18:00 schreef CraZaay het volgende:
[..]
Toen je je ging oriënteren heb je nergens zien staan dat PHP geparsed moet worden door een webserver enzo
PHP leren is wat anders dan een website maken. OK, granted het wordt het meeste voor websites gebruikt. Maar dat terzijde. Als iemand PHP wilt leren hoeft ie echt geen kennis van HTML of CSS te hebben (ik heb basic kennis van HTML en al helemaal geen kennis van CSS).quote:Op woensdag 10 september 2008 16:57 schreef Xcalibur het volgende:
Als je PHP wilt gebruiken moet je zorgen dat je een webserver + PHP op je computer geinstalleerd hebt, of de boel uploaden naar een site waar PHP draait.
Om te beginnen zou ik me eerst eens in HTML + CSS verdiepen, zodat je dingen in ieder geval netjes op je scherm kunt krijgen. PHP en MySQL zijn een flinke stap verder...
1 2 3 4 5 6 7 8 9 | <div id="footer"> <p><br>. </p> </div> wp_footer(); ?> |
Hmm ja ik kan wel een beetje HTML maar tot waar wordt het verstaan onder de basics? CSS is nog volledig nieuw voor mijquote:Op woensdag 10 september 2008 20:39 schreef slakkie het volgende:
[..]
PHP leren is wat anders dan een website maken. OK, granted het wordt het meeste voor websites gebruikt. Maar dat terzijde. Als iemand PHP wilt leren hoeft ie echt geen kennis van HTML of CSS te hebben (ik heb basic kennis van HTML en al helemaal geen kennis van CSS).
Tevens heeft PHP een command line die de noodzaak van een webserver overbodig maakt:
http://nl.php.net/features.commandline
Dit volstaat perfect om PHP te leren zonder je druk te maken over HTML en whatnot.
Voor sexylexy:
Apache installen op je machine: http://www.apache.org. En daarna ga je naar deze pagina: http://nl.php.net/manual/en/install.windows.php
Succes.
-edit- ik lees net dat sexylexy beginnend webdesigner wilt worden. Leer eerst de basis van HTML en CSS, daarna PHP.
Dus dit zou niet werken:quote:Op woensdag 10 september 2008 21:02 schreef Cracka-ass het volgende:
Ik heb hier een stukje code en zodra ik ook maar iets weghaal van regel 4 werkt ie niet meer goed. :o
Ik wil er niks in hebben maar dan werkt het niet meer. :')
[ code verwijderd ]
Hoe kan dat?
1 2 3 | </div> |
1 2 3 | <?php wp_footer(); ?> </div> |
Dat zeg ikquote:Op woensdag 10 september 2008 20:39 schreef slakkie het volgende:
-edit- ik lees net dat sexylexy beginnend webdesigner wilt worden. Leer eerst de basis van HTML en CSS, daarna PHP.
Zo is het dus als ik ook maar iets weghaal:quote:Op woensdag 10 september 2008 21:18 schreef HuHu het volgende:
[..]
Dus dit zou niet werken:
[ code verwijderd ]
Wat je met die wp_footer() wilt snap ik niet, wat doet die daar? Moet het soms iets zijn als:
[ code verwijderd ]
Basic is voor mij net genoeg om een simpele pagina te maken. Maar je moet rekening houden dat je pagina's moet kunnen maken die door deze validator (http://validator.w3.org) wordt goedgekeurd. Als je dat laatste kan doen, dan denk ik dat je tot de experts behoort.quote:Op woensdag 10 september 2008 21:16 schreef sexylexy het volgende:
[..]
Hmm ja ik kan wel een beetje HTML maar tot waar wordt het verstaan onder de basics? CSS is nog volledig nieuw voor mij
quote:Op woensdag 10 september 2008 @ 21:35 schreef slakkie het volgende:
[..]
Basic is voor mij net genoeg om een simpele pagina te maken. Maar je moet rekening houden dat je pagina's moet kunnen maken die door deze validator (http://validator.w3.org) wordt goedgekeurd. Als je dat laatste kan doen, dan denk ik dat je tot de experts behoort.
Ik zou als ik jou was eens langs http://www.w3schools.com/ gaan en daar wat over HTML/CSS leren, en na een paar weken een keer PHP erbij gaan halen om zo wat dynamische pagina's te maken. Eventueel met MySQL erbij.
1 2 3 4 5 6 7 8 9 | <html> <head> <title>hello world</title> </head> <body> <p>Hello World!</p> </body> </html> |
Nou ja, iets is natuurlijk pas HTML als het voldoet aan de HTML specificaties. De validator checkt of dat zo is. Voldoet een pagina niet, dan is het dus geen goede HTML maar code waarvan de browsers de fouten voor je verdoezelenquote:Op woensdag 10 september 2008 22:15 schreef mcDavid het volgende:
Je moet je niet doodstaren op die validator. Op de eerste plaats komt dat je een site maakt die er in alle gangbare browsers goed uit ziet en goed werkt. Nette, semantische en correcte code is slechts een middel om dat doel te bereiken.
Je snapt wat ik bedoelquote:Op woensdag 10 september 2008 22:15 schreef mcDavid het volgende:
[..]
[ code verwijderd ]
Jeuj ik ben expert!
Je moet je niet doodstaren op die validator. Op de eerste plaats komt dat je een site maakt die er in alle gangbare browsers goed uit ziet en goed werkt. Nette, semantische en correcte code is slechts een middel om dat doel te bereiken.
Ik bedoel ze allebei, en nog meer (mobile devices, kiosk browsers, you name it). We noemen dat inderdaad SEO, maar alleen omdat "de prutsers" semantisch incorrecte HTML schrijven en een "SEO-bedrijf" grof geld kan verdienen door de rommel op te ruimen en toch eens een <h1> etc te gebruiken. SEO is totaal nutteloos (HTML-wise, goede teksten is weer iets anders) wanneer een website al aan de standaarden voldoet.quote:Op woensdag 10 september 2008 23:58 schreef mcDavid het volgende:
Met "meer user agents" kun je twee dingen bedoelen:
- zoekmachines, maar daarvoor optimaliseren noemen we SEO en dat komt wmbt ongeveer als allerlaatste in de ranglijst van wat belangrijk is voor een goeie website...
- screenreaders, daar is iedereen altijd heel erg panisch voor. Maar duik eens de statistieken in en vertel me of er óóit iemand met een screenreader op jouw site is geweest.
Sorry?quote:Op woensdag 10 september 2008 23:58 schreef mcDavid het volgende:
- zoekmachines, maar daarvoor optimaliseren noemen we SEO en dat komt wmbt ongeveer als allerlaatste in de ranglijst van wat belangrijk is voor een goeie website...
Dat vind ik ook zo'n bullshit argument he....quote:Op woensdag 10 september 2008 23:58 schreef mcDavid het volgende:
- screenreaders, daar is iedereen altijd heel erg panisch voor. Maar duik eens de statistieken in en vertel me of er óóit iemand met een screenreader op jouw site is geweest.
1 2 3 4 5 6 7 8 9 10 11 12 13 | require ('./chart-0.8/chart.php') ; $query = "SELECT * FROM klsusers" ; $tmp = mysql_query ($query) ; $testarray = array (0, 3, 5, 9, 10, 20) ; $chart = new chart (300, 200) ; $chart->plot ($testarray) ; $chart->stroke () ; ?> |
1 |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |