abonnement Unibet Coolblue
pi_77285195
Ik wil een waarde selecteren uit een database waarbij de waarde field_id een float is. Dit is mijn query:

1SELECT * FROM tabel where field_number = 5.3;


Er komt echter geen resultaat terug uit de database. Heb al vanalles geprobeer:

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;
SELECT * FROM tabel where field_number = '5.3';


Maar het werkt allemaal niet! Iemand een idee hoe deze query moet draaien?
pi_77285649
Waarom is call-by-reference deprecated tegenwoordig?
Als ik een parameter aan een closure meegeef met de ampersand ervoor krijg ik
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
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?
pi_77291818
quote:
Op dinsdag 26 januari 2010 12:23 schreef Intrepidity het volgende:
Waarom is call-by-reference deprecated tegenwoordig?
Omdat dit (als ik het goed heb vernomen) in PHP 5.x standaard gebeurt en dus is de ampersand niet meer nodig.
pi_77291864
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.
Alleen met objecten afaik, niet met simpele typen.

1
2
3
4
5
6
7
8
9
10
11
<?php
echo phpversion() . "<br />";
$i 3;
foo($i);
echo 
$i;

function 
foo($i)
{
   
$i++;
}
?>

Resultaat:
quote:
5.3.0
3
In 5.3.0 is dat zondermeer niet het geval
pi_77292161
Ik snap 'm al Je moet je functie definieren met een ampersand, en deze vervolgens niet meer gebruiken in je aanroep.

Levert WEL een warning op:
1
2
3
4
5
6
7
8
9
<?php
$i 
3;
foo(&$i);

function 
foo($i)
{
  
$i++;
}
?>


Levert GEEN warning op en werkt wel met een referentie:
1
2
3
4
5
6
7
8
9
<?php
$i 
3;
foo($i);

function 
foo(&$i)
{
  
$i++;
}
?>
pi_77293506
1
2
3
4
5
6
7
SELECT *
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


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.

[ Bericht 1% gewijzigd door Darkomen op 26-01-2010 15:52:31 ]
pi_77320572
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?
is dit nog gelukt?
want probeer tijdennr anders tussen quotes te zetten (enkele).
Probeer anders even uit te testen met Phpmyadmin zat het alvast uit te zoeken maar ik kom niet echt ergens op problemen.
Redacted
pi_77320600
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.
ipv het sterretje in de select probeer eens de velden apart te benoemen in de select.
is het probleem nu dat je velden mist? of dat je alleen enkele kaarten hebt?
Want de GROUP BY methode zorgt er namelijk voor dat alle kaarten bijelkaar groupeert worden op TMPCARD_Uptime.ip en als ik van dat ip Meerdere kaarten wil zien dan wil dat niet.
Redacted
  woensdag 27 januari 2010 @ 08:55:33 #134
75592 GlowMouse
l'état, c'est moi
pi_77322546
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.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_77323205
quote:
Op woensdag 27 januari 2010 08:55 schreef GlowMouse het volgende:

[..]

Het zoekwoord is denormalisatie.
En waarom?
Het is niet dat de query traag loopt, ik wil enkel pagina;s toevoegen ipv 1 hele lange lijst.

Ik ga het anders doen, ik pak de hoofdtabel en zoek daar later wel de updates bij.
  woensdag 27 januari 2010 @ 10:09:43 #136
75592 GlowMouse
l'état, c'est moi
pi_77324303
quote:
Op woensdag 27 januari 2010 09:26 schreef Darkomen het volgende:

[..]

En waarom?
Het is niet dat de query traag loopt
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.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_77327158
Joins en verder mysql kennis hebik helaas nog niet, vandaar de vragen.
Ik dacht dat ik zoiets simpels als hieronder wel kon...

SELECT * FROM TMPCARD WHERE uptime<='172800'
Waarom krijg ik hier ook hogere waarden terug?
Bijvoorbeeld 10000930

Volgens mij is 10000930 toch echt groter dan 172800


Edit: ah, ORDER BY cast( uptime AS unsigned ) , id ASC

[ Bericht 13% gewijzigd door Darkomen op 27-01-2010 12:01:08 ]
pi_77329035
quote:
Op woensdag 27 januari 2010 11:34 schreef Darkomen het volgende:

Edit: ah, ORDER BY cast( uptime AS unsigned ) , id ASC
Waarom zou je een signed veld gebruiken als de waarde niet negatief kan zijn? Of kan die uptime wel negatief zijn?
pi_77330894
Nee die kan niet negatief zijn.
Het veld is een varchar(11), verder niks bijzonder.
pi_77337532
Weet iemand of er een manier is om te zorgen dat een record maar 1x uit een tabel wordt opgevraagd? Soort van SELECT en UPDATE/DELETE (om te laten zien dat het record al afgehandeld is) tegelijk..
pi_77338550
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.
Een varchar wordt alfabetisch gesorteerd. Dan komt 100 voor 17. Waarom niet gewoon een unsigned int gebruiken voor uptime?
pi_77339926
Bedankt, ik weet niet elke eigenschap van de verschillende velden.
Een verkeerde keuze van mij dus.
Het is nu aangepast, eens kijken wat ik er mee kan.

Edit: niks dus, krijg nu 1 entrie terug terwijl er echt veeeel meer zijn met meer dan 2 records in de 2de tabel.

[ Bericht 27% gewijzigd door Darkomen op 27-01-2010 16:45:01 ]
pi_77364719
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.
Iemand?
Just say hi!
pi_77366205
quote:
Op donderdag 28 januari 2010 07:01 schreef Chandler het volgende:

[..]

Iemand?
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.
pi_77367852
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.
Zoiets, al zou ik de code binnen 24 uur laten verlopen.

mijn probleem heb ik mogeljik opgelost met

SELECT *
FROM TMPCARD_Uptime
INNER JOIN TMPCARD ON ( TMPCARD_Uptime.cardid = TMPCARD.id )
GROUP BY TMPCARD_Uptime.serial
HAVING count(TMPCARD_Uptime.cardid) >=2
ORDER BY TMPCARD_Uptime.timestamp ASC
LIMIT 0,10
pi_77394780
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.
pi_77394974
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
<?php
// Door de 2 puntjes ga je een map in de structuur omhoog
include("../bestand.html");
?>


En ookal zou je HTTP-includes kunnen gebruiken, nooit doen, omdat:
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.


[ Bericht 15% gewijzigd door Intrepidity op 28-01-2010 22:02:45 ]
pi_77401653
quote:
Op donderdag 28 januari 2010 07:01 schreef Chandler het volgende:

[..]

Iemand?
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.
pi_77403900
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 )
Just say hi!
  vrijdag 29 januari 2010 @ 13:12:18 #150
254493 Trollface.
gr rob fruithof, groningencity
pi_77413425
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 )
Ik heb een settings tabel zo ingesteld:
1
2
3
NAME    |      VALUE
------------------------
Test    |      Test2


Dit gaan dan wel over sitewide-instellingen.
Als er een instelling bijkomt, gewoon een INSERT INTO doen.
★5731U★ Death from above '79★You're a woman, i'm a machinielsie ★ ✠ ★ Telkens weer een beetje sterven★ I was born in a winterstorm, i live there still★
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')