abonnement Unibet Coolblue
  dinsdag 22 juni 2010 @ 11:01:04 #176
25889 Sitethief
Fulltime Flapdrol
pi_83135174
Kijk eens hier: [CSS] voor dummies #14
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht >:)
  dinsdag 22 juni 2010 @ 14:27:53 #177
110933 F4T4L_3RR0R
R.I.P. webicon ;(
pi_83142806
Bestaat er iets in PHP waarmee ik alleen de eerste regel kan uitlezen? Zonder te exploden?

Voorbeeld van de input:

1
2
3
4
5
DIT IS REGEL 1
DIT IS REGEL 2

DIT IS REGEL 3
DIT IS REGEL 4

Ik wil alleen regel 1 hebben.
Een ballonvaarder die door de mand valt is nooit grappig...
  dinsdag 22 juni 2010 @ 14:34:38 #178
91039 mstx
2x1/2 = 1/2 x 1/2
pi_83143077
quote:
Op dinsdag 22 juni 2010 14:27 schreef F4T4L_3RR0R het volgende:
Bestaat er iets in PHP waarmee ik alleen de eerste regel kan uitlezen? Zonder te exploden?

Voorbeeld van de input:
[ code verwijderd ]

Ik wil alleen regel 1 hebben.
Uit een bestand of uit een string?
Indien bestand: http://nl2.php.net/manual/en/function.fgets.php ?
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
  dinsdag 22 juni 2010 @ 14:37:42 #179
110933 F4T4L_3RR0R
R.I.P. webicon ;(
pi_83143191
Edit:

Bericht weggehaald, even nieuwe ideeën gekregen.

[ Bericht 61% gewijzigd door F4T4L_3RR0R op 22-06-2010 23:51:25 ]
Een ballonvaarder die door de mand valt is nooit grappig...
pi_83146434
Ben bezig met een website welke ook in het Russisch moet kunnen worden weergegeven.

Ik zit nu even vast met de rewrites. De pagina's in de huidige site in het nederlands heb ik zo aangemaakt:
1RewriteRule ^nl/contact/$                ?p=contact&taal=31


Nu wil ik in het russisch ook de pagina contact oproepen, en moet er in de adresbalk het volgende komen:
/ru/контакт/

Dus ik heb met het russiche woord geencode, en het zo in de htacces gezet:
1RewriteRule ^ru/%D0%BA%D0%BE%D0%BD%D1%82%D0%B0%D0%BA%D1%82/$                ?p=contact&taal=7


Maar dan krijg ik een 404. Hoe moet ik dat russische woord opslaan?
pi_83164051
Ziet iemand wat er hier aan de hand is?
1Could not execute query: INSERT INTO users (device_token, expiration_date, language, device_identifier) VALUES ('c4ca4238a0b923820dcc509a6f75849b', '2010-08-13', 'en', 'eccbc87e4b5ce2fe28308fd9f2a7baf3') ('c81e728d9d4c2f636f067f89cc14862c', '2010-08-13', 'en', 'a87ff679a2f3e71d9181a67b7542122c') You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '('c81e728d9d4c2f636f067f89cc14862c', '2010-08-13', 'en', 'a87ff679a2f3e71d9181a6' at line 1


Het gekke is dat precies dezelfde query het eerst wel deed.
pi_83164309
Iets leesbaarder:
1
2
3
4
5
Could not execute query: INSERT INTO users (device_token, expiration_date, language, device_identifier)
VALUES ('c4ca4238a0b923820dcc509a6f75849b', '2010-08-13', 'en', 'eccbc87e4b5ce2fe28308fd9f2a7baf3')
('c81e728d9d4c2f636f067f89cc14862c', '2010-08-13', 'en', 'a87ff679a2f3e71d9181a67b7542122c')
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version
for the right syntax to use near '('c81e728d9d4c2f636f067f89cc14862c', '2010-08-13', 'en', 'a87ff679a2f3e71d9181a6' at line 1


Er mist een komma na de eerste set values.
values (...), (...)
pi_83164324
Oke, dit is heel vreemd. Ik kan blijkbaar niet meer dan 1000 entries in mn database gooien.

Mijn volledige code:

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
<?php

$db->execQuery('DELETE FROM users');
$db->execQuery('ALTER TABLE users AUTO_INCREMENT = 0');

$query = 'INSERT INTO users (device_token, expiration_date, language, device_identifier) VALUES';

$start = 0;
$count = 20000;
for ($i = $start; $i < $start + $count; $i++)
{
   $device_token = md5($i);
   $identifier = md5($i + $count);
   $query .= sprintf(' (%s, %s, %s, %s)', $db->smartQuote($device_token), $db->smartQuote('2010-08-13'), $db->smartQuote('en'), $db->smartQuote($identifier));
   if ($i + 1 < $count) $query .= ',';
}

try
{
   $db->execQuery($query);
}
catch (Exception $e)
{
   echo $e->getMessage();
}

echo $query;

?>


Met deze code krijg ik de volgende foutmelding:
1Could not execute query: INSERT INTO users (device_token, expiration_date, language, device_identifier) VALUES ('cfcd208495d565ef66e7dff9f98764da', '2010-08-13', 'en', 'd9798cdf31c02d86b8b81cc119d94836'), ('c4ca4238a0b923820dcc509a6f75849b', '2010-08-13', 'en', '2383c7d07bce3c82e6da7741782de416'),


Verander ik de $count naar 1000 dan werkt het prima. Verander ik het naar 1500 dan werkt het óók, maar dan staan er alsnog maar 1000 entries in de table! Ik heb een primary key 'id' met auto_increment, voor de rest zijn device_token, device_identifier en expiration_date allemaal indexes.
  dinsdag 22 juni 2010 @ 21:29:35 #184
63192 ursel
"Het Is Hier Fantastisch!
pi_83164384
Volgens mij moet er een komma tussen je 2 values blokken
INSERT INTO table (kolom) VALUES (1), (2);
pi_83164525
Dom, dom, dom. Er staan wel degelijk 1500 entries in de table, mijn SQL app laat standaard maar 1000 zien.

Echter blijft het probleem zich voordoen als ik 20.000 entries in 1x wil invoeren. Heeft dit met geheugen ofzo te maken?
pi_83164563
quote:
Op dinsdag 22 juni 2010 21:28 schreef Light het volgende:
Iets leesbaarder:
[ code verwijderd ]

Er mist een komma na de eerste set values.
values (...), (...)
Dat was 'm inderdaad, thanks. Maar ik heb nu een nieuw probleem
  dinsdag 22 juni 2010 @ 21:33:14 #187
152303 hamkaastosti
ook bekend als hamkaastosti
pi_83164615
moet die laatste , d'r niet af?
Tom Jones zong ooit...
she's got style she's got grace, takes a cumshot to the face, she's a lady
laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
pi_83164814
1
2
3
4
5
6
7
for ($i = $start; $i < $start + $count; $i++)
{
   $device_token = md5($i);
   $identifier = md5($i + $count);
   $query .= sprintf(' (%s, %s, %s, %s)', $db->smartQuote($device_token), $db->smartQuote('2010-08-13'), $db->smartQuote('en'), $db->smartQuote($identifier));
   if ($i + 1 < $count) $query .= ',';
}

Dat stukje is wat foutgevoelig.

Alternatief, waarbij je niet na hoeft te denken over wel/geen komma:
1
2
3
4
5
6
7
for ($i = $start; $i < $start + $count; $i++)
{
   $device_token = md5($i);
   $identifier = md5($i + $count);
   $values[] = sprintf(' (%s, %s, %s, %s)', $db->smartQuote($device_token), $db->smartQuote('2010-08-13'), $db->smartQuote('en'), $db->smartQuote($identifier));
}
$query .= implode(', ', $values);
pi_83164820
quote:
Op dinsdag 22 juni 2010 21:33 schreef hamkaastosti het volgende:
moet die laatste , d'r niet af?
Sorry, beetje onduidelijk. De query gaat nog heeel lang door, ik heb 'm ff ingekort. Maar je kan aan de PHP code zien dat het een juiste query oplevert. Dat moet ook, want bij $count = 10.000 werkt het, maar bij $count = 20.000 niet meer.
pi_83165022
quote:
Op dinsdag 22 juni 2010 21:36 schreef retorbrapi het volgende:

[..]

Sorry, beetje onduidelijk. De query gaat nog heeel lang door, ik heb 'm ff ingekort. Maar je kan aan de PHP code zien dat het een juiste query oplevert. Dat moet ook, want bij $count = 10.000 werkt het, maar bij $count = 20.000 niet meer.
Maar de foutmelding begint met "Could not execute query: ". Meestal staat er dan aan het eind (na de query) nog meer info over waarom die query niet kon worden uitgevoerd. Geheugen zou kunnen, maar je kunt er natuurlijk ook meer queries van maken om dat probleem op te lossen.
pi_83165178
Ik weet niet wat ik heb gedaan, maar ik krijg opeens dit:
1Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 19000105 bytes) in /Users/retorbrapi/Sites/test/mysql.php on line 57

Toch geheugen dus. Meerdere queries is inderdaad een oplossing. Dank voor de hulp.
  dinsdag 22 juni 2010 @ 23:55:05 #192
110933 F4T4L_3RR0R
R.I.P. webicon ;(
pi_83173846
Ik vraag me af hoe ik de complete inhoud van een explode kan echoën. Heb het ooit geweten, maar weet het even niet meer.

Dus met echo $exploded, dat je dan het volgende krijgt:

1
2
3
4
[0] BLA
[1] BLA
[2] BLA
[3] BLA


Is het volgende trouwens te combineren naar een regel toe? $eersteregel heb ik voor de rest niet nodig.

1
2
3
4
<?php
$eersteregel 
explode("\n"$body);
$alarmering explode(" - "$eersteregel[0]);
?>


Bijvoorbeeld:

1
2
3
<?php
$alarmering 
explode(" - "explode("\n"$body));
?>


Bovenstaande werkt niet, maar ik zoek iets in die richting.
Een ballonvaarder die door de mand valt is nooit grappig...
pi_83174047
1print_r($eersteregel);
?
  woensdag 23 juni 2010 @ 00:35:09 #194
110933 F4T4L_3RR0R
R.I.P. webicon ;(
pi_83175700
Nee, was iets anders.
Een ballonvaarder die door de mand valt is nooit grappig...
pi_83175768
var_dump() ?
  woensdag 23 juni 2010 @ 01:15:44 #196
110933 F4T4L_3RR0R
R.I.P. webicon ;(
pi_83176857
quote:
Op woensdag 23 juni 2010 00:37 schreef Light het volgende:
var_dump() ?
Jaaaaaa, dat is 'm.

Iemand nog enig idee of je 2 explodes kan combineren in 1 regel?
Een ballonvaarder die door de mand valt is nooit grappig...
pi_83179574
Ja, dat kan niet.
De functie heeft een waarde nodig, en uit de 1e explode komt een array. Je moet dus iets doen als array[0].

Overigens staat hier prima uitgelegd hoe de functie werkt, en wat er voor input verwacht wordt
http://php.net/manual/en/function.explode.php
pi_83181993
met server[script_name]

kan ik op 1 of andere manier ook de included file filepath eruit krijgen in plaats van de index file filepath?
pi_83182614
Heb je iets aan __FILE__ ?
(magische constante, underscore-underscore-FILE-underscore-underscore)
pi_83184027
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')