abonnement Unibet Coolblue
  woensdag 20 januari 2010 @ 07:25:16 #101
113667 Keiichi
Konnichiwa!
pi_77040657
Ik ben in MySQL lekker aan het stoeien met subquery's. Maar bij het eerste de beste wat ik maak duurt het 15 minuten voordat ik resultaat heb

Mijn query:
1SELECT `w` FROM `w` WHERE `w`.`w` IN (SELECT `werknummer` FROM `w` WHERE  GROUP BY w HAVING COUNT(*) > 1);


Een EXPLAIN levert dit op:
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              |
+----+--------------------+-------+-------+---------------+------+---------+------+-------+--------------------------+


Is MySQL niet zo geweldig met subqueries of doe ik ergens iets heel raars?

De echte tabelnamen en veldnamen heb ik even afgekort, maar hoeft niets voor de query uit te maken.
pi_77042329
Het lijkt er op dat er een index ontbreekt in de tabel.
  woensdag 20 januari 2010 @ 10:33:30 #103
75592 GlowMouse
l'état, c'est moi
pi_77043529
waarom is WHERE in je subquery leeg?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  woensdag 20 januari 2010 @ 10:42:16 #104
113667 Keiichi
Konnichiwa!
pi_77043793
quote:
Op woensdag 20 januari 2010 10:33 schreef GlowMouse het volgende:
waarom is WHERE in je subquery leeg?
Oh foutje. Daar stond een kleine verfijning van: "WHERE `w` != 1" . Vergeten ook de WHERE weg te halen
  woensdag 20 januari 2010 @ 10:44:57 #105
75592 GlowMouse
l'état, c'est moi
pi_77043889
Geef je hele tabel is, want ik zie niet waarom w en werknummer aan elkaar gelijk moeten zijn
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  woensdag 20 januari 2010 @ 10:47:12 #106
75592 GlowMouse
l'état, c'est moi
pi_77043960
Zoals je hem post, lijkt het ook geen dependent subquery.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  woensdag 20 januari 2010 @ 11:48:40 #107
25889 Sitethief
Fulltime Flapdrol
pi_77046089
Wat is een simpele manier om een object dat uit simplexml_load_file komt in een array te zetten.
Ik gebruik nu get_object_vars maar dat komt er dan zo uit te zien:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Array
(
    [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.
                )

Terwijl ik eigenlijk een array wil hebben die begint met id 1,2,3 etc. Dit is een beetje omslachtig om iedere keer output te geven.

Dit is de XML:
1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0"?>
<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>
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  vrijdag 22 januari 2010 @ 19:43:09 #108
110933 F4T4L_3RR0R
R.I.P. webicon ;(
pi_77152563
Ik heb een PHP scriptje welke een SMS API included.

De berichten staan in $sms met een substr met 160 karakters limiet.

Nu wil ik de berichten ook "Tweeten" op mijn Twitter account. Heb al een substr genaamd $twitter met een 140 karakters limiet.

Alleen, hoe post ik dit op mijn Twitter account? De API's die ik op internet heb gevonden zijn veel te uitgebreid en vaak ook bedoeld om "Tweets" van anderen op te halen en weer te geven op een website.

Voor mijn doel hoeft er helemaal niets opgehaald of ge-echo'd te worden.
Een ballonvaarder die door de mand valt is nooit grappig...
  vrijdag 22 januari 2010 @ 19:45:39 #109
75592 GlowMouse
l'état, c'est moi
pi_77152677
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  vrijdag 22 januari 2010 @ 20:05:13 #110
110933 F4T4L_3RR0R
R.I.P. webicon ;(
pi_77153546
Dus in mijn geval dus:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
// 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_handleCURLOPT_URL"$url");
curl_setopt($curl_handleCURLOPT_CONNECTTIMEOUT2);
curl_setopt($curl_handleCURLOPT_RETURNTRANSFER1);
curl_setopt($curl_handleCURLOPT_POST1);
curl_setopt($curl_handleCURLOPT_POSTFIELDS"status=$twitter");
curl_setopt($curl_handleCURLOPT_USERPWD"$username:$password");
curl_close($curl_handle);
?>
Een ballonvaarder die door de mand valt is nooit grappig...
  vrijdag 22 januari 2010 @ 20:32:34 #111
110933 F4T4L_3RR0R
R.I.P. webicon ;(
pi_77154646
Het gekke is dat dit niet werkt:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
// 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_handleCURLOPT_URL"$url");
curl_setopt($curl_handleCURLOPT_CONNECTTIMEOUT2);
curl_setopt($curl_handleCURLOPT_RETURNTRANSFER1);
curl_setopt($curl_handleCURLOPT_POST1);
curl_setopt($curl_handleCURLOPT_POSTFIELDS"status=$twitter");
curl_setopt($curl_handleCURLOPT_USERPWD"$username:$password");
curl_close($curl_handle);
?>


En dit juist weer wel, maar wil geen echo:

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
<?php
// 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_handleCURLOPT_URL"$url");
curl_setopt($curl_handleCURLOPT_CONNECTTIMEOUT2);
curl_setopt($curl_handleCURLOPT_RETURNTRANSFER1);
curl_setopt($curl_handleCURLOPT_POST1);
curl_setopt($curl_handleCURLOPT_POSTFIELDS"status=$twitter");
curl_setopt($curl_handleCURLOPT_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';
}
?>


Edit:

Fixed:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
// 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_handleCURLOPT_URL"$url");
curl_setopt($curl_handleCURLOPT_CONNECTTIMEOUT2);
curl_setopt($curl_handleCURLOPT_RETURNTRANSFER1);
curl_setopt($curl_handleCURLOPT_POST1);
curl_setopt($curl_handleCURLOPT_POSTFIELDS"status=$twitter");
curl_setopt($curl_handleCURLOPT_USERPWD"$username:$password");
curl_exec($curl_handle);
curl_close($curl_handle);
?>
Een ballonvaarder die door de mand valt is nooit grappig...
pi_77206784
Ik post hier even.. want ik heb straks een vraag..
Op vrijdag 12 augustus 2005 01:46 schreef ElisaB het volgende:
Wat is SHERMAN leuk he Bloes O+
pi_77206854
Dan reserveer ik hierbij alvast een plekkie om het antwoord te posten
pi_77207627
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..?
Op vrijdag 12 augustus 2005 01:46 schreef ElisaB het volgende:
Wat is SHERMAN leuk he Bloes O+
pi_77227604
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?
Just say hi!
pi_77229020
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?
Waarom wil je weten of een sessie al gestart is?
pi_77229077
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 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.

[ Bericht 9% gewijzigd door Intrepidity op 24-01-2010 22:38:33 ]
pi_77229561
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..?
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.
pi_77239903
quote:
Op zondag 24 januari 2010 22:15 schreef Light het volgende:
Waarom wil je weten of een sessie al gestart is?
Een projectje
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.
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?
Just say hi!
pi_77240785
Ligt het nou aan mij of doet een doodnormale ORDER BY ASC precies wat je wilt?
pi_77280035
Nee, probeer het maar eens
Just say hi!
pi_77280311
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.
Ik ga is even kijken of ik hier wat mee kan... Misschien dat ik nog met andere vragen kom..

Thanks in elk geval!
Op vrijdag 12 augustus 2005 01:46 schreef ElisaB het volgende:
Wat is SHERMAN leuk he Bloes O+
  dinsdag 26 januari 2010 @ 09:41:41 #123
46383 Tiemie
sowieso wel!
pi_77280911
quote:
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?
Casten naar een int, op die waarde sorteren
1
2
3
SELECT veld, CAST( veld AS UNSIGNED) As order_veld
FROM table
ORDER BY order_veld ASC

http://dev.mysql.com/doc/(...)s.html#function_cast
pi_77282777
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
Ik zie niet waarom je zou moeten casten naar int. Stringsortering gaat (met de voorbeeldwaarden) ook goed.
pi_77283764
Hmm, dan loop ik de code nog eens door en kijk ik of ik toch een ASC oid? ben vergeten

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.
Just say hi!
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')