1 |
1 2 3 4 5 6 | | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+--------------------+-------+-------+---------------+------+---------+------+-------+--------------------------+ | 1 | PRIMARY | w | index | NULL | w | 4 | NULL | 23023 | Using where; Using index | | 2 | DEPENDENT SUBQUERY | w | range | w | w | 4 | NULL | 17678 | Using where | +----+--------------------+-------+-------+---------------+------+---------+------+-------+--------------------------+ |
Oh foutje. Daar stond een kleine verfijning van: "WHERE `w` != 1" . Vergeten ook de WHERE weg te halenquote:Op woensdag 20 januari 2010 10:33 schreef GlowMouse het volgende:
waarom is WHERE in je subquery leeg?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | ( [book] => Array ( [0] => SimpleXMLElement Object ( [@attributes] => Array ( [id] =>1 ) [author] => Gambardella, Matthew [title] => XML Developer's Guide [genre] => Computer [price] => 44.95 [publish_date] => 2000-10-01 [description] => An in-depth look at creating applications with XML. ) |
1 2 3 4 5 6 7 8 9 10 11 | <catalog> <book id="bk101"> <author>Gambardella, Matthew</author> <title>XML Developer's Guide</title> <genre>Computer</genre> <price>44.95</price> <publish_date>2000-10-01</publish_date> <description>An in-depth look at creating applications with XML.</description> </book> </catalog> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | // Set username and password $username = 'username'; $password = 'password'; // The twitter API address $url = 'http://twitter.com/statuses/update.xml'; $curl_handle = curl_init(); curl_setopt($curl_handle, CURLOPT_URL, "$url"); curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2); curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl_handle, CURLOPT_POST, 1); curl_setopt($curl_handle, CURLOPT_POSTFIELDS, "status=$twitter"); curl_setopt($curl_handle, CURLOPT_USERPWD, "$username:$password"); curl_close($curl_handle); ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | // Set username and password $username = "username"; $password = "password"; // The message you want to send $twitter = 'dit is een test'; // The twitter API address $url = 'http://twitter.com/statuses/update.xml'; $curl_handle = curl_init(); curl_setopt($curl_handle, CURLOPT_URL, "$url"); curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2); curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl_handle, CURLOPT_POST, 1); curl_setopt($curl_handle, CURLOPT_POSTFIELDS, "status=$twitter"); curl_setopt($curl_handle, CURLOPT_USERPWD, "$username:$password"); curl_close($curl_handle); ?> |
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 | // Set username and password $username = "username"; $password = "password"; // The message you want to send $twitter = 'dit is een test'; // The twitter API address $url = 'http://twitter.com/statuses/update.xml'; $curl_handle = curl_init(); curl_setopt($curl_handle, CURLOPT_URL, "$url"); curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2); curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl_handle, CURLOPT_POST, 1); curl_setopt($curl_handle, CURLOPT_POSTFIELDS, "status=$twitter"); curl_setopt($curl_handle, CURLOPT_USERPWD, "$username:$password"); $buffer = curl_exec($curl_handle); curl_close($curl_handle); // check for success or failure if (empty($buffer)) { echo 'message'; } else { echo 'success'; } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | // Set username and password $username = "username"; $password = "password"; // The message you want to send $twitter = 'dit is een test'; // The twitter API address $url = 'http://twitter.com/statuses/update.xml'; $curl_handle = curl_init(); curl_setopt($curl_handle, CURLOPT_URL, "$url"); curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2); curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl_handle, CURLOPT_POST, 1); curl_setopt($curl_handle, CURLOPT_POSTFIELDS, "status=$twitter"); curl_setopt($curl_handle, CURLOPT_USERPWD, "$username:$password"); curl_exec($curl_handle); curl_close($curl_handle); ?> |
Waarom wil je weten of een sessie al gestart is?quote:Op zondag 24 januari 2010 21:53 schreef Chandler het volgende:
Hoe kun je er achter komen of session_start al gestart is? zonder daarvoor alle scripting te doorlopen?.
Kon namelijk geen functie vinden waarmee ik dit kan achterhalen.... zal er ongetwijfeld overheen hebben gekeken maar wie kan mij de juiste functie aanwijzen?
als het resultaat van een aanroep naar session_id() een lege string is is er geen sessie gestartquote:Op zondag 24 januari 2010 21:53 schreef Chandler het volgende:
Hoe kun je er achter komen of session_start al gestart is? zonder daarvoor alle scripting te doorlopen?.
Kon namelijk geen functie vinden waarmee ik dit kan achterhalen.... zal er ongetwijfeld overheen hebben gekeken maar wie kan mij de juiste functie aanwijzen?
Als ik het zo snel bekijk, heb je drie tabellen nodig: klanten, items en reserveringen. Reserveringen is per klant, per item en bijvoorbeeld per dag. Als er dan een reserving wordt ingevoerd, voor je voor iedere dag van die reservering een rij in. Controle op beschikbaarheid is dan ook simpel. Andere optie is om bij de reserveringen een begindatum en einddatum op te slaan. Dan heb je 1 rij per reservering, maar de controle op beschikbaarheid kan wat lastiger zijn.quote:Op zondag 24 januari 2010 13:42 schreef SHERMAN het volgende:
Ik moet een soort van resevering systeem opzetten. Dit mag zo basic mogelijk, er hoeft bijvoorbeeld geen login te komen.
De reseveringen zijn variabel (duur van de resevering kan verschillend) ook degene die het reseveert kan verschillen. Historie moet bewaard blijven.
Zoiets als:
Items 2010-01 2010-02 2010--3
Item1 klant1 klant1 -
Item2 klant2 klant2 klant2
Item3 klant1 klant1 klant2
Vervolgens moet ik lijstje kunnen maken van:
- per item, wie het wanneer had
- per klant, hoeveel items op een willekeurig moment
- in een maand zien wie wat heeft
Het maken van de overzichten gaat me opzich wel lukken.
Ik heb alleen geen idee hoe ik dit het beste in een database kan proppen..
Het kan natuurlijk gewoon in de tabel vorm die ik net post, maar ik vraag me af of dat iemand misschien een betere manier weet..?
Een projectjequote:Op zondag 24 januari 2010 22:15 schreef Light het volgende:
Waarom wil je weten of een sessie al gestart is?
Ok, ik moet dus toch session_id gebruiken! want vind werken met @ erg vies!quote:Op zondag 24 januari 2010 22:16 schreef Intrepidity het volgende:
als het resultaat van een aanroep naar session_id() een lege string is is er geen sessie gestart
Overigens kun je ook gewoon @session_start() aanroepen. Dit heeft geen effect op eventuele bestaande sessies. Er volgt alleen een E_NOTICE, die je dus met de @-operator onderdrukt.
Ik ga is even kijken of ik hier wat mee kan... Misschien dat ik nog met andere vragen kom..quote:Op zondag 24 januari 2010 22:24 schreef Light het volgende:
[..]
Als ik het zo snel bekijk, heb je drie tabellen nodig: klanten, items en reserveringen. Reserveringen is per klant, per item en bijvoorbeeld per dag. Als er dan een reserving wordt ingevoerd, voor je voor iedere dag van die reservering een rij in. Controle op beschikbaarheid is dan ook simpel. Andere optie is om bij de reserveringen een begindatum en einddatum op te slaan. Dan heb je 1 rij per reservering, maar de controle op beschikbaarheid kan wat lastiger zijn.
Casten naar een int, op die waarde sorterenquote:Op maandag 25 januari 2010 09:41 schreef Chandler het volgende:
[..]
Een projectje :)
[..]
Ok, ik moet dus toch session_id gebruiken! want vind werken met @ erg vies!
-------------------------------------------------------------------------------------
Een andere vraag, stel ik heb een tabel met dit soort gegevens
A75
A76
A77
A78
A98
AA101
AA102
AA103
A37
A47
etc
Nu wil ik graag dat de uitkomst via mysql alles sorteert maar dan op deze manier
A37
A47
A75
A76
A77
A78
A98
AA101
AA102
AA103
etc
Hoe krijg ik dit voor elkaar?
1 2 3 | FROM table ORDER BY order_veld ASC |
Ik zie niet waarom je zou moeten casten naar int. Stringsortering gaat (met de voorbeeldwaarden) ook goed.quote:Op dinsdag 26 januari 2010 09:41 schreef Tiemie het volgende:
[..]
Casten naar een int, op die waarde sorteren
[ code verwijderd ]
http://dev.mysql.com/doc/(...)s.html#function_cast
1 |
1 2 3 4 | SELECT * FROM tabel where field_number = '5.3'; SELECT * FROM tabel where field_number = 5,3; SELECT * FROM tabel where field_number = '5.3'; |
De return-waarde van de closure wil ik gebruiken om te valideren of de operatie geslaagd is, maar tegelijkertijd moet de closure de meegegeven parameter kunnen wijzigen. Hoe los ik dat op?quote:Deprecated: Call-time pass-by-reference has been deprecated in \\V-PLUTO\CODE\WWW\wwwroot\dev\mailbasis\Framework\Core\ModelBase.php on line 207
Omdat dit (als ik het goed heb vernomen) in PHP 5.x standaard gebeurt en dus is de ampersand niet meer nodig.quote:Op dinsdag 26 januari 2010 12:23 schreef Intrepidity het volgende:
Waarom is call-by-reference deprecated tegenwoordig?
Alleen met objecten afaik, niet met simpele typen.quote:Op dinsdag 26 januari 2010 15:00 schreef ParvusM het volgende:
[..]
Omdat dit (als ik het goed heb vernomen) in PHP 5.x standaard gebeurt en dus is de ampersand niet meer nodig.
1 2 3 4 5 6 7 8 9 10 11 | echo phpversion() . "<br />"; $i = 3; foo($i); echo $i; function foo($i) { $i++; } ?> |
In 5.3.0 is dat zondermeer niet het gevalquote:5.3.0
3
1 2 3 4 5 6 7 8 9 | $i = 3; foo(&$i); function foo($i) { $i++; } ?> |
1 2 3 4 5 6 7 8 9 | $i = 3; foo($i); function foo(&$i) { $i++; } ?> |
1 2 3 4 5 6 7 | FROM TMPCARD INNER JOIN TMPCARD_Uptime ON ( TMPCARD.id = TMPCARD_Uptime.cardid ) GROUP BY TMPCARD_Uptime.ip HAVING count( TMPCARD_Uptime.ip ) >=2 ORDER BY TMPCARD.timestamp, TMPCARD_Uptime.timestamp ASC LIMIT 0 , 10 |
is dit nog gelukt?quote:Op dinsdag 26 januari 2010 12:08 schreef mark_1980 het volgende:
Ik wil een waarde selecteren uit een database waarbij de waarde field_id een float is. Dit is mijn query:
[ code verwijderd ]
Er komt echter geen resultaat terug uit de database. Heb al vanalles geprobeer:
[ code verwijderd ]
Maar het werkt allemaal niet! Iemand een idee hoe deze query moet draaien?
ipv het sterretje in de select probeer eens de velden apart te benoemen in de select.quote:Op dinsdag 26 januari 2010 15:40 schreef Darkomen het volgende:
[ code verwijderd ]
Ik heb een probleem met de bovenstaande query, hopelijk kunnen jullie helpen.
De eerste tabel TMPCARD is een tabel met gegevens van zo'n 1000 kaarten.
De 2 de tabel is een tabel gevuld door een scan, deze kijkt of de uptime van die kaart meer of minder is dan de uptime in TMPCARD.
Is het meer dan update hij TMPCARD.uptime
Is het minder dan plaatst hij ook een entrie in TMPCARD_Uptime
Wat ik wil is per pagina de 10 kaarten welke 2 of meer dan 2 entries hebben in TMPCARD_Uptime.
Hoe doe ik dit op de juiste manier?
Ik krijg dan wel de juiste kaarten maar niet met al hun entries in TMPCARD_Uptime.
Het zoekwoord is denormalisatie.quote:Op dinsdag 26 januari 2010 15:40 schreef Darkomen het volgende:
[ code verwijderd ]
Ik heb een probleem met de bovenstaande query, hopelijk kunnen jullie helpen.
De eerste tabel TMPCARD is een tabel met gegevens van zo'n 1000 kaarten.
De 2 de tabel is een tabel gevuld door een scan, deze kijkt of de uptime van die kaart meer of minder is dan de uptime in TMPCARD.
Is het meer dan update hij TMPCARD.uptime
Is het minder dan plaatst hij ook een entrie in TMPCARD_Uptime
Wat ik wil is per pagina de 10 kaarten welke 2 of meer dan 2 entries hebben in TMPCARD_Uptime.
Hoe doe ik dit op de juiste manier?
Ik krijg dan wel de juiste kaarten maar niet met al hun entries in TMPCARD_Uptime.
En waarom?quote:Op woensdag 27 januari 2010 08:55 schreef GlowMouse het volgende:
[..]
Het zoekwoord is denormalisatie.
Dat komt vanzelf als je veel kaarten krijgt. TMPCARD_Uptime.timestamp ASC lijkt me trouwens geen geldig iets om op te sorteren, zo na die group by.quote:Op woensdag 27 januari 2010 09:26 schreef Darkomen het volgende:
[..]
En waarom?
Het is niet dat de query traag loopt
Waarom zou je een signed veld gebruiken als de waarde niet negatief kan zijn? Of kan die uptime wel negatief zijn?quote:Op woensdag 27 januari 2010 11:34 schreef Darkomen het volgende:
Edit: ah, ORDER BY cast( uptime AS unsigned ) , id ASC
Een varchar wordt alfabetisch gesorteerd. Dan komt 100 voor 17. Waarom niet gewoon een unsigned int gebruiken voor uptime?quote:Op woensdag 27 januari 2010 13:02 schreef Darkomen het volgende:
Nee die kan niet negatief zijn.
Het veld is een varchar(11), verder niks bijzonder.
Iemand?quote:Op dinsdag 26 januari 2010 11:28 schreef Chandler het volgende:
Een andere vraag m.b.t. een nieuw wachtwoord aanvragen voor gebruikers, ik zag ooit een script die je gemakkelijk kon misbruiken om een gebruiker 100000 emails te sturen voor aanvraag van een nieuw wachtwoord. Dit wil ik echter voorkomen.
Hoe zouden jullie dit oplossen? zelf zit ik te denken aan een veld in de gebruikerstabel met alleen de datum, dat men max 1x per dag een nieuw wachtwoord kunnen aanvragen, tenzijn nieuw wachtwoord gezet wordt dan wordt deze data weer in het verleden gezet. oid?
Jullie ideeen.
Als het goed is genereer je voor het versturen van een mail iets als een activatiecode waarmee de gebruiker een nieuw wachtwoord kan instellen. Ik doe het zelf zo dat zolang dat veld gevuld is in de database er geen nieuw wachtwoord aangevraagd kan worden. Dus:quote:
Zoiets, al zou ik de code binnen 24 uur laten verlopen.quote:Op donderdag 28 januari 2010 09:27 schreef Intrepidity het volgende:
[..]
Als het goed is genereer je voor het versturen van een mail iets als een activatiecode waarmee de gebruiker een nieuw wachtwoord kan instellen. Ik doe het zelf zo dat zolang dat veld gevuld is in de database er geen nieuw wachtwoord aangevraagd kan worden. Dus:
1. Gebruiker vraagt nieuw wachtwoord aan
2. Willekeurige activatiecode wordt gegenereerd en gemaild, hiermee kan de gebruiker een nieuw wachtwoord instellen
3. Gebruiker negeert mailtje
4. Gebruiker vraagt nogmaals een nieuw wachtwoord aan
Dit werkt in dit geval niet, omdat het eerste mailtje niet gebruikt is. Heeft de gebruiker een ander emailadres, of het mailtje niet ontvangen of iets dergelijks --> contact met support opnemen. Activatiecode wordt na 1 maand ongebruikt te zijn tevens vanzelf verwijderd.
quote:Op donderdag 28 januari 2010 21:49 schreef hello_moto1992 het volgende:
Ik gebruik PHP include om mijn HTML te includen. Maar nu staat deze in een map voor het bestand waar ik het include. Hoe verwijs ik dan toch naar die HTML? Include met URL is niet toegestaan.
1 2 3 4 | // Door de 2 puntjes ga je een map in de structuur omhoog include("../bestand.html"); ?> |
quote:If you are including a file from your own site, do not use a URL however easy or tempting that may be. If all of your PHP processes are tied up with the pages making the request, there are no processes available to serve the include. The original requests will sit there tying up all your resources and eventually time out.
Ik heb in veel applicaties meerdere functies zitten die een mail verzenden, waar functies als 'Wachtwoord vergeten' er één van is. Voor al die mailfuncties heb ik meestal een tabel met e-mail templates (moeten in 99% van de gevallen muteerbaar zijn), daarnaast heb ik nog een tabel waar ik bijhoud wanneer welk mailtje (a.h.v. een template ID) verzonden is. Op die manier kun je al redelijk eenvoudig een query op die tabel loslaten, om te kijken hoe vaak een zelfde mailtje al aangevraagd is. En desnoods limiteren als dat aantal te hoog is.quote:
Ik heb een settings tabel zo ingesteld:quote:Op vrijdag 29 januari 2010 06:57 schreef Chandler het volgende:
calamares; dus je hebt een class die per verzonden email een tabel up to date houdt m.b.t. controle/inzien verzonden emails?
verder nog gelijk een andere vraag; stel je hebt een site die je stap voor stap uitbreid en dat is tevens ook zo voor alle instellingen. Passen jullie dan steeds de tabel aan van de instellingen of zorgen jullie dat toevoegen van instellingen zonder het aanpassen van tabellen mogelijk is?
(hopelijk duidelijk genoeg)
1 2 3 | ------------------------ Test | Test2 |
1 2 3 4 5 6 7 8 9 | while ($row = mysql_fetch_array($result)) { echo "<tr>"; echo "<td>".$row['title']."</td>"; echo "<td><a href=\"http://www.test.nl/coppermine/thumbnails.php?album=".$row['aid']."\">link</a>"; echo "</tr>"; } ?> |
1 2 3 | echo "<td><a href=\"http://www.test.nl/coppermine/thumbnails.php?album=".$row['aid']."\">".$row['title']."</a>"; ?> |
Nieuwste of de eerste?quote:Op vrijdag 29 januari 2010 15:47 schreef hello_moto1992 het volgende:
Weet iemand toevallig wel hoe je met SQL het eerste resultaat 'overslaat'? Dus dat je bij de eerste 5 resultaten de nieuwste weglaat.
1 2 3 4 5 6 | SELECT `aid` , `title` FROM `il7o_albums` ORDER BY `aid` DESC LIMIT 0 , 3 ?> |
quote:Op vrijdag 29 januari 2010 15:47 schreef hello_moto1992 het volgende:
Weet iemand toevallig wel hoe je met SQL het eerste resultaat 'overslaat'? Dus dat je bij de eerste 5 resultaten de nieuwste weglaat.
Bron: http://dev.mysql.com/doc/refman/5.0/en/select.htmlquote:The LIMIT clause can be used to constrain the number of rows returned by the SELECT statement. LIMIT takes one or two numeric arguments, which must both be nonnegative integer constants (except when using prepared statements).
With two arguments, the first argument specifies the offset of the first row to return, and the second specifies the maximum number of rows to return. The offset of the initial row is 0 (not 1):
1 2 3 4 5 6 7 8 | while ($row = mysql_fetch_array($result)) { echo "<tr>"; echo "<td><a href=\"http://www.test.nl/coppermine/thumbnails.php?album=".$row['aid']."\">".$row['title']."</a>"; echo "</tr>"; } ?> |
Op zich een goed idee, alleen zit ik mij dan af te vragen hoe ik dit moet gaan realiseren als er ook gegevens zijn die langer dan 255 karakters bevatten, of juist alleen INT.quote:Op vrijdag 29 januari 2010 13:12 schreef Trollface. het volgende:
[..]
Ik heb een settings tabel zo ingesteld:
[ code verwijderd ]
Dit gaan dan wel over sitewide-instellingen.
Als er een instelling bijkomt, gewoon een INSERT INTO doen.
http://php.net/manual/en/function.substr.phpquote:Op vrijdag 29 januari 2010 16:01 schreef hello_moto1992 het volgende:
Ooh gewoon de LIMIT aanpassen dus
Thnx
Nu heb k eigenlijk nog iets waar k mee zit![]()
[ code verwijderd ]
Hier komt dus een link uitrollen. Deze mag echter maar een aantal tekens hebben. Dit kan met de functie wordwrap heb k al gezien. Maar hoe pas je zulkiets hier toe?
Nee, wel moeilijkerquote:Op vrijdag 29 januari 2010 16:46 schreef hello_moto1992 het volgende:
K snap er niks vanKan dat niet simpeler?
Wat is er moeilijk aan het copypasten van die functie?quote:Op vrijdag 29 januari 2010 16:46 schreef hello_moto1992 het volgende:
K snap er niks vanKan dat niet simpeler?
Als er functionaliteit bij komt in de vorm van een nieuw soort e-mail, dan is dat in mijn geval niet meer dan een record in de email-template tabel.quote:Op vrijdag 29 januari 2010 06:57 schreef Chandler het volgende:
calamares; dus je hebt een class die per verzonden email een tabel up to date houdt m.b.t. controle/inzien verzonden emails?
verder nog gelijk een andere vraag; stel je hebt een site die je stap voor stap uitbreid en dat is tevens ook zo voor alle instellingen. Passen jullie dan steeds de tabel aan van de instellingen of zorgen jullie dat toevoegen van instellingen zonder het aanpassen van tabellen mogelijk is?
(hopelijk duidelijk genoeg)
Wat is er moeilijk aan de substring (substr() ) functie? De eerste parameter is hetgeen dat je wilt in- of afkorten, de tweede is vanaf welke positie dit moet gebeuren, de derde is hoeveel karakters je vanaf die opgegeven positie wilt weergeven.quote:Op vrijdag 29 januari 2010 16:46 schreef hello_moto1992 het volgende:
K snap er niks vanKan dat niet simpeler?
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 | <?php $query = " SELECT `aid` , `title` FROM `il7o_albums` ORDER BY `aid` DESC LIMIT 1 , 3 "; $result = mysql_query($query)or die (mysql_error()); ?> <?php function _substr($str, $length, $minword = 3) { $sub = $row['title']; $len = ??????;; foreach (explode(' ', $str) as $word) { $part = (($sub != '') ? ' ' : '') . $word; $sub .= $part; $len += strlen($part); if (strlen($word) > $minword && strlen($sub) >= $length) { break; } } return $sub . (($len < strlen($str)) ? '...' : ''); } ?> <table border="0" cellpadding="0" cellspacing="0" style="color: white; font-size: 0.8em;"> <? while ($row = mysql_fetch_array($result)) { echo "<tr>"; echo "<td><a href=\"http://www.test.nl/coppermine/thumbnails.php?album=".$row['aid']."\">".$row['title']."</a>"; echo "</tr>"; } ?> </table> |
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 | <?php $query = " SELECT `aid` , `title` FROM `il7o_albums` ORDER BY `aid` DESC LIMIT 1 , 3 "; $result = mysql_query($query)or die (mysql_error()); ?> <?php function _substr($str, $length, $minword = 3) { $sub = $row['title']; $len = ??????;; foreach (explode(' ', $str) as $word) { $part = (($sub != '') ? ' ' : '') . $word; $sub .= $part; $len += strlen($part); if (strlen($word) > $minword && strlen($sub) >= $length) { break; } } return $sub . (($len < strlen($str)) ? '...' : ''); } ?> <table border="0" cellpadding="0" cellspacing="0" style="color: white; font-size: 0.8em;"> <? while ($row = mysql_fetch_array($result)) { echo "<tr>"; echo "<td><a href=\"http://www.test.nl/coppermine/thumbnails.php?album=".$row['aid']."\">"._substr($row['title'], 10, 5)."</a>"; echo "</tr>"; } ?> </table> |
Je zou nog kunnen proberen je defines tussen {} te zetten.quote:Op maandag 1 februari 2010 19:35 schreef ursel het volgende:
Hmmm.. Dacht slim te zijn door DEFINES in mijn tekst te plaatsen en alvorens de tekst te displayen deze eerst door een eval heen te gooien.
Blijkbaar kan eval alleen variabelen veranderen en geen defines.
Iemand andere suggesties?
Volgensmij snap ik je probleem niet echt. Je probeert doormiddel van eval een constante aan te passen? Waarom een constante gebruiken als deze niet vaststaat? Voor dat doel kun je net zogoed een globale variabele, of met OO smaakje een statische property gebruiken.quote:Op maandag 1 februari 2010 19:35 schreef ursel het volgende:
Hmmm.. Dacht slim te zijn door DEFINES in mijn tekst te plaatsen en alvorens de tekst te displayen deze eerst door een eval heen te gooien.
Blijkbaar kan eval alleen variabelen veranderen en geen defines.
Iemand andere suggesties?
Onlangs zijn we gestart om onze huidige omgeving ook in andere smaken te presenteren. Hangen allen onder andere URL, maar maken verder gebruik van exact dezelfde omgeving en code.quote:Op dinsdag 2 februari 2010 10:20 schreef Intrepidity het volgende:
[..]
Volgensmij snap ik je probleem niet echt. Je probeert doormiddel van eval een constante aan te passen? Waarom een constante gebruiken als deze niet vaststaat? Voor dat doel kun je net zogoed een globale variabele, of met OO smaakje een statische property gebruiken.
Kan je deze iets meer uit specificeren?quote:Op dinsdag 2 februari 2010 09:55 schreef Light het volgende:
[..]
Je zou nog kunnen proberen je defines tussen {} te zetten.
1 2 3 | define('NAME_FULL', 'Bedrijf B.V.'); ?> |
quote:Op dinsdag 2 februari 2010 12:09 schreef ursel het volgende:
[..]
Kan je deze iets meer uit specificeren?
Heb bijv. de volgende define:
[ code verwijderd ]
En in de tekst moet ik dan {NAME_FULL} plaatsen?
Dat werkt in ieder geval niet kan ik je vertellen. :')
1 2 3 | echo "Bedrijf: " . NAME_FULL; ?> |
Ja, dat zou wel makkelijk zijn als de teksten niet uit een database kwamen.quote:
Als je de tekst direct uit een database haalt, gaat {} sowieso niet werken hé.quote:Op dinsdag 2 februari 2010 12:20 schreef ursel het volgende:
[..]
Ja, dat zou wel makkelijk zijn als de teksten niet uit een database kwamen.
Dacht dat ik dat al gemeld had, maar blijkbaar niet.![]()
1 2 3 | $sTekst = str_replace("<<BEDRIJF_NAAM>>", FULL_NAME, $sTekst); ?> |
Mja, dat gebruiken we nu idd, echter willen we het meer onafhankelijk draaien zodat we niet voor elke define welke we gebruiken een str_replace moeten plaatsen.quote:Op dinsdag 2 februari 2010 12:22 schreef Trollface. het volgende:
[..]
Als je de tekst direct uit een database haalt, gaat {} sowieso niet werken hé.
Je kunt proberen <<BEDRIJF_NAAM>> o.i.d. in de tekst te pleuren en dan een str_replace() te doen:
[ code verwijderd ]
Die hadden we nog niet geprobeerd.....quote:Op dinsdag 2 februari 2010 12:52 schreef Intrepidity het volgende:
deze site schijnt er behoorlijk wat informatie over te hebben
alleen als ik probeer in te loggen krijg ik te zien gebruikersnaam niet geldigquote:<?php.
session_start();
$db = mysql_connect("localhost", "root", "root")
or die("kan geen verbinding maken: ".mysql_error());
mysql_select_db("medinfo",$db);
if (!EMPTY($_POST))
{
$nr = $_POST['nr'];
$ww = $_post['ww'];
$sql = "SELECT *
From personeel
Where pnaam= '$nr'
AND pwachtwoord = '$ww'";
$resultaat = mysql_query($sql);
if (mysql_num_rows($resultaat)>0)
{
while($rij = mysql_fetch_array($resultaat))
{
$_SESSION["pnaam"]=$rij["pnaam"];
$_SESSION["pwachtwoord"]=$rij["pwachtwoord"];
}
header("location: loginstart.php");
exit();
}
else
{
echo "<BR>";
echo "<HR>";
echo "Geen geldige inlog gegevens";
}
mysql_close($db);
}
else
{
?>
<html>
<head>
<title>Medinfo</title>
</head>
<form method="post" action="<?php echo $_SERVER["PHP_SELF"]?>">
<B><h1>Medinfo</h1><B><br>
na correct inloggen kun u uw gegevens opvragen<h3>
<br><br>
</center>
<pre>
Voer uw klantennummer in: <input type="text" name="nr" size="20" maxlenght="20">
<br><br>
Voer wachtwoord in: <input type="password" name="ww" size="20" maxlenght="20">
<br><br>
<input type = "submit" value = "inloggen">
<input type = "reset" value = "wissen">
</pre>
</form>
</body>
</html>
<?php
}
?>
ik bedoeldequote:Op vrijdag 5 februari 2010 10:03 schreef GlowMouse het volgende:
Die melding kan niet uit je script komen.
dat een user uniek moet zijn weet ikquote:Op vrijdag 5 februari 2010 10:14 schreef Civilian het volgende:
Dan nog..
Een user zou uniek moeten zijn, anders doe je toch al iets fout.
Dus waarom de while, en waarom een exit() in je while.. Dan gaat toch een beetje de hele functie verloren?
Beter gelijk goed beginnen dan het na die tijd aan te moeten passen en het risico te lopen dat het weer niet werktquote:Op vrijdag 5 februari 2010 10:21 schreef genakt het volgende:
[..]
dat een user uniek moet zijn weet ik
mjah daar gaat het nu niet om en het is niet de reden waarom hij het niet doet
$nr = $_POST['nr'];quote:Op vrijdag 5 februari 2010 10:32 schreef Civilian het volgende:
[..]
Beter gelijk goed beginnen dan het na die tijd aan te moeten passen en het risico te lopen dat het weer niet werkt
Maargoed, hoe heb je de passwords opgeslagen? Gecodeerd (md5 oid) of als normale string? Als je 't gecodeerd op hebt geslagen moet je er ook rekening mee houden dat je ze op die manier gaat vergelijken.
het is voor me examen dan hoef je dat helemaal niet te doen johquote:
als het niet hoeft waarom zou ik het dan doenquote:Op vrijdag 5 februari 2010 14:00 schreef Trollface. het volgende:
JUIST voor je examen zou ik je wachtwoord laten hashen.
Wat een kutexamenquote:Op vrijdag 5 februari 2010 14:02 schreef genakt het volgende:
[..]
als het niet hoeft waarom zou ik het dan doen
nog leuker degene die het nakijken hebben er van de 3 maar 1 echt verstand vanquote:
Via een omweg kan het ook:quote:Op maandag 8 februari 2010 16:45 schreef DaFan het volgende:
Ik heb een lastige (vind ik) SELECT query nodig in SQL.
Er is een tabel waar een persoon meerdere malen (ID, fullname) in voor kan komen.
Eén van de kolommen is soms NULL, soms niet.
Als deze ooit bij een ID not null is, dan wil ik nooit meer die ID terugzien.
Hoe kan ik dat maken? (Duidelijk genoeg?)
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 | `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `createdate` datetime NOT NULL, `editdate` datetime NOT NULL, `username` varchar(20) NOT NULL, `email` varchar(128) NOT NULL, `password` char(41) NOT NULL, `validation` char(12) NOT NULL, `banned` tinyint(4) NOT NULL DEFAULT '0', PRIMARY KEY (`id`), KEY `gebruikersnaam` (`username`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; CREATE TABLE IF NOT EXISTS `users_groups` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(50) NOT NULL, `lastupdate` datetime NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; CREATE TABLE IF NOT EXISTS `users_groups_link` ( `user_id` int(10) unsigned NOT NULL, `group_id` int(10) unsigned NOT NULL, `timestamp` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, KEY `gebruiker_id` (`user_id`,`group_id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; CREATE TABLE IF NOT EXISTS `users_groups_rights_link` ( `group_id` int(10) unsigned NOT NULL, `right_id` int(10) unsigned NOT NULL, KEY `groep_id` (`group_id`,`right_id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; CREATE TABLE IF NOT EXISTS `users_rights` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(50) NOT NULL, `value` varchar(50) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; CREATE TABLE IF NOT EXISTS `users_rights_link` ( `user_id` int(10) unsigned NOT NULL, `right_id` int(10) unsigned NOT NULL, `lastupdate` datetime NOT NULL, KEY `gebruiker_id` (`user_id`,`right_id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | `right_reply` int(11) unsigned NOT NULL, `right_read` int(11) unsigned NOT NULL, `right_start` int(11) unsigned NOT NULL, `right_banned` int(11) unsigned NOT NULL, `right_admin` int(11) unsigned NOT NULL, `id` tinyint(4) unsigned NOT NULL AUTO_INCREMENT, `index_id` tinyint(4) unsigned NOT NULL DEFAULT '0', `name` varchar(75) COLLATE latin1_general_ci NOT NULL DEFAULT '', `subname` char(3) COLLATE latin1_general_ci NOT NULL DEFAULT '', `subject` text COLLATE latin1_general_ci NOT NULL, `lastpost` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `topics` int(4) unsigned NOT NULL DEFAULT '0', `posts` int(4) unsigned NOT NULL DEFAULT '0', `fsort` tinyint(4) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`id`), KEY `index_id` (`index_id`), KEY `name` (`name`), KEY `fsort` (`fsort`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci; |
1 2 3 4 5 | `right_read` = 0 of ID+002 `right_start` = 0 of ID+003 `right_banned` = 0 of ID+004 `right_admin` = 0 of ID+005 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | SUM(amount_costs) as TotaalPens FROM hrcomp_trans inner join humres h with(nolock) on h.res_id=hrcomp_trans.res_id WHERE comp_code = 'PENSWG' and h.res_id=144 GROUP BY h.res_id, comp_code UNION SELECT h.res_id,comp_code, SUM(entry_amount) as TotaalPens FROM hrcomp_trans inner join humres h with(nolock) on h.res_id=hrcomp_trans.res_id WHERE comp_code = 'SALARIS' and h.res_id=144 GROUP BY h.res_id, comp_code |
1 2 3 | 144 PENSWG 25,14 144 SALARIS 2000 |
1 2 | (SELECT SUM(amount_costs) FROM hrcomp_trans where h.res_id=hrcomp_trans.res_id and comp_code='PENSWG') AS TotaalPensioen |
Je kunt er geen nieuwe kolommen mee maken, alleen bestaande kolommen transformeren tot nieuwe gegevens. Die kolommen bestaan uiteraard niet meer na het uitvoeren van de query.quote:Op dinsdag 9 februari 2010 14:38 schreef DaFan het volgende:
Nvm;
[ code verwijderd ]
Ik wist niet dat je met Sub-SELECTS nieuwe kolommen kon maken
Weer wat geleerd.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |