hmm dat eerste gaat nogal lastig worden vrees ik.....quote:Op zaterdag 28 januari 2006 21:56 schreef Swetsenegger het volgende:
[..]
Ja, je structuur veranderen zodat je na 'de mail is verzonden' gewoon een header kan meegeven.
-edit- en ik zie dat het een extra venster is. Simpelweg sluiten met een javascript?
wrom?quote:Op zaterdag 28 januari 2006 22:02 schreef LeeHarveyOswald het volgende:
[..]
hmm dat eerste gaat nogal lastig worden vrees ik.....
| 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(!empty($_POST)){ $aan = $_POST['aan']; $onderwerp = $_POST['onderwerp']; $realname = $_POST['realname']; $email = $_POST['email']; $nickname = $_POST['nickname']; $ip = $_SERVER['REMOTE_ADDR']; $bericht = $_POST['bericht']; $pf = "@pestforum.nl"; $adres = $aan.$pf; $voor = "Email via contact formulier: " ; $totaalonderwerp = $voor.$onderwerp; $eindbericht = "Het onderstaande email bericht is afkomstig van het contactformulier van pestforum.nl\nGegevens van de persoon:\nNaam: $realname \nForum naam: $nickname \n Email adres: $email \n IP Nummer: $ip \n \n bericht onderwerp: $onderwerp \n\n bericht: \n $bericht "; mail($adres, $totaalonderwerp, "$eindbericht", "From: PestforumFormulier"); // zet dit in een cookie "Je email is verzonden! Bedankt! (Pestforum is in het andere venster nog geopend!)"; header('location: '.$_SERVER['PHP_SELF']); //rest van de pagina. Immers, als er gepost is, hoef je toch de rest van de pagina niet uit te voeren. //lees hier je cookie uit en echo de inhoud. ?> |
Weet ik eigenlijk nietquote:Sluiten met javascript 'vraagt' toch of het venster gesloten moet worden? het gaat nl. niet om een popup![]()
In een elsequote:Op zaterdag 28 januari 2006 22:48 schreef LeeHarveyOswald het volgende:
de code hierboven staat in een else{ }dus dat kan ik moeilijk even gaan verkassen ... ik moest dus een manier verzinnen dat het verzenden tegen gaat.
kan ik niet op een of andere manier zeggen $_post == empty; ?
| 1 |
Stukje controle er bovenquote:Op zaterdag 28 januari 2006 23:01 schreef Swetsenegger het volgende:
[..]
In een else
Die code wordt toch pas uitgevoerd bij een post? Een post springt sowieso direkt naar de action pagina. Je kijkt dus direkt boven aan die pagina of die POST er is, zoja doe wat. Zo nee ga dan pas html parsen. Elke andere constructie zorgt er sowieso voor dat je regelmatig html voor niets parst.
Je kan het nog met deze proberen
[ code verwijderd ]
| 1 |
Daar zat ik ook al aan te denken, kan 'views' echter niet op deze pagina vinden:quote:Op zondag 29 januari 2006 08:10 schreef rickmans het volgende:
je zou eventueel nog kunnen overwegen om backticks om de kolom in de order by toe te voegen, dat wil de nodige interpretatie problemen nog wel voorkomen.
wat een lang antwoord jeraquote:Op zondag 29 januari 2006 08:18 schreef JeRa het volgende:
[..]
Daar zat ik ook al aan te denken, kan 'views' echter niet op deze pagina vinden:
Reference Manual :: 9.6 Treatment of Reserved Words in MySQL
Views worden pas ondersteund vanaf MySQL 5.x maar zelfs daar komt het alleen als de keyword 'view' voor. Maar het is het proberen iig waardwat lul ik nou
het is het proberen helemaal niet waard, sorteren op één rij is nutteloos
ik moet leren m'n eigen antwoorden te onthouden
Echter wordt het een probleem mocht je meerdere rijen met COUNT()-waarden hebben. Zou MySQL al bij voorbaat hebben besloten aan de vorm van de query dat er geen sortering mogelijk is? Want een dergelijke query met GROUP BY wil je natuurlijk wel kunnen sorteren.
edit zoveel:
Heb het met een soortgelijke query geprobeerd hier op MySQL 4.1.15, dat werkt zowel in phpMyAdmin als in PHP prima. Ik gok dat LeeHarveyOswald iets verkeerds heeft zitten in $startdag of $vandaag
Ben een beetje gefrustreerd door de programmeurs van MySQL. Ze moeten maar een fatsoenlijke parser + bijbehorende foutmeldingen schrijven goddommequote:
hetgeen wat ik wel een paar ben tegen gekomen is dat mysql het vrij lastig vond om op aliases te sorteren als er een geen backticks om heen stonden. Gelukkig was het geen constant gedrag, want soms wilde die het wel en soms nietquote:Op zondag 29 januari 2006 08:18 schreef JeRa het volgende:
[..]
Daar zat ik ook al aan te denken, kan 'views' echter niet op deze pagina vinden:
Reference Manual :: 9.6 Treatment of Reserved Words in MySQL
Views worden pas ondersteund vanaf MySQL 5.x maar zelfs daar komt het alleen als de keyword 'view' voor. Maar het is het proberen iig waardwat lul ik nou
het is het proberen helemaal niet waard, sorteren op één rij is nutteloos
ik moet leren m'n eigen antwoorden te onthouden
| 1 2 3 4 5 6 7 | $sql = "SELECT COUNT(Datum) as Viewed FROM Stats WHERE Datum = '".$vandaag."'"; $query = mysql_query($sql) or die(mysql_error()); while ($result = mysql_fetch_array($query)) { $Views = $result['Viewed']; echo $Views; ?> |
You're not to blame, MySQL wist dus weldegelijk dat er een kolom 'views' was maar presteerde het om een cryptische en compleet nietszeggende foutmelding te produceren.quote:Op zondag 29 januari 2006 11:53 schreef LeeHarveyOswald het volgende:
Ik ben zó stom bezig
Ik tel mn stats pagina ook mee voor mn stats, en daar staat nog een kolom views in![]()
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | echo "<tr><td><b>Pagina:</b></td><td><b>Views</b></td></tr>"; $sql = "SELECT Titel FROM Stats WHERE Datum >= '".$startdag."' AND Datum <= '".$vandaag."' GROUP BY Titel"; $query = mysql_query($sql) or die(mysql_error()); while ($result = mysql_fetch_array($query)) { $Pagina = $result['Titel']; $sql = "SELECT COUNT(ID) AS Viewed FROM Stats WHERE Titel = '".$Pagina."'"; $query = mysql_query($sql) or die(mysql_error()); while ($result = mysql_fetch_array($query)) { $Views = $result['Viewed']; echo "<tr><td><a href='http://pestforum.nl".$Pagina."'>".$Pagina."</a></td><td align = right>".$Views."</td></tr>"; } } ?> |
| 1 2 3 4 5 | FROM Stats WHERE Datum BETWEEN $startdag AND $vandaag GROUP BY Titel ORDER BY Views |
quote:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $uurA = date("$i:0:0"); $uur = $i + 1; $uurB = date("$uur:0:0"); $Views = ""; $Pagina = ""; $sql = "SELECT Titel, COUNT(ID) Viewed FROM Stats WHERE Datum BETWEEN '$startdag' AND '$vandaag' AND Tijd BETWEEN '$uurA' AND '$uurB' GROUP BY Titel ORDER BY Viewed DESC LIMIT 0, 5"; $query = mysql_query($sql) or die(mysql_error()); while ($result = mysql_fetch_array($query)) { $Views = $result['Viewed']; $Pagina = $result['Titel']; if(!empty($Pagina)){echo "<tr><td align = left>".$uurA." - ".$uurB."</td><td align = right><a href='http://pestforum.nl".$Pagina."'>".$Pagina."</a></td><td align = right>".$Views."</td></td></tr>";} } ?> |
Wát werkt er wel, dan? Enig idee wat date() doet?quote:Op zondag 29 januari 2006 13:57 schreef LeeHarveyOswald het volgende:
Het werkt wel ...
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | $vandaag = date("Y-m-d"); $i = 0; while ($i <= 24): $uurA = "$i:0:0"; $uur = $i + 1; $uurB = "$uur:0:0"; $Views = ""; $Pagina = ""; $sql = "SELECT Titel, COUNT(ID) Viewed FROM Stats WHERE Datum BETWEEN '$startdag' AND '$vandaag' AND Tijd BETWEEN '$uurA' AND '$uurB' GROUP BY Titel ORDER BY Viewed DESC LIMIT 0, 5"; $query = mysql_query($sql) or die(mysql_error()); while ($result = mysql_fetch_array($query)) { $Views = $result['Viewed']; $Pagina = $result['Titel']; if(!empty($Pagina)){echo "<tr><td align = left>".$uurA." - ".$uurB."</td><td align = right><a href='http://pestforum.nl".$Pagina."'>".$Pagina."</a></td><td align = right>".$Views."</td></td></tr>";} } $i++; endwhile; echo "</table>"; ?> |
Sowieso wil je dat '< 24' maken in die while-loop, of wil je ook op 24:00-25:00 checken?quote:Op zondag 29 januari 2006 14:03 schreef LeeHarveyOswald het volgende:
[ code verwijderd ]
Zo issie nu, maar werking is niet veranderd![]()
Je ziet dat de views tussen 0:00 en 1:00 geiljk zijn aan het totaal aantal views...ik denk dat hij '14:00:00' ook ziet als een waarde die tussen '1:0:0' en '0:0:0' ligt. Ik zou er dus voor zorgen dat je formatting beter in elkaar gaat zittenquote:Op zondag 29 januari 2006 14:10 schreef LeeHarveyOswald het volgende:
Rond middernacht bevat de database niets, want die heb ik net leeg gehaald![]()
De tijd die ik in de database zet is $tijd = date("H:i:s");
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | while ($i < 24): if(strlen($i)==1) {$i = '0'.$i;} $uurA = "$i:0:0"; $uur = $i + 1; $uurB = "$uur:0:0"; $Views = ""; $Pagina = ""; $sql = "SELECT Titel, COUNT(ID) Viewed FROM Stats WHERE Datum BETWEEN '$startdag' AND '$vandaag' AND Tijd BETWEEN '$uurA' AND '$uurB' GROUP BY Titel ORDER BY Viewed DESC LIMIT 0, 5"; $query = mysql_query($sql) or die(mysql_error()); while ($result = mysql_fetch_array($query)) { $Views = $result['Viewed']; $Pagina = $result['Titel']; if(!empty($Pagina)){echo "<tr><td align = left>".$uurA." - ".$uurB."</td><td align = right><a href='http://pestforum.nl".$Pagina."'>".$Pagina."</a></td><td align = right>".$Views."</td></td></tr>";} } ?> |
'No input file' duidt erop dat je webhoster PHP via CGI aanbiedt; de php-cgi interface geeft die foutmelding namelijk als er een .php-bestand wordt aangeroepen dat niet bestaat. Hoe je dat oplost weet ik zo even niet, waarschijnlijk kun je het beste even overleggen met je webhoster.quote:
Die is zo flexibel als een loden deurquote:Op zondag 29 januari 2006 19:46 schreef JeRa het volgende:
[..]
'No input file' duidt erop dat je webhoster PHP via CGI aanbiedt; de php-cgi interface geeft die foutmelding namelijk als er een .php-bestand wordt aangeroepen dat niet bestaat. Hoe je dat oplost weet ik zo even niet, waarschijnlijk kun je het beste even overleggen met je webhoster.
Goedkope tip van ome Swets.... Ga NOOIT naar b-one.net voor hosting. Ze hebben niets, kennen niets en ondersteunen niets.quote:Kaychelle: The Custom 404 pages won't work for .php files because , by default B-one offers PHP to be executed as CGI which cannot be changed.
Tja, dat krijg je met dat soort hostersquote:Op zondag 29 januari 2006 19:54 schreef Swetsenegger het volgende:
Goedkope tip van ome Swets.... Ga NOOIT naar b-one.net voor hosting. Ze hebben niets, kennen niets en ondersteunen niets.
Dat klopt, andere sites draaien ook bij een bevriend hoster.quote:Op zondag 29 januari 2006 20:17 schreef JeRa het volgende:
[..]
Tja, dat krijg je met dat soort hostersals je honderden websites op één shared webserver gaat draaien dan moet er een mate van beveiliging zijn. Als je dan geen safe_mode wilt gebruiken ben je toegewezen op PHP-CGI die je kunt laten uitvoeren onder de rechten van de gebruiker, maar tegelijkertijd krijg je dat soort perikelen.
Mijn advies: zoek een degelijke webhoster waar je waarschijnlijk wel iets meer voor moet betalen, maar een uitstekende support levert en jou vertrouwt in waar je je website voor gebruikt. Ik zit nu bij een webhostbedrijf in België (naast m'n eigen webhosting) en zij doen er absoluut niet moeilijk over om scripts commando's uit te laten voeren, onder CGI iets te laten draaien of om je helemaal uit te leven met de configuratie van PHP. Het zijn de subtiele verschillen
Kun je bij je huidige hosting mod_rewrite gebruiken? Want dan zou je in principe alles behalve de toegestane pagina's een 404 kunnen gevenquote:Op zondag 29 januari 2006 20:28 schreef Swetsenegger het volgende:
[..]
Dat klopt, andere sites draaien ook bij een bevriend hoster.
Maar in dit geval; wilde ik kijken of ik er wat mee kon verdienen. Hoe goedkoper de hosting, des te eerder het geld oplevert
Maar goed, dat is dus in het begin fout gegaan, kan ik nu weinig meer aan veranderen (immers, het invoeren van statistieken en het weergeven van simpele overzichten werkt al, en anders moet ik dat allemaal gaan aanpassen). Dus hoe zou ik het nu werkend kunnen krijgen?quote:Op zondag 29 januari 2006 19:24 schreef SuperRembo het volgende:
Waarom zit je nou de hele tijd te kloten met datum en tijd strings in varchar kolommen? Gebruik gewoon een DATETIME kolom.
Dat weet ik nietquote:Op zondag 29 januari 2006 20:41 schreef JeRa het volgende:
[..]
Kun je bij je huidige hosting mod_rewrite gebruiken? Want dan zou je in principe alles behalve de toegestane pagina's een 404 kunnen geven
Lijkt lijkt me zeker de moeite waard om het nu nog om te bouwen. Als je tabel eenmaal vol met statistieken zit is het veel meer werk om het om te zetten.quote:Op zondag 29 januari 2006 20:46 schreef LeeHarveyOswald het volgende:
[..]
Maar goed, dat is dus in het begin fout gegaan, kan ik nu weinig meer aan veranderen (immers, het invoeren van statistieken en het weergeven van simpele overzichten werkt al, en anders moet ik dat allemaal gaan aanpassen). Dus hoe zou ik het nu werkend kunnen krijgen?
reguliere expressie?quote:Op maandag 30 januari 2006 15:35 schreef Desdinova het volgende:
is er een goede manier om berichten af te vangen die vrijwel volledig in caps geschreven zijn? het probleem is dat niet alle berichten volledig in caps geschreven worden, en om alles via strtolower(); om te zetten is n beetje matig. het mooiste zou ook nog s zijn als elke keer dat het bericht wordt omgezet naar kleine letters wanneer nodig, de eerste letter na een punt-spatie weer een hoofdletter wordt. en natuurlijk de allereerste letter ook
Echte formatting is het niet. Als ik het goed heb wordt een DATETIME op dezelfde manier opgeslagen als een DECIMAL.quote:Op zondag 29 januari 2006 21:25 schreef JeRa het volgende:
Ik gebruik bijna altijd een Unix epoch timestamp. Een 4-byte unsigned integer waarmee je gemakkelijk kunt rekenen - als je de rijen wilt hebben in een bepaald tijdbestek bepaal je de grenzen en doe je een timestamp BETWEEN x AND yDATETIME heb ik nooit zo heel goed begrepen aangezien je dan op databaseniveau bezig bent met formatting van een datum/tijd, terwijl ik liever bezig ben met de presentatie van dat soort dingen op templateniveau.
Voor zover ik me kan herinneren moest ik weldegelijk een string naar een bepaald formaat (YYYY-MM-DD HH:mm oid) omzetten om in een DATETIME kolom te kunnen opslaanquote:Op maandag 30 januari 2006 16:30 schreef SuperRembo het volgende:
[..]
Echte formatting is het niet. Als ik het goed heb wordt een DATETIME op dezelfde manier opgeslagen als een DECIMAL.
Dan nog heb ik liever dat er één standaard komt die overal gebruikt kan worden in plaats van een bepaald formaat dat per tijdzone of per land verschiltquote:Op maandag 30 januari 2006 17:38 schreef SuperRembo het volgende:
Je kunt zonder problemen 20060130164900 in een DATETIME inserten.
Ligt eraan wat je wilt meegevenquote:Op maandag 30 januari 2006 18:27 schreef mschol het volgende:
klein vraagje dat niet zo zeer met php te maken heeft en toch weer wel:
als ik in php de funvtie mail() gebruik kan ik er ook headers aan meegeven...
weet iemand welke headers dit allemaal zijn?
want dat kan ik namelijk niet vinden...
is_int doet toch precies wat je wil?quote:Op maandag 30 januari 2006 18:23 schreef wobbel het volgende:
Hoe controleer of ik een variable een getal is?
GEEN komma of punt getal (dus geen 25,50 en 13,37) maar gewoon alleen 2550 of alleen 1337.
is_int() niet
is_float() ook niet :s
je moet toch voorwaardelijk controleren, dus if(is_int($sAmount)){quote:echo Aantal: " . is_int ( $sAmount ) . ";
geeft trouwens alleen Aantal: weer, dus zonder true of false erachter
nou allee de beetje standaard headers zou al prettig zijn (degene die dus het meest worden gebruikt..)quote:Op maandag 30 januari 2006 18:28 schreef wobbel het volgende:
[..]
Ligt eraan wat je wilt meegevener zijn er nogal wat, je kan ze ook zelf aanmaken. Zo hebben wij een extra header X-Info: met daarin onze bedrijfsnaam omdat wij het script geprogged hebben
| 1 2 3 4 5 6 7 8 9 | From: "Somebody" <somebozo@yahoo.com> To: <gboyd@expita.com> Subject: Test message Date: Fri, 2 Mar 2001 12:04:31 -0800 Organization: SomeOrganiztion X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.00.2919.6600 |
Waarom krijg ik dan deze foutmelding:quote:Op maandag 30 januari 2006 18:29 schreef Swetsenegger het volgende:
[..]
is_int doet toch precies wat je wil?
[..]
je moet toch voorwaardelijk controleren, dus if(is_int($sAmount)){
| 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 | $sProductId = addslashes ( $_POST['ProductId'] ); $sAmount = $_POST['Amount']; $sIn = $_POST['In']; $sOut = $_POST['Out']; $sDate = date ( "U" ); $rCheckProduct = mysql_query ( "SELECT COUNT(IdProduct) FROM Producten WHERE IdProduct = '" . $sProductId . "'" ); $rCheckResult = mysql_result ( $rCheckProduct, 0 ); if ( $rCheckResult == 1 ) { if ( is_int ( $sAmount ) ) { } else { $error->Report ( "Inkoopprijs, Verkoopprijs of Aantal zijn geen geldige formaten.<br /><br />Debugging:<br />Inkoopprijs: " . $sIn . "<br />Verkoopprijs: " . $sOut . "<br />Aantal: " . $sAmount . "", 0, 1 ); } } else { $error->Report ( "Het opgegeven product is niet gevonden. <br /><br />Debugging:<br />Records gevonden: " . $rCheckResult , 0, 1 ); } ?> |
dit heeft niets met php te maken, maar puur met html en CSS.quote:Op maandag 30 januari 2006 18:41 schreef FritsFluitketel het volgende:
Hej mensen, ik zit een beetje met php te prutsen en kom er op het moment met google ed niet uit.
Het gaat hierom: http://nieuw.jkoetsier.nl
De inhoud van elke pagina staat opgeslagen in een *.dat bestandje (op dit moment alleen Home met de tekst "Welkom" en de 404 melding). In die bestandjes gebruik ik gewoon html, dus plaatjes ed zijn ook mogelijk. Nu komt mijn probleem. Als ik nu een lange lap tekst kwijt wil, wil ik niet dat m'n tabel vergroot wordt, ik wil dan een scrollbalkje krijgen. Nu lijkt me dat ik iets moet doen met een dynamisch tekstveld, maar ik kan hier niks over vinden. Daarnaast moet ik natuurlijk ook gewoon plaatjes op pagina's kwijt kunnen. Hoe pak ik dit aan?
Geef je formulier eens.quote:Op maandag 30 januari 2006 18:45 schreef wobbel het volgende:
[..]
Waarom krijg ik dan deze foutmelding:
Inkoopprijs, Verkoopprijs of Aantal zijn geen geldige formaten.
Er is een uur per jaar waarbij je bij DATETIME het verschil niet kunt vertellen maar bij Unix timestamps wélquote:Op maandag 30 januari 2006 18:09 schreef SuperRembo het volgende:
Een DATETIME doet niets met tijdzones en zomertijd. Net als jouw timestamps.
Dat kan, maar zoals gezegd format ik liever niet met MySQL. MySQL is mijn opslagformaat, en met PHP of via een template zorg ik voor de formatting. Zo is er bijvoorbeeld date() waarbij timestamps zich uitzonderlijk goed als parameter lenen. Als je dan toch iets na een query direct geformatteerd wilt zien door MySQL, dan gebruik je toch FROM_UNIXTIME()? Nee, ze zullen iets zonder formatting en met bredere opties dan een epoch-timestamp (iets dat langer dan 2038 meegaat bijvoorbeeld) moeten introduceren in MySQL voordat ik daar op over gaquote:Als je een query uitvoert zonder formatting via php dan krijg je met een timestamp wijnig informatieve waarden als 1138640905. Dan heb ik toch liever 20060130180825 of '2006-01-30 18:08:25'.
Ik krijg het dus niet voor elkaar, want in een tekstvak (waarbij je dus scrollbalken krijgt) krijg je geen plaatjes en frames hou ik niet zo van. Ik zou het graag anders doen, maar hoe..quote:Op maandag 30 januari 2006 19:02 schreef Swetsenegger het volgende:
[..]
dit heeft niets met php te maken, maar puur met html en CSS.
Kijk eens op www.handleidinghtml.nl
vergeet tabellen en kijk naar div's een overflow div is je oplossingquote:Op maandag 30 januari 2006 19:11 schreef FritsFluitketel het volgende:
[..]
Ik krijg het dus niet voor elkaar, want in een tekstvak (waarbij je dus scrollbalken krijgt) krijg je geen plaatjes en frames hou ik niet zo van. Ik zou het graag anders doen, maar hoe..
Wat is dit voor onzinquote:Op maandag 30 januari 2006 19:10 schreef JeRa het volgende:
[..]
Er is een uur per jaar waarbij je bij DATETIME het verschil niet kunt vertellen maar bij Unix timestamps wél
Het wordt tijd dat php een fatsoenlijk datum formaat krijgt.quote:Dat kan, maar zoals gezegd format ik liever niet met MySQL. MySQL is mijn opslagformaat, en met PHP of via een template zorg ik voor de formatting. Zo is er bijvoorbeeld date() waarbij timestamps zich uitzonderlijk goed als parameter lenen. Als je dan toch iets na een query direct geformatteerd wilt zien door MySQL, dan gebruik je toch FROM_UNIXTIME()? Nee, ze zullen iets zonder formatting en met bredere opties dan een epoch-timestamp (iets dat langer dan 2038 meegaat bijvoorbeeld) moeten introduceren in MySQL voordat ik daar op over ga
Ja, ik snap dat hij daar op doelt. Maar een DATETIME met een datum en een INT kolom met een timestamp doen beide niets met tijdzone/zomertijd. Alleen functies als NOW() in mysql en date() in php kun je beinvloeden door tijdzones en zomertijd.quote:Op maandag 30 januari 2006 20:11 schreef Ro�a� het volgende:
[..]
zal wel de wintertijd/zomertijd transitie overlap uur zijn.
Hoezo boeit het formulier? Zoals je ziet is mijn output gewoon 4 (Aantal $sAmount).....quote:
| 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 | php # -------------- © 2003, 2004, 2005 NetEQ Internet Services --------------- # /* Load main library Files */ require_once ( "../lib/htconfig.php" ); require_once ( $GLOBALS['SITE']['LibPath'] . "main.php" ); if ( $_SERVER['REQUEST_METHOD'] == "POST" ) { if ( $_POST['Amount'] AND $_POST['In'] AND $_POST['Out'] AND $_POST['ProductId'] ) { $sProductId = addslashes ( $_POST['ProductId'] ); $sAmount = $_POST['Amount']; $sIn = $_POST['In']; $sOut = $_POST['Out']; $sDate = date ( "U" ); $rCheckProduct = mysql_query ( "SELECT COUNT(IdProduct) FROM Producten WHERE IdProduct = '" . $sProductId . "'" ); $rCheckResult = mysql_result ( $rCheckProduct, 0 ); if ( $rCheckResult == 1 ) { if ( is_int ( $sAmount ) ) { } else { $error->Report ( "Inkoopprijs, Verkoopprijs of Aantal zijn geen geldige formaten.<br /><br />Debugging:<br />Inkoopprijs: " . $sIn . "<br />Verkoopprijs: " . $sOut . "<br />Aantal: " . $sAmount . "", 0, 1 ); } } else { $error->Report ( "Het opgegeven product is niet gevonden. <br /><br />Debugging:<br />Records gevonden: " . $rCheckResult , 0, 1 ); } } else { $error->Report ( "Niet alle verplichte velden zijn ingevuld.", 0, 1 ); } } else { $error->Report ( "Ongeldige aanvraag", 0, 1 ); } ?> |
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <input name="ProductId" type="hidden" value="#IDPRODUCT" /> <table width="100%" border="0" cellspacing="1" cellpadding="1"> <tr> <td bgcolor="#E8E8E8" colspan="2"><strong>Aantal</strong></td> <td bgcolor="#F5F5F5" colspan="5"><input name="Amount" type="text" id="Amount" size="5" maxlength="10" /></td> </tr> <tr> <td bgcolor="#E8E8E8" colspan="2"><strong>Inkoopprijs</strong></td> <td bgcolor="#F5F5F5" colspan="5"><input name="In" type="text" id="In" /> (Kommagetallen scheiden door een punt. Voorbeeld: <strong>22.50</strong>) </td> </tr> <tr> <td bgcolor="#E8E8E8" colspan="2"><strong>Verkoopprijs</strong></td> <td bgcolor="#F5F5F5" colspan="5"><input name="Out" type="text" id="Out" /> (Kommagetallen scheiden door een punt. Voorbeeld: <strong>22.50</strong>)</td> </tr> <tr> <td colspan="7" align="center" bgcolor="#E8E8E8"><input name="AddStock" type="submit" id="AddStock" value="Voorraad toevoegen" /></td> </tr> </table> </form> |
| 1 2 3 4 5 6 | FROM klanten WHERE kortingcode=5 AND plaats='gouda' GROUP BY kortingcode HAVING COUNT(kortingcode)>2 |
| 1 2 3 4 | FROM fietsen GROUP BY merknaam HAVING aantal_versnellingen>=5 |
| 1 2 3 4 | FROM fietsen GROUP BY merknaam HAVING aantal_versnellingen>=5 |
Dusquote:Op maandag 30 januari 2006 23:57 schreef SuperRembo het volgende:
Het aantal_versnellingen is onbepaald als je er niet op groepeert.
In je laatste query hoort eigenlijk GROUP BY merknaam, aantal_versnellingen te staan. Het is fout van MySQL dat ie daar niet over klaagt. Het resultaat wat je nu krijgt hangt maar net af van de volgorde waarin de gegevens in de tabel staan.
| 1 2 3 4 | FROM fietsen GROUP BY merknaam,aantal_versnellingen HAVING aantal_versnellingen>=5 |
Je had ook zo'n antwoord kunnen geven in plaats van het af te doen met "wat is dit voor onzinquote:Op maandag 30 januari 2006 20:29 schreef SuperRembo het volgende:
[..]
Ja, ik snap dat hij daar op doelt. Maar een DATETIME met een datum en een INT kolom met een timestamp doen beide niets met tijdzone/zomertijd. Alleen functies als NOW() in mysql en date() in php kun je beinvloeden door tijdzones en zomertijd.
Je hebt gegroepeerd op aantal_versnellingen maar waarschijnlijk wil je je clausule in de where stoppen, dus WHERE aantal_versnellingen >= 5.quote:Op dinsdag 31 januari 2006 00:19 schreef H4ze het volgende:
[..]
Dus
[ code verwijderd ]
Zou wel moeten werken? Doet ie dus ook niet...
#1054 - Unknown column 'aantal_versnellingen' in 'having clause'
Thnx iig voor de snelle reply iig![]()
Ja meneer.quote:Op dinsdag 31 januari 2006 08:00 schreef wobbel het volgende:
Hierboven staat mijn vraag, het heeft nogal haast
quote:Op maandag 30 januari 2006 22:04 schreef wobbel het volgende:
[..]
Hoezo boeit het formulier? Zoals je ziet is mijn output gewoon 4 (Aantal $sAmount).....
Volledige script:
[ code verwijderd ]
Zoals je ziet wordt de input geleverd vanaf een ander HTML formulier...hier de code...
[ code verwijderd ]
En die colspan 2 en 5 komt omdat het vanaf een hele grote tabel is, maar ik heb het ff wat lkeiner gemaakt zodat het overzichtelijker is
| 1 2 3 | $myInt = (int) $myInt; ?> |
In de database zet je de tijd zonder zomertijd, of een timestamp zonder zomertijd. Wat is het verschilquote:Op dinsdag 31 januari 2006 05:54 schreef JeRa het volgende:
[..]
Je had ook zo'n antwoord kunnen geven in plaats van het af te doen met "wat is dit voor onzin"
een UNSIGNED INT kolom met een timestamp geeft het aantal seconden sinds 1 januari 1970 weer. Je begrijpt misschien wel dat in dat ene uur 7200 seconden zitten, gezien na 3600 seconden de tijd een uur terug wordt gezet. Een Unix timestamp houdt daar dus gewoon rekening mee, terwijl een DATETIME twee keer dezelfde waardes zal laten zien.
| 1 |
| Forum Opties | |
|---|---|
| Forumhop: | |
| Hop naar: | |